На днях я разместил в CRAN новый пакет — greybox (серый ящик). Идея названия произрастает из принципов моделирования, в соответствии с которыми все модели могут быть условно разделены на три типа:
- Чёрный ящик — модель, в которой неизвестны ни структура, ни параметры. Мы видим только входной и выходной сигналы
- Белый ящик — модель, в которой известно всё. Можно сказать, что это детерминированная модель, в ней нет никакой случайности, и всё предопределено.
- Серый ящик — нечто среднее, между предыдущими двумя. Фактически это и есть та самая стохастическая модель, с которой мы обычно имеем дело в прогнозировании.
Так что пакет greybox, фактически может включать в себя всё, что угодно, связанное с моделированием. Однако акцент в нём будет сделан на процессе построении регрессионных моделей и выборе объясняющих переменных.
Этот пакет мне оказался нужным по нескольким причинам:
- У меня накопилось несколько функций, которые не подходили к другим пакетам (в т.ч. к пакету smooth). Они все так или иначе относятся к регрессиям и к построению моделей;
- Мои исследования и работа в университете в последнее время оказываются связанными с регрессиями и выбором наилучшей модели. Для этого нужны разные функции (например, для комбинирования моделей), и мне оказалось проще написать одну свою, нежели использовать несколько из разных пакетов.
- В CRAN не нашлось пакетов для выбора моделей и последующего использования их в прогнозировании, которые полностью меня бы устраивали. Кроме того, мне не нравится тяга многих пакетов к p-values и проверке статистических гипотез. Мы живём в 21 веке, и уже существуют другие инструменты для выбора моделей и анализа результатов.
Поэтому я решил, что надо сделать свой пакет с теми функциями, которые нужны мне, реализованными в том виде, в каком я считаю их необходимыми.
На данный момент в пакет перекочевали функции xregExpander() и stepwise() из пакета smooth, а так же функция ro() из пакета TStools. На тему первых двух на сайте уже была отдельная статья, а по поводу работы третьей можно почитать в виньетах пакета (к сожалению, только на английском).
Пакет будет развиваться и обновляться, а я буду периодически писать о том, как всё это движется.
Ну чо такое … без примеров …..
Несколько примеров есть вот тут: https://cran.r-project.org/web/packages/greybox/vignettes/greybox.html — а вообще я готовлю пару статей на тему конкретных функций из пакета. Так что, может быть, скоро появятся на сайте.