ExponentialSmoothing - 预测每日数据

ExponentialSmoothing - forecast daily data

我有一个包含 2015 年至 2019 年 (31/12/2019) 5 年每日数据的文件,我需要预测 2021 年的每日值; 我使用 statsmodels.tsa.holtwinters.ExponentialSmoothing,直到现在我还能够通过预测 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 的系列提供给 ExponentialSmoothing,则您可以使用预测函数预测任何日期,并且具有频率集。 AirPassengers 数据的频率设置为月开始。 AirPassengers 中包含的数据适用于 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')

您将得到如下输出:

0
2021-05-01 00:00:00 431.792
2021-06-01 00:00:00 431.792
2021-07-01 00:00:00 431.792
2021-08-01 00:00:00 431.792

我希望这能回答你的问题。