Первый этап: реализация первой модели прогнозирования
Разработка моделей прогнозирования начинается с выбора первой модели. Сейчас моделей много, материалов в открытом доступе на эту тему много. Обычно человек находит или что-то знакомое по университетским лабораториям (если оные были), или просто понятную статью, из которой ясно, как сделать первую версию модели.
Что важно на этом этапе?
- Не бояться изучать программирование вместе с математикой, так как гибкие, точные и удобные алгоритмы проще написать самому, чем взять чужой, часто неудобный и его приладить к своей задаче.
- Выбирать из моделей одну из популярных моделей (рекомендация ARIMAX, ANN), потому как их популярность является прямым следствием их эффективности, а также удобства разработки и использования.
Второй этап: доработка первой модели прогнозирования
По завершению первого этапа, то есть реализации своей первой модели, человек начинает ее накручивать. Причем процесс идет сугубо экстенсивно: он хочется все большее число нюансов учесть в модели, все больше исключений или нетиповых операций ввести в программный код.
Что важно на этом этапе?
- Всегда следить за точностью прогноза. Сделал нововведение, тестируй — стало ли точнее? Сделал еще одно нововведение, тестируй! Нововведений появляются десятки, одно нововведение начинает влиять на другое, модель получается перегруженная, алгоритмы громоздкие, а в результатах начинает преобладать эффект overfitted (слишком подогнанная модель). Со временем удобство использования падает, так как модель все дольше считается. Рано или поздно обязательно наступает момент, когда добавление дюжины нововведений не повышают точности совсем.
- Из всей этой экстенсивной работы, из всех исключений и нововведений, как золото из песка, нужно намыть то, что действительно повышает точность. Для того, чтобы это сделать, нужно на время остановиться и подумать, чтобы после на все нагроможденное «великолепие» программного кода взглянуть свежим взглядом. Именно в этой точке формируется первый значительный опыт разработки моделей.
Намыв золота, т.е. сократив алгоритм и сделав первый приемлемый вариант расчета, стоит остановиться и успокоиться! Вы — молодец!
Если ошибка есть величина требующая постоянной работы (например, изменяется характер временного ряда, требуется предельная точность и т.п.), то работа над алгоритмами скоро продолжится.
Третий этап: повтор первых двух этапов — продвинутая версия
Продолжение работы будет иметь характер второй итерации: берем первый «золотой» вариант алгоритма и начинаем в нем производить изменения. Изменения вносятся уже более грамотно, взвешено, эффективно — работа уже имеет интенсивный характер. Со временем получаем «навороченный золотой алгоритм», который со временем снова становится громоздок. После мы уже в «золотом песке» должны намыть «бриллиантов». И дальше до бесконечности… ибо нельзя прогнозировать с ошибкой, равной нулю.
Что важно на этом этапе?
- Самое главное, чтобы между одной версией модели и другой, человек успевал переключаться, отвлекаться и отдыхать. Именно свежеть и ясность восприятия позволяют рождать новые идеи для развития модели.
- Кроме того важно, чтобы человек не зацикливался на одной модели. Очень важно смотреть по сторонам: изучать другие модели, другие постановки задачи, пробовать их реализовывать, находить сильные и слабые стороны тех или иных моделей.
Совершенно все модели могут дать идею для развития одной конкретной модели, созданной для конкретной задаче. Надо лишь иметь свежий взгляд!
Erstellung der Vorhersagemodelle beginnt mit der Wahl des ersten Modells. Zur Zeit existieren sehr viele Modelle, gibt es genug Literatur im offenen Zugang. Gewohnlich lauft es so, dass der Entwickler anfanglich etwas nimmt, was ihm aus der Universitatszeit bekannt ist, oder einen verstandlichen Artikel, aus dem klar wird, wie die erste Version des Modells zu erstellen ist.
Was ist auf dieser Etappe wichtig?
Am Ende der ersten Entwicklungsstufe (Fertigstellung des ersten Modells) kann der Entwickler das Modell verfeinern und anpassen. Dieser Prozess verlauft ausserst extensiv: der Entwickler mochte mehr Nuancen und Ausnahmen im Modell erfassen und untypische Operationen in Programmcode einfuhren.
Was ist auf dieser Etappe wichtig?
Wenn genug "Gold gefiltert wird", Algorithmen gekurzt werden und erste tragbare Ergebnisse bereits erzielt sind, sollte man aufhoren und sich entspannen. Sie haben eine gute Arbeit geleistet! Wenn der Vorhersagefehler eine variable Grosse ist, die standige Anpassung des Modells benotigt (z.B. Datencharakter andert sich, Grenzgenauigkeit erzielt wird usw.), dann wird die Entwicklung bald fortgesetzt.
Diese Fortsetzung bildet die zweite Iteration: erste "goldene" Variante des Algorithmus wird genommen und angepasst. Die Anpassungen werden uberlegener und effektiver aufgenommen, die Arbeit tragt dabei intensiven Charakter. Mit der Zeit entsteht daraus ein "verkomplizierter goldener Algorithmus", der mit der Zeit wiederum sperrig wird. Danach mussen wir schon aus dem "goldenen Sand" die "Diamanten" gewinnen. Und so geht es immer wieder weiter, weil eine Vorhersagefehler gleich Null nicht existiert.
Was ist auf dieser Etappe wichtig?
Vollkommen verschiedene Modelle konnen eine Idee geben fur Entwicklung eines konkreten Modells fur eine konkrete Aufgabe. Es ist nur notwendig einen frischen Blick zu haben!
... и в продолжение темы (взгляд скорее с перспективы data mining):
Ловушки при создании моделей прогнозирования: Чего делать не нужно
Кратко:
1. Примеры частых ошибок в моделях прогнозирования
2. Прочие ловушки
Подробнее:
1. Примеры частых ошибок в моделях прогнозирования
Overfitting
Нерепрезентативные данные
Недостаточная подготовка данных
Недоработка топологии модели
2. Прочие ловушки