В ходе решения задачи для предсказание курса биткоина BTC/USD из исторических данных, пришло понимание, какой должна быть вычислительная система, с помощью которой можно построить желаемую модель. Этот vision захотелось описать для уважаемого Хабра-мира и таким образом понять, насколько это действительно интересно для текущей реальности.


Итак, мы рассматриваем некоторую задачу в статистическом сеттинге. Это означает, что у нас есть некоторый набор данных, для простоты, цены BTC/USD от времени. Допустим, мы ставим следующую цель: построить оценку на среднее значение цены BTC/USD на следующий день, такую, чтобы заданный функционал качества был минимален. В простейшем случае, в качестве функционала качества можно взять сумму значений отклонения фактического среднего значения от предсказанного значения, взятое по модулю и нормированную на фактическое значение.


Как оказалось, и что — неудивительно, модель для предсказания построить относительно несложно. Еще точнее, как правило, для такой задачи появляется огромная масса моделей, которые могут отличаться как значением настроечных параметров, так и количеством внутренних степеней свободы и другими внутренними структурами. Поэтому решение задачи сводится к следующей задаче: статистически корректно выбрать лучшую модель из имеющегося множества моделей.


Для решения такой задачи и нужна система для статистического вывода, которую хочется иметь:


  • в систему нужно задавать модель, описывать настроечные параметры и задавать данные, на которых модель будет оцениваться (обучаться). Использованные данные не будут использоваться в тестировании этой модели;
  • для множества моделей нужно задавать критерий качества, через вычисления которого модели будут статистически сравниваться;
  • при сравнении моделей нужно отрабатывать критерии ложно-положительного / ложно-отрицательноного вывода (когда данных для выводы либо мало, либо сравнение невозможно из-за статистической ошибки).

Главная особенность системы: ее выводы будут статистически обоснованы (в рамках имеющейся информации) и, в соответствии с математической статистикой, будут асимптотически сходится к истинно верному значению при увеличении количества независимых данных.


На вскидку, эта система будет полезна для большого класса задач, в том числе для тестирования моделей, построенным с использования технологий Машинного обучения.


И, если...


  • такая система уже есть и доступна (с реалистичным learning curve), то нужно бежать ею пользоваться;
  • такой системы еще нет, то нужно садиться её делать.

Послесловие


  1. Как часто бывает в жизни, истинный размер сложности задачи становится понятен, когда в проблему погружаешься уже достаточно глубоко…
  2. Пример модели предсказания курса биткоина BTC/USD на следующий день можно посмотреть тут.