Пакет greybox для R

Hexagon for greybox

На днях я разместил в CRAN новый пакет — greybox (серый ящик). Идея названия произрастает из принципов моделирования, в соответствии с которыми все модели могут быть условно разделены на три типа:

  1. Чёрный ящик — модель, в которой неизвестны ни структура, ни параметры. Мы видим только входной и выходной сигналы
  2. Белый ящик — модель, в которой известно всё. Можно сказать, что это детерминированная модель, в ней нет никакой случайности, и всё предопределено.
  3. Серый ящик — нечто среднее, между предыдущими двумя. Фактически это и есть та самая стохастическая модель, с которой мы обычно имеем дело в прогнозировании.

Так что пакет greybox, фактически может включать в себя всё, что угодно, связанное с моделированием. Однако акцент в нём будет сделан на процессе построении регрессионных моделей и выборе объясняющих переменных.

Этот пакет мне оказался нужным по нескольким причинам:

  1. У меня накопилось несколько функций, которые не подходили к другим пакетам (в т.ч. к пакету smooth). Они все так или иначе относятся к регрессиям и к построению моделей;
  2. Мои исследования и работа в университете в последнее время оказываются связанными с регрессиями и выбором наилучшей модели. Для этого нужны разные функции (например, для комбинирования моделей), и мне оказалось проще написать одну свою, нежели использовать несколько из разных пакетов.
  3. В CRAN не нашлось пакетов для выбора моделей и последующего использования их в прогнозировании, которые полностью меня бы устраивали. Кроме того, мне не нравится тяга многих пакетов к p-values и проверке статистических гипотез. Мы живём в 21 веке, и уже существуют другие инструменты для выбора моделей и анализа результатов.

Поэтому я решил, что надо сделать свой пакет с теми функциями, которые нужны мне, реализованными в том виде, в каком я считаю их необходимыми.

На данный момент в пакет перекочевали функции xregExpander() и stepwise() из пакета smooth, а так же функция ro() из пакета TStools. На тему первых двух на сайте уже была отдельная статья, а по поводу работы третьей можно почитать в виньетах пакета (к сожалению, только на английском).

Пакет будет развиваться и обновляться, а я буду периодически писать о том, как всё это движется.

Comments (2):

Добавить комментарий