关于能源预测时间序列的 ARMA/ARIMA:奇怪的预测

数据挖掘 机器学习 Python
2021-09-21 23:49:33

我正在尝试将 ARMA/ARIMA 与statsmodel Python 包一起使用,以预测气体消耗。我尝试使用这种格式的数据集:

用这种格式

仅使用气柱。

from pandas.tseries.offsets import *

arma_mod20 = sm.tsa.ARMA(januaryFeb[['gas [m3]']], (5,3)).fit()
predict_sunspots = arma_mod20.predict('2012-01-13', '2012-01-14', dynamic=True)
ax = januaryFeb.ix['2012-01-13 00:00:00':'2012-01-15 22:00:00']['gas [m3]'].plot(figsize=(12,8))
ax = predict_sunspots.plot(ax=ax, style='r--', label='Dynamic Prediction');
ax.legend();

结果

为什么预测这么差?

2个回答

我不是时间序列方面的专家,但我有一个一般性建议:我建议您尝试其他包(和各种参数),看看结果是否有任何差异。

此外,除非您必须使用 ,否则Python我建议您查看用于时间序列分析R的广泛生态系统:请参阅http://www.statmethods.net/advstats/timeseries.htmlhttp://cran。 r-project.org/web/views/TimeSeries.html

特别是,您可能需要检查标准stats包(包括函数arima()arima0),以及其他一些包:FitARMAhttp://cran.r-project.org/web/packages/FitARMA),forecasthttp://cran .r-project.org/web/packages/forecast)和以教育为中心的fArma(cran.r-project.org/web/packages/fArma),仅举几例。我希望这是有帮助的。

气体使用具有每日周期,但也有 ARIMA 可能无法捕获的次要每周和每年周期。

工作日和周六数据之间存在非常明显的差异。尝试为一周中的每一天创建数据子集,或将数据拆分为工作日和周末并应用模型。

如果您可以获取同一时期的温度数据,请检查温度和燃气使用量之间是否存在相关性。

正如@Aleksandr Blekh 所说,R 确实为 ARIMA 模型提供了很好的软件包