如何将频率信息添加到 ARIMA 模型中的日期索引

How to add frequency information to date index in ARIMA model

以下代码的错误消息:已提供日期索引,但它没有关联的频率信息,因此将被忽略,例如预测。

model = sm.tsa.statespace.SARIMAX(train_data, trend='c', order=(1,1,2))
fitted = model.fit(disp=False)
print(fitted.summary())

之前,我的数据(历史股票价格)已使用以下代码解析

dateparse = lambda dates: pd.datetime.strptime(dates, '%Y-%m-%d')
tsla = pd.read_csv('TSLA_5.csv',sep=',',index_col='Date', parse_dates=['Date'], date_parser=dateparse).fillna(0)
tsla.head()

datetime 似乎不包含频率信息,因此我们需要添加自己的信息。我应该添加什么?

您可以使用 DataFrame.index.freq 属性 进行设置。例如,对于您设置的每日数据 tsla.index.freq = "D" 或每周数据 tsla.index.freq = "W"

您可以在此处找到偏移量:

https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

但请注意,这只有在您的数据严格遵循此频率时才有效。例如,如果您错过了一天,这将不会真正起作用,您需要估算您的数据或使用自定义偏移量。