我有一个文件,价值5年的每日数据从2015年到2019 (31/12/2019)我需要预测2021年的每日价值;我使用statsmodels.tsa.holtwinters.指数平滑,直到现在我还能预测2019年和2020年。有可能预测2021年而不预测2020年吗?
这是我在代码方面所拥有的:
fit1 = ExponentialSmoothing(train[colval],seasonal_periods=730,trend=trend, seasonal=seasonal,).fit()
prediction_result = fit1.forecast(365)
有了上面的代码,预测也正好在训练数据集之后开始,正常吗?
这就是我如何分割数据的方式:2015-2018年列车和2019年测试
您可以使用预测函数来预测任何日期,如果您将基于datetimeindex
的系列喂给ExpenentialSmoothing
,同时训练频率设置。航空乘客数据的频率设置为每月开始。航空乘客中包含的数据1949 - 1960。
详情请参阅以下范例:
import pandas as pd
df = pd.read_csv('AirPassengers.csv')
df['Month'] = pd.to_datetime(df['Month'])
df = df.set_index('Month')
from statsmodels.tsa.api import ExponentialSmoothing
es = ExponentialSmoothing(df).fit()
es.predict('2021-05-01', '2021-08-01')
您将获得以下输出: