來源:http://dss.princeton.edu/training/,部分資源整理自:百度文庫、CDA數據分析師、社會科學中的數據可視化
在實證分析中,我們經常需要確定因果關係是x導致y,還是y導致x。對此,Granger提出了一種解決方法:如果x是y的原因,且不存在反向因果,則x過去值可以預測y未來值,反之則不然。具體來說,我們建立時間序列模型如下,並提出假設H0:βm=0,m=1,2…p。如果接受該假設,則意味著x過去值不能夠預測y未來值;如果拒絕該假設,則可以,即x是y的格蘭傑因(Granger cause)。
格蘭傑因果關係檢驗假設了有關y和x每一變量的預測的信息全部包含在這些變量的時間序列之中。檢驗要求估計以下的兩個回歸模型:
模型1
模型2
模型1是為了檢驗X對Y的影響,模型二是為了檢驗Y對X的影響。(其中白噪音u1t 和u2t假定為不相關的)
基本邏輯:
模型一中,如果模型α1,α2 , ... , αq 中只要存在一個係數顯著為不零,那就認為X對Y有格蘭傑因果關係,模型二類似;
方法一:
reg y L.y L.x (滯後1 期)estat ic (顯示AIC 與BIC 取值,以便選擇最佳滯後期)reg y L.y L.x L2.y L2.xestat ic (顯示AIC 與BIC 取值,以便選擇最佳滯後期)……根據信息準則確定p, q 後,檢驗 ;所用的命令就是test特別說明,此處p和q的取值完全可以不同,而且應該不同,這樣才能獲得最有說服力的結果,這也是該方法與其他兩個方法相比的最大優點,該方法缺點是命令過於繁瑣。
方法二:
ssc install gcause (下載格蘭傑因果檢驗程序gcause)gcause y x,lags(1) (滯後1 期)estat ic (顯示AIC 與BIC 取值,以便選擇最佳滯後期)
gcause y x,lags(2) (滯後2 期)estat ic (顯示AIC 與BIC 取值,以便選擇最佳滯後期)特別說明,在選定滯後期後,對於因果關係檢驗,該方法提供F檢驗和卡方檢驗。如果兩個檢驗結論不一致,原則上用F檢驗更好些。因為卡方檢驗是一個大樣本檢驗,而實證檢驗所能獲得的樣本容量通常並不大,如果採用的是大樣本,則以卡方檢驗結果為準。不過,通常情況下,大樣本下兩個檢驗結論一致,所以不用擔心。綜上,F檢驗適用範圍更廣。
方法三:
var y x (向量自回歸)vargranger注意:1、如果實際檢驗過程中AIC和BIC越來越小,直到不能再滯後(時間序列長度所限)。這樣的話,可能數據確實存在高階自相關。在這種情況下,可以限制p的取值,比如取最大的或 , 。2、回歸結果中各期係數顯著性不同,有的不顯著有的顯著,如實匯報就可以。最好全部匯報。不顯著的期數可能意味著那一期的自相關很弱。
1、導入數據
use http: //www.stata-press.com/data/imeus/ukrates, clear2、安裝外部命令(安裝gcause格蘭傑因果檢驗程序)
3、格蘭傑檢驗
gcause r20 rs, lags(1)estat icgcause r20 rs, lags(2)estat ic
依次對滯後一期、滯後兩期等變量進行回歸,根據AIC及BIC的取值確定最佳的滯後期。在本例中,我們發現p=q=3時AIC及BIC的值最小,因此我們將p和q都賦值為3。滯後三期回歸結果如圖所示:
gcause r20 rs, lags(3)estat ic
我們發現F檢驗和卡方檢驗得出一致結論,接受原假設,即rs不是r20的格蘭傑因。
1、導入數據
use "C:\Users\admin\Desktop\tsdata.dta"2、Granger causality: using OLS
If you regress 『y』 on lagged values of 『y』 and 『x』 and the coefficients of the lag of 『x』 are statistically significantly different from 0, then you can argue that 『x』 Granger-cause 『y』, this is, 『x』 can be used to predict 『y』 (see Stock & Watson -2007-, Green -2008).
regress unemp L(1/4).unemp L(1/4).gdp
regress unemp L(1/4).unemp L(1/4).gdp我們不能拒絕原假設,因此gdp不是unemp的格蘭傑原因。
Granger causality: using VAR
quietly var unemp gdp, lags(1/4)vargrangerThe null hypothesis is 『var1 does not Granger-cause var2』. In both cases, we cannot reject the null that each variable does not Granger-cause the other