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

标签 python statistics time-series correlation

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

1) 我是否有必要平滑曲线,其中输入变量是周期性的(自回归)?如果是这样,如何?

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

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

例子: enter image description here

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

最佳答案

虽然问题的一部分更多地基于统计数据,但关于如何在 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

关于python - 时间序列 - 相关性和滞后时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25320773/

相关文章:

c - R 中负二项式密度 (dnbinom) 的参数化

python - 如何创建一个将行移动负 1 的 DataFrame,包括上面的行可能不存在的时间?

matlab - Matlab 中时间序列之间的相似性搜索。可能的 ?我在 matlab 中找不到 R 树实现

python - Node.js win32ole安装错误

python Flask SocketIO 使用 eventlet 抛出 SSL 错误

python - 遍历数组查看多个值

r - Friedman测试未复制的完整 block 设计错误

在 openshift 中运行时 python websocket 失败

python - Scikit learn中的R2值是怎么计算出来的?

python - 如何按年份创建时间序列数据的训练/测试分割?