Коллекция предсказаний
Сначала давайте подгоним базовую модель:
ds | y | |
---|---|---|
141 | 1960-10-01 | 461 |
142 | 1960-11-01 | 390 |
143 | 1960-12-01 | 432 |
Получение последнего прогноза df
Мы можем получить датафрейм с последним прогнозом для анализа данных.
ds | y | yhat1 | |
---|---|---|---|
0 | 1960-10-01 | 461.0 | 463.035004 |
1 | 1960-11-01 | 390.0 | 410.434906 |
2 | 1960-12-01 | 432.0 | 439.753998 |
Количество шагов перед включением последнего прогноза. Здесь мы включаем 5 шагов перед последним прогнозом.
ds | y | yhat6 | yhat5 | yhat4 | yhat3 | yhat2 | yhat1 | |
---|---|---|---|---|---|---|---|---|
0 | 1960-05-01 | 472.0 | 476.862457 | None | None | None | None | None |
1 | 1960-06-01 | 535.0 | 531.84314 | 527.112732 | None | None | None | None |
2 | 1960-07-01 | 622.0 | 579.601501 | 576.99292 | 590.679077 | None | None | None |
Исторические данные могут быть включены, однако учтите, что размер df может быть большим.
ds | y | yhat1 | |
---|---|---|---|
0 | 1949-01-01 | 112.0 | None |
1 | 1949-02-01 | 118.0 | None |
2 | 1949-03-01 | 132.0 | None |
Собирайте прогнозы в выборке
Прогнозы отсортированы по цели прогноза
При вызове метода predict
мы получаем df_forecast
, где каждый 'yhat<i>'
относится к предсказанию на <i>
шагов вперед для даты и времени этой строки в качестве цели. Здесь <i>
обозначает "возраст" предсказания.
например, yhat3
- это прогноз для этой даты и времени, сделанный 3 шага назад, он "устарел на 3 шага".
Обратите внимание на то, что в последней строке 1961-3-01
присутствует только прогноз yhat3
, который был сделан на последнем месте с данными 1960-12-01
. Поскольку у нас отсутствуют входные данные после этой точки, у нас нет более свежих прогнозов yhat1
от 1961-2-01
или yhat2
от 1961-1-01
.
Мы также получаем отдельные компоненты прогноза, которые также относятся к их соответствующему вкладу в yhat<i>
, прогнозируемому <i>
шагов назад.
Компоненты без добавленного числа зависят только от времени или от будущих регрессоров, не имеют запаздывания, и поэтому представляют собой единичное значение.
ds | y | yhat1 | residual1 | yhat2 | residual2 | yhat3 | residual3 | ar1 | ar2 | ar3 | trend | season_yearly | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
141 | 1960-10-01 | 461.0 | 464.689362 | 3.689362 | 467.748444 | 6.748444 | 474.838562 | 13.838562 | -217.455673 | -214.396606 | -207.306473 | 702.886719 | -20.741653 |
142 | 1960-11-01 | 390.0 | 409.214203 | 19.214203 | 408.547119 | 18.547119 | 417.346649 | 27.346649 | -265.351379 | -266.018463 | -257.218933 | 709.864075 | -35.298515 |
143 | 1960-12-01 | 432.0 | 424.255768 | -7.744232 | 441.038513 | 9.038513 | 440.375763 | 8.375763 | -306.486664 | -289.703949 | -290.366669 | 716.616394 | 14.12606 |
Прогнозы на основе начала прогноза
При вызове predict_raw
мы получаем df
, где каждый 'step<i>'
относится к прогнозу на <i>
шагов вперёд, начиная с даты и времени этой строки. Здесь <i>
обозначает, на сколько шагов вперёд направлен прогноз.
Например, step0
- это прогноз на эту дату и время. step1
- это прогноз на следующие дату и время.
Все прогнозы для определенной строки были сделаны за один шаг до даты строки.
ds | step0 | step1 | step2 | |
---|---|---|---|---|
136 | 1960-10-01 | 464.689362 | 408.547119 | 440.375763 |
137 | 1960-11-01 | 409.214203 | 441.038513 | 459.443207 |
138 | 1960-12-01 | 424.255768 | 446.244385 | 455.264343 |
Обратите внимание, что последняя строка содержит последний возможный прогноз. Прогнозируется 1961-1-01
, 1961-2-01
и 1961-3-01
на основе данных, доступных на 1960-12-01
.
Установка параметра decompose=True
позволит включить отдельные компоненты прогноза, которые также относятся к их соответствующему вкладу в прогнозирование на step<i>
шагов вперед.
ds | step0 | step1 | step2 | trend0 | trend1 | trend2 | season_yearly0 | season_yearly1 | season_yearly2 | ar0 | ar1 | ar2 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
136 | 1960-10-01 | 464.689362 | 408.547119 | 440.375763 | 702.886719 | 709.864075 | 716.616394 | -20.741653 | -35.298515 | 14.126060 | -217.455673 | -266.018463 | -290.366669 |
137 | 1960-11-01 | 409.214203 | 441.038513 | 459.443207 | 709.864075 | 716.616394 | 723.593689 | -35.298515 | 14.126060 | 5.574303 | -265.351379 | -289.703949 | -269.724792 |
138 | 1960-12-01 | 424.255768 | 446.244385 | 455.264343 | 716.616394 | 723.593689 | 730.571045 | 14.126060 | 5.574303 | -30.433420 | -306.486664 | -282.923584 | -244.873322 |
Собирайте прогнозы вне выборки
Вот как вы можете прогнозировать будущее, которое неизвестно:
Теперь датафрейм с прогнозами содержит только предсказания о еще не наблюдаемом будущем.
ds | y | |
---|---|---|
3 | 1960-11-01 | 390 |
4 | 1960-12-01 | 432 |
5 | 1961-01-01 | None |
6 | 1961-02-01 | None |
7 | 1961-03-01 | None |
Прогнозы на основе прогнозируемой цели
ds | y | yhat1 | residual1 | yhat2 | residual2 | yhat3 | residual3 | ar1 | ar2 | ar3 | trend | season_yearly | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | 1961-01-01 | NaN | 453.751007 | NaN | None | NaN | None | NaN | -275.416962 | None | None | 723.593689 | 5.574303 |
6 | 1961-02-01 | NaN | None | NaN | 463.336273 | NaN | None | NaN | None | -236.801361 | None | 730.571045 | -30.43342 |
7 | 1961-03-01 | NaN | None | NaN | None | NaN | 522.325989 | NaN | None | None | -191.955765 | 736.87323 | -22.591486 |
Прогнозы на основе начала прогноза
Мы также можем получить прогнозы на основе начала прогноза. Здесь каждый stepX
относится к X шагам от даты
ds | step0 | step1 | step2 | |
---|---|---|---|---|
0 | 1961-01-01 | 453.751007 | 463.336273 | 522.325989 |
Last updated