Продолжите работу над данными из лабораторной работы №3: загрузите в рабочую область предобработанные обучающие и тестовые данные о солнечной активности, а также максимальные оценки параметров p, P, q, Q (а также d и D).
Используя библиотеку statsforecast (и классы AutoARIMA и StatsForecast), инициализируйте подготовку к обучению модели ARIMA/SARIMA. Используя метод StatsForecast.cross_validation(...), выполните кросс-валидацию временного ряда. Постройте на основе работы кросс-валидации график "Ошибка vs время" (rolling forecast error plot). Проанализируйте его и дайте заключение о качестве предсказательной способности моделей.
Если модели будут считаться очень долго, можно поступить одним из двух способов:
1. уменьшить количество данных в обучающей выборке (отбросить данные, сильно удаленные от настоящего), в данном случае нужно контролировать, чтобы несколько сезонов обязательно попали в вашу выборку, причем их количество должно быть не менее max(P, Q);
2. выполнить группировку частоты дискретизации временного ряда (допустим, исходные данные были по дням, а мы хотим сделать недельные данные, в течение недели данные усредняются, получается новая частота дискретезации), в таком случае нужно заново пересчитать оценки параметров D, d, Q, q, P, p и выполнить исследование стационарности (фактически, нужно сделать группировку, потом ЛР №3, а потом данную работу).
Отберите лучшие параметры на основе построенной таблицы (это можно сделать, заново обучив модель AutoARIMA на данных, для которых выполнялась кросс-валидация).
Используя лучшие параметры, постройте модель ARIMA/SARIMA из библиотеки statsmodels. Выведите .summary() (получится большая таблица со статистическими оценками параметров модели). Проанализируйте результирующую модель (все ли коэффициенты значимы и попадают в необходимые интервалы). Также постройте .plot_diagnostics(): проанализируйте графики ошибок и сделайте вывод, случайны ли они.
Вычислите метрики качества лучшей модели: MAE, MSE, MAPE, SMAPE. Постройте график истинных значений временного ряда и предсказанных: наложите их друг на друга. Также визуализируйте ошибки с течением времени (разницу истинного и предсказанного значения).