熊猫格兰杰因果关系

时间:2016-03-01 16:29:19

标签: python pandas scipy statistics statsmodels

我想使用Python Pandas对时间序列数据进行Granger因果关系测试,我有两个问题。

(1)我尝试过使用pandas.stats.var包,但似乎已弃用。还有其他推荐选项吗?

(2)我在解释VAR.granger_causality()包中pandas.stats.var函数的输出时遇到困难。我能找到的唯一参考是源代码中的注释:

   Returns the f-stats and p-values from the Granger Causality Test.
   If the data consists of columns x1, x2, x3, then we perform the
   following regressions:
   x1 ~ L(x2, x3)
   x1 ~ L(x1, x3)
   x1 ~ L(x1, x2)
   The f-stats of these results are placed in the 'x1' column of the
   returned DataFrame.  We then repeat for x2, x3.
   Returns
   -------
   Dict, where 'f-stat' returns the DataFrame containing the f-stats,
   and 'p-value' returns the DataFrame containing the corresponding
   p-values of the f-stats.

例如,试运行的输出如下所示:

p-value:
          C         B         A
A   0.472122  0.798261  0.412984
B   0.327602  0.783978  0.494436
C   0.071369  0.385844  0.688292

f-stat:
          C         B         A
A   0.524075  0.065955  0.680298
B   0.975334  0.075878  0.473030
C   3.378231  0.763898  0.162619

我知道p值表中的每个单元格对应于f-stat表中的一个单元格,但我不明白f-stat表中的单元格是指什么。例如,C列中的值0.52,A行是什么意思?

2 个答案:

答案 0 :(得分:1)

  • (无效假设)H0:Xt不会格兰杰导致Yt。
  • (替代假设)H1:Xt格兰杰导致Yt。

如果P值小于5%(或0.05),则我们可以拒绝零假设(H0),并可以得出结论,Xt Granger导致Yt。

因此,只要您的P值小于0.05,就可以考虑这些特征。

答案 1 :(得分:0)

请记住,最简单形式的格兰杰因果关系包括两个回归的R2的F检验: Y = const的+ Y [-1] + E 与 Y = const的+ Y [-1] + X [-1] + E

以查看第二次回归中的R2是否更高。也可以看看: http://www.statisticshowto.com/granger-causality/