У меня есть pandas таймсерий y
, который плохо работает с функциями statsmodel
.
import statsmodels.api as sm
y.tail(10)
2019-09-20 7.854
2019-10-01 44.559
2019-10-10 46.910
2019-10-20 49.053
2019-11-01 24.881
2019-11-10 52.882
2019-11-20 84.779
2019-12-01 56.215
2019-12-10 23.347
2019-12-20 31.051
Name: mean_rainfall, dtype: float64
Я проверяю, что это действительно таймсерий
type(y)
pandas.core.series.Series
type(y.index)
pandas.core.indexes.datetimes.DatetimeIndex
Отсюда я могу без проблем передавать таймсерию через функцию автокорреляции, которая дает ожидаемый результат
plot_acf(y, lags=72, alpha=0.05)
Однако, когда я пытаюсь передать тот же самый объект y
в SARIMA
mod = sm.tsa.statespace.SARIMAX(y.mean_rainfall, order=pdq, seasonal_order=seasonal_pdq)
results = mod.fit()
, я получаю следующую ошибку:
Дата index был предоставлен, но он не имеет связанной информации о частоте и поэтому будет проигнорирован, например, при прогнозировании.
Проблема в том, что частота моих временных рядов не является регулярной (это 1, 10, и 20 числа каждого месяца), поэтому я не могу установить, например, freq='m'
или freq='D'
. Какое решение в этом случае?
Я новичок в использовании таймсерий, мне помогут любые советы о том, как не игнорировать мой индекс во время прогнозирования. Это предотвращает возможность любых прогнозов