【发布时间】:2019-12-11 00:18:24
【问题描述】:
我正在尝试使用 Holt 的线性方法来预测一些数据。
- 创建了一些数据
- 将其分为训练和测试
- 训练模型
- 预测
- 绘图
除非我想用 7 元素训练集运行程序,否则效果很好。如果我以其他方式划分数据,则可以使用。
使用:windows10、Anaconda、Spyder、python3.7
from statsmodels.tsa.holtwinters import Holt
import matplotlib.pyplot as plt
import pandas as pd
data= [50, 48, 47, 45, 43, 40, 38, 35, 33, 32, 30, 28, 27, 26, 25 ]
df= pd.DataFrame(data)
# working # throwing error
# for 2<a<7 & 7<a<14 # for a=7 ONLY
############################################################
df_train= df[:a] # df_train= df[:a]
df_test= df[a:] # df_test= df[a:]
model = Holt(df_train).fit(smoothing_level=1, smoothing_slope=1) # this is throwing error
preted = model.forecast(steps= len(df_test))
plt.plot(df,'-o', preted, '--or')`
文件 "C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\tsa\holtwinters.py", 第 889 行,合适 优化=优化)
文件 "C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\tsa\holtwinters.py", 第 594 行,合适 use_boxcox=use_boxcox, lamda=lamda, remove_bias=remove_bias)
文件 "C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\tsa\holtwinters.py", 第 735 行,在 _predict 中 aicc = aic + (2 * (k + 2) * (k + 3)) / (self.nobs - k - 3)ZeroDivisionError: 除以零
【问题讨论】:
标签: python python-3.x statsmodels forecasting