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
我希望这能回答你的问题。
我有一个包含 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 |
我希望这能回答你的问题。