【问题标题】:Time series - correlation and lag time时间序列 - 相关性和滞后时间
【发布时间】:2014-10-08 20:32:30
【问题描述】:

我正在研究一组输入变量和响应变量价格之间的相关性。这些都是时间序列。

1) 是否有必要平滑输入变量为周期性(自回归)的曲线?如果是这样,怎么做?

2)一旦建立相关性,我想准确量化输入变量如何影响响​​应变量。 例如:“一旦 X 增加 >10%,那么 6 个月后 y 增加 2%。”

我应该查看哪些 python 库来实现这一点 - 特别是找出两个相关事件之间的延迟时间

示例:

我已经看过:statsmodels.tsa.ARMA,但它似乎只处理随着时间的推移预测一个变量。在scipy 中,协方差矩阵可以告诉我相关性,但无助于计算滞后时间。

【问题讨论】:

  • 意识到这更像是一个统计问题而不是 python 编程问题,我也在 CrossValidated 中寻求帮助。当我找出答案时会再次在这里发布!

标签: python statistics time-series correlation


【解决方案1】:

虽然部分问题更多地基于统计数据,但关于如何在 Python 中执行此操作的部分似乎在这里很重要。我看到您已经决定在 R 中执行此操作,因为您查看了您在 Cross Validated 上的问题,但如果您决定回到 Python,或者为了其他人发现这个问题的利益:

我认为您在查看 statsmodels.tsa 时处于正确的位置,但它不仅仅是 ARMA 包:

http://statsmodels.sourceforge.net/devel/tsa.html

特别是,请查看 statsmodels.tsa.vector_ar 以对多变量时间序列进行建模。它的文档可在此处获得:

http://statsmodels.sourceforge.net/devel/vector_ar.html


上面的页面指定它用于处理固定时间序列 - 我认为这意味着删除趋势和任何季节性或周期性。以下链接最终为预测模型做好了准备,但它讨论了用于构建模型的 Box-Jenkins 方法,包括使其静止:

http://www.colorado.edu/geography/class_homepages/geog_4023_s11/Lecture16_TS3.pdf

您会注意到该链接讨论了寻找自相关 (ACF) 和偏自相关 (PACF),然后使用 Augmented Dickey-Fuller 检验来测试序列现在是否是平稳的。这三个工具都可以在 statsmodels.tsa.stattools 中找到。同样,statsmodels.tsa.arma_process 有 ACF 和 PACF。

上面的链接还讨论了使用 AIC 等指标来确定最佳模型; statsmodels.tsa.var_model 和 statsmodels.tsa.ar_model 都包括 AIC(以及其他度量)。使用 select_order 似乎使用相同的度量来计算 var_model 中的滞后顺序。


此外,pandas 库至少部分集成到 statsmodels 中,并且本身具有大量时间序列和数据分析功能,因此可能会引起人们的兴趣。时间序列文档位于此处:

http://pandas.pydata.org/pandas-docs/stable/timeseries.html

【讨论】:

  • 补充一点:VAR 方法还提供脉冲响应函数,这通常是查看系统中的变量如何响应包括跨变量在内的冲击的时间路径的主要工具。
猜你喜欢
  • 2016-07-03
  • 1970-01-01
  • 2021-07-06
  • 2019-11-03
  • 2018-04-15
  • 2021-10-04
  • 2017-12-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多