2016-03-01 109 views
2

我想對使用Python Pandas的時間序列數據進行Granger因果關係檢驗,我有兩個問題。 (1)我試過使用pandas.stats.var軟件包,但似乎不推薦使用。還有其他推薦選項嗎? (2)我很難解釋pandas.stats.var包中的VAR.granger_causality()函數的輸出。我能找到的唯一的參考是在源代碼中,說評論:Pandas Granger因果關係

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列A行中的值0.52是什麼意思?

+0

一般來說,熊貓你想檢查statsmodels和scipy(有時爲簡單的統計數字numpy)。看起來像statsmodels有一些東西:http://statsmodels.sourceforge.net/0.6.0/generated/statsmodels.tsa.stattools.grangercausalitytests.html – JohnE

回答

0

請記住,在其最簡單的形式Granger因果由F-檢驗的兩個迴歸的R 2: Y = const的+ Y [-1] + E 與 Y = const的+ Y [-1 ] + x [-1] + e

爲了查看來自第二次迴歸的R2是否更高。另見: http://www.statisticshowto.com/granger-causality/