【问题标题】:Ensure consistent time indexing in statsmodels predict确保 statsmodels predict 中的一致时间索引
【发布时间】:2013-01-26 19:19:26
【问题描述】:

我正在尝试将 AR(1) 模型拟合到 Pandas 时间序列并向前推进。数据为年度数据,每年从 4 月 1 日开始。当我使用statsmodels.tsa.ar_model.AR.predict 从估计模型中进行预测时,输出是 Pandas 时间序列,年度预测以 12 月 31 日为中心。

代码:

mod1 = sm.tsa.AR(ser['1972-01-04':'2007-01-04'], freq='A')
res1 = mod1.fit(order=1)
fcast1 = res1.predict('2007-01-04', '2018-01-04')
print fcast1

输出:

2007-12-31     988.121031
2008-12-31    1035.640294
2009-12-31    1081.584720
...

我可以使用 predict 方法来创建索引于 4 月 1 日的时间序列,还是必须在创建预测序列后重新索引它?我希望能够将它与数据框中的其他系列进行比较,因此索引非常重要。

感谢您的帮助!

【问题讨论】:

  • 令人兴奋的是,第二行给了我一个分段错误(!)
  • 嗯,在 pandas 0.10.1 和 statsmodels 0.4.3 上为我运行。作为 Stack Overflow 的新手,是不是我在我的问题中遗漏了一些重要的内容?
  • 我的错误,它运行正常。 :)

标签: python pandas time-series statsmodels


【解决方案1】:

不,目前没有,但您应该可以在下一个版本中使用。修复应该相当简单。与我编写 TSA 基础架构时相比,pandas 时间序列的东西相对较新,我只是没有机会赶上。要做的事太多了。

https://github.com/statsmodels/statsmodels/issues/319

【讨论】:

  • 感谢您告诉我。我只是想确保在我放弃之前我想错过一些非常明显的东西。
  • 没问题。我很确定你可以在结果中添加一个 pandas 偏移量,以便在你想要的日期重新定位,但显然这是次优的。如果你愿意,你可以关注这个问题。我希望尽快修复它。我的优先级列表早就被提升了。
猜你喜欢
  • 1970-01-01
  • 2021-12-19
  • 2012-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-27
相关资源
最近更新 更多