Прогнозирование - это вероятностное предсказание будущего с использованием исторических данных и неких предположениях о будущих событиях, которые могут повлиять на наши прогнозы. Это определение полно обещаний, и нам, очень часто хочется немедленно начать прогнозировать, и делать это с почти идеальной точностью. Однако существуют важные этапы, которые необходимо пройти, прежде чем перейти непосредственно к прогнозированию.
На рисунке выше представлена упрощенная схема того, как может выглядеть полный проект прогнозирования. Обратите внимание, что эти шаги не являются универсальными, и они могут быть выполнены или не выполнены в зависимости от ваших задач и умений. Тем не менее, эти шаги необходимы для обеспечения качества прогноза.
Давайте подробнее разберем каждый этап проекта прогнозирования.
Формулируем задачу
Самый первый шаг в любой осознанной человеческой деятельности - это постановка цели. Нет цели, нет результата, ну или ф большинстве случаев нет, если хотите.
Определяем что должно быть спрогнозировано для решения нашей задачи
После того как задача поставлена нам нужно определить какой параметр мы должны предсказать.
Определяем горизонт прогнозирования
Теперь нам нужно задать горизонт прогноза, установить на сколько в будущее будет устремлен наш прогноз.
Получение данных
Затем нам нужно приступить приступить к сбору данных. Мы должны собрать исторические данные, и получить информацию о том какие события/закономерности могут произойти/оказаться в интервале нашего прогноза. Здесь возникает вопрос о том, сколько данных достаточно. В идеале необходимо собрать максимально возможное количество данных. Но иногда целесообразнее использовать некий ограниченный вариант.
Давайте взглянем на индекс волатильности BTC имея в виду что мы планируем спрогнозировать возможный диапазон колебания этого индекса на ближайшие два месяца.
Понятно что данные 2020, 2021 и первой половины 2022 года вряд ли будут полезны при нашем горизонте прогнозирования и нам для нашего прогноза достаточно будет взять исторические данные за последний год.
В конечном итоге, нет однозначного ответа относительно количества данных, необходимых для обучения модели. Определение этого параметра является частью экспериментального процесса построения модели, оценки ее эффективности и проверки того, улучшает ли увеличение количества данных эффективность модели прогнозирования.
Разработка модели прогнозирования
Имея на руках исторические данные, мы готовы к разработке модели прогнозирования. Вот про это мы и планируем с вами поговорить весьма подробно и обстоятельно.
Какую бы модель мы не разработали, мы будете использовать часть обучающих данных в качестве тестового набора для оценки эффективности вашей модели. Тестовый набор всегда будет состоять из самых последних точек данных, и он должен быть репрезентативным для горизонта прогнозирования.
Запускаем процесс прогнозирования
Как только мы решили какая модель прогнозирования подойдет для нашей задачи и наших данных больше, мы должны начать процесс прогнозирования. В рамках данного цикла наша модель будет представлять из себя открытый и хорошо задокументированный код на Python доступный вам. В конечном итоге мы будем считать модель запущенной, когда любой пользователь сможет ввести данные в типизированном формате на вход кода и получать прогнозы без каких-либо ручных манипуляций с данными.
Оцениваем процесс прогнозирования
Получив прогнозные данные мы должны будем из сравнить с фактическими данными явления. Это позволит нам определить качество прогнозов модели. Такой мониторинг нужно вести постоянно. Результаты этого мониторинга нужно оформлять в хорошо документированные и структурированные отчеты. Это позволит в дальнейшем исследовать некие закономерности расхождения данных модели и фактических.
Кроме этого, такой учет результатов прогнозирования укажет вам та тот случай если наша модель, по той или иной причине перестанет выполнять свою функцию.
Это и будет Сравнением прогноза с реальными данными.
Следите за продолжением.