首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Statsmodels ETSModel get_prediction遇到错误

Statsmodels ETSModel get_prediction遇到错误
EN

Stack Overflow用户
提问于 2020-09-02 06:18:42
回答 1查看 168关注 0票数 0

我正在尝试通过StatsModels ETSModel从霍尔特·温特斯时间序列模型中获得预测区间。有人能帮我找出哪里出了问题吗?

代码语言:javascript
运行
复制
fit1 = ETSModel(x_train, seasonal_periods=7, trend='add', seasonal='mul', damped_trend=True).fit()
fcst = fit1.get_prediction(start=current_date, end=current_date + np.timedelta64(6,'D'))

我得到以下错误:

代码语言:javascript
运行
复制
File "C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\tsa\exponential_smoothing\ets.py", line 2078, in get_prediction
    **simulate_kwargs,

  File "C:\ProgramData\Anaconda3\lib\site-packages\statsmodels\tsa\exponential_smoothing\ets.py", line 2234, in __init__
    start : (end + 1)

ValueError: could not broadcast input array from shape (0) into shape (7)

这是输入:

代码语言:javascript
运行
复制
x_train
Out[24]: 
ds
2020-08-04    1027.0
2020-08-05    1813.0
2020-08-06    2157.0
2020-08-07    3070.0
2020-08-08    2968.0
2020-08-09    2083.0
2020-08-10    1762.0
2020-08-11    1755.0
2020-08-12    1788.0
2020-08-13    2266.0
2020-08-14    3272.0
2020-08-15    2768.0
2020-08-16    1869.0
2020-08-17    1940.0
2020-08-18    1673.0
2020-08-19    1821.0
2020-08-20    2293.0
2020-08-21    2802.0
2020-08-22    2604.0
2020-08-23    1843.0
2020-08-24    1758.0
2020-08-25    1393.0
2020-08-26    1612.0
2020-08-27    2165.0
2020-08-28    2898.0
2020-08-29    2471.0
2020-08-30    2297.0
Freq: D, dtype: float64

current_date
Out[25]: numpy.datetime64('2020-09-01')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-02 11:13:42

如果开始日期晚于数据集的结束日期,则这看起来像是get_prediction的错误。我建议你在https://github.com/statsmodels/statsmodels/issues/new?template=bug_report.md上提交一份错误报告。

同时,看起来您需要将start设置为与数据集中的最后日期相等(例如,在您给出的示例中为2020-08-30 ),然后手动将结果子集为仅来自current_date的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63696165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档