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

时间:2014-08-15 03:15:21

标签: python statistics time-series correlation

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

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

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

我应该考虑哪些python库来实现这一点 - 尤其是找出两个相关事件之间的延迟时间

实施例: enter image description here

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

1 个答案:

答案 0 :(得分:3)

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