时间序列 - 相关性和滞后时间

Fre*_*Fre 5 python statistics time-series correlation

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

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

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

我应该考虑哪些Python库来实现这一点——特别是找出两个相关事件之间的滞后时间

例子: 在此输入图像描述

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

Jo *_*ass 5

虽然问题的一部分更多地是基于统计的,但关于如何在 Python 中做到这一点的部分似乎很适合这里。我发现您通过查看交叉验证上的问题决定在 R 中执行此操作,但如果您决定返回到 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),然后使用增强迪基-富勒检验来测试该序列现在是否平稳。所有这三个工具都可以在 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 方法还提供脉冲响应函数,这些函数通常是查看系统中的变量如何响应冲击(包括跨变量)的时间路径的主要工具。 (2认同)