我想使用Python Pandas对时间序列数据执行Granger因果关系测试,我有两个问题。
(1)我尝试过使用pandas.stats.var包,但它似乎已被弃用。还有没有其他推荐的选项?
(2)我在解释pandas.stats.var包中VAR.granger_causality()函数的输出时遇到了困难。我能找到的唯一参考是源代码中的注释:
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-value表中的每个单元格对应于f-stat表中的一个单元格,但我不理解f-stat表中的单元格指的是什么。例如,C列A行中的值0.52是什么意思?
发布于 2020-08-17 18:43:14
如果P值小于5% (或0.05),那么我们可以拒绝零假设(H0),并可以得出结论,Xt格兰杰导致了Yt。
因此,只要你的P值小于0.05,你就可以考虑这些特征。
发布于 2017-06-22 23:51:56
请记住,格兰杰因果关系的最简单形式由两个回归的R2的F检验组成: y=const+y-1+e vs. y=const+y-1+x-1+e
以查看第二次回归的R2是否更高。另请参阅:http://www.statisticshowto.com/granger-causality/
https://stackoverflow.com/questions/35728204
复制相似问题