格蘭杰因果關系檢驗_混頻(mixed frequency)數據的格蘭杰因果(Grange causality)檢驗及其Matlab實現...

格蘭杰和格蘭杰因果

1383e5782e9af7d49b72631369057659.png

網絡搜到的Grange大神標準照

格蘭杰1934年9月出生于英國威爾士的斯旺西,早期就讀于諾丁漢大學,接受當時英國第一個經濟學數學雙學位教育,1955年留校任教,1957年在天文學雜志上他發表了第一篇論文:“關于太陽黑子活動的一個統計模型”。1959年,他在諾丁漢大學獲得統計學博士學位。在20世紀60年代早期,格蘭杰獲得了支持英國學者去美國深造的哈克尼斯(Harkness)獎學金,去普林斯頓做訪問學者,在著名學者約翰·塔基(John Tukey)和奧斯卡·摩根斯坦(Oscar Morgenstein)門下深造。1974年移居美國,成為圣迭亞哥加州大學經濟學院教授。隨后,他開創了該學院的計量經濟學研究工作,并使之成為全世界最出色的計量經濟學研究基地之一。最后成為該校的榮譽退休教授。格蘭杰于1991年成為國際預測師協會會員,曾獲得斯德哥爾摩經濟學院和卡洛斯三世大學的榮譽博士學位。他現為西部經濟學會主席、每年僅兩位的美國經濟學會杰出會員。他的研究興趣主要在統計學和計量經濟學(主要是時間序列分析)、預測、金融、人口統計學和方法論等方面。

2003年諾貝爾經濟學獎獲得者,克萊夫·格蘭杰,2003年諾貝爾經濟學獎得主,來自美國加州大學圣迭戈分校。克萊夫·格蘭杰(Clive W.J. Granger)教授因“協整理論”在時間序列數據分析上做出的杰出貢獻而獲2003年諾貝爾經濟學獎。

經濟學家開拓了一種試圖分析變量之間的格蘭杰因果關系的辦法,即格蘭杰因果關系檢驗。該檢驗方法為2003年諾貝爾經濟學獎得主克萊夫·格蘭杰(Clive W. J. Granger)所開創,用于分析經濟變量之間的格蘭杰因果關系。他給格蘭杰因果關系的定義為“依賴于使用過去某些時點上所有信息的最佳最小二乘預測的方差。

格蘭杰教授被認為是世界上最偉大的計量經濟學家之一,瑞典皇家科學院曾說,“他不僅是研究員們學習的光輝典范,而且也是金融分析家的楷模。”無數經濟學專業的學生奮斗一生,也只是為了能遠遠看到他的背影。他在利用數學模型分析時間序列數據方面的實證研究,給全世界打開了一扇窺探經濟運行規律,特別是金融市場運行規律的大門。正因如此,我們可以對股市和匯市浩如煙海的數據進行分析整理,并預測今后的走勢。

從訪問普林斯頓的20世紀60年代早期開始,格蘭杰就是一位非常有影響的時間序列計量經濟學學者。他的論文幾乎涵蓋了過去40年間該領域的主要進展,沒有格蘭杰的分析方法,進行時間序列計量方面的實證分析幾乎是不可能的。就他所產生的學術影響,人們對他的嘆服可以用天才的研究者和作家來表達。

格蘭杰的學術作品有兩個突出的特點,學術思想與實際問題密切相關;很強的可讀性,因此很多內容已經成為引用的經典。也許,這些方面的長處除了與他本人的天才資質有關之外,還和他的學習經歷有關。早在讀高中時,他就曾在兩個語法學校就讀。而且他喜歡純粹的數學思維訓練,在初學經濟學時,就對當時只會純文字描述的經濟學家感到遺憾。

諾貝爾獎評委會認為,格蘭杰的工作改變了經濟學家處理時間序列數據的方法,對研究財富與消費、匯率與價格、以及短期利率與長期利率之間的關系具有非常重要意義。目前美國聯邦儲備委員會和許多國家的中央銀行都使用這一方法來進行評估和預測。

混頻數據的計量經濟學方法

這里簡要回顧處理混頻數據的計量經濟學模型。

典型的計量經濟學回歸方程處理的是具有相同采樣頻率的變量。為保持頻率相同,研究人員要么將高頻觀測值加總為最低頻率數據,要么對低頻數據進行插值以得到最高頻率數據。在實證應用中,前者為最常用的方法,高頻數據通過平均或者取一個代表值(例如每個季度的最后一個月)而將為最低頻率。這種對數據進行“預過濾”而使得預測方程左側和右側變量成為同頻率的方法有一個潛在的問題,就是可能會破壞高頻數據中大量的有用信息。因此,對混頻數據進行直接建模是十分必要的。

這里,我稍微直白來講講,簡單講,假設你原來構建的是季度模型,例如用到了GDP增速季度數據,假設用CPI測度通脹率,而CPI數據有月度數據,傳統的做法,就是將月度CPI通過一定的算法(折騰)調整為季度數據,在數據頻率轉換的過程中,自然會損失很多信息,也有很大的爭議,月度CPI時間序列轉為季度CPI時間序列,十個人可能有十五種結果。混頻數據建模技術出現之后,就不用走這個步驟了,直接拿月度CPI和季度GDP建模就是。

混頻數據的計量經濟學應用研究很廣泛,例如

1 橋接方程

2 混頻數據取樣(MIDAS)方法,包括MIDAS權重函數,AR-MIDAS模型,CoMIDAS模型,及其拓展等等。

3 混頻-向量自回歸(MF-VAR)模型

4 混頻因子模型, 包括混頻小規模因子模型、混頻大規模因子模型,混頻狀態空間

5 因子-MIDAS模型,包括平滑因子—MIDAS模型,無限制因子—MIDAS模型

6 粗糙邊緣數據預測的實時預測

7 NowCasting等等

8 還有我想起來的混頻-GARCH模型

混頻數據格蘭杰因果檢驗的簡要數學形式

疊加的高頻(HF)和低頻(LF)變量為:

5e46970b92be46114288ef580a86a6ee.png

假設1: X(L) 是VAR(p)

a0807b6696ba430481be63d8a168277d.png

假設2:多項式的所有根在單位圓之外

7a2ebd45d6bd4e33af33d57feeca7bf3.png

假設3:(p,h)自回歸

71b50df9f9b8122343e0eb3ce7b11b6a.png

協方差矩陣性質:

9a77648c3131da23ddd835ea003f5715.png

Dp(h)推導:

25875b379a105edf3f35d7e6e6d3b395.png

Tau和Delta p,s(h)推導:

0d73701bb44a22b96d997b4cbfeb064e.png

實例的Matlab主程序(注解很清晰)

%%%%%%%% Ten requiredcodes in order to run this main code %%%%%%%%%%%%%%%%%%%%%%%

% 1. VAR_est1.m: Fit(p,h)-autoregression (i.e. VAR(p) model iterated h-times)

%??????????????? with Newey and West's (1987)HAC estimator. Newey and West's (1994)

%??????????????? automatic bandwidth selectionis available.

% 2. irf3.m: Computeimpulse response function at horizon 0, 1, ..., hmax

%??????????? along with bootstrapped confidenceintervals.

%??????????? Cholesky decomposition is used.

% 3. var_decomp.m:Forecast error variance decomposition at horizon 0, ..., hmax-1.

%????????????????? Cholesky decomposition isused.

% 4. MFCTGK_all1.m:Implement bilateral mixed frequency Granger causality tests

%?????????????????? for all possible pairs.

% 5. CTGK_all1.m:Implement bilateral Granger causality tests for all

%???????????????? possible pairs.

% 6. sim_VAR.m: SimulateVAR(p) processes.

% 7. sim_phauto.m:Simulate (p,h)-autoregression (i.e. VAR(p) iterated h-times)

% 8.causality_test_GK4.m: Implement Granger causality tests.

%????????????????????????? Goncalves andKillian's (2004) bootstrap is available.

% 9.mf_causal_test_GK4.m: Implement mixed frequency Granger causality tests.

%????????????????????????? Goncalves andKillian's (2004) bootstrap is available.

% 10. Wald_test.m:Implement Wald tests.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Scenario

% We analyze threevariables x, y, z.

% x is a monthly variablewhile y and z are quarterly variables.

% The ratio of samplingfrequencies, m, is equal to 3.

% construct a 5 x 1 mixedfrequency vector X = [x1, x2, x3, y, z]'.

% Assume DGP is MF-VAR(1)with coefficient:

A = [?? 0,??0.1,?? 0.4,??? 0,???0;

????? 0.1,?-0.1,?? 0.2,??? 0,???0;

??????? 0,????0,?? 0.1,??? 0,???0;

????? 0.0,?-0.9,?? 0.9,? 0.2,???0;

??????? 0,????0,???? 0,? 0.9,?0.6];

% Evidently, (1) x causesy and (2) y causes z.

% See A(4, 1:3) for (1)and A(5,4) for (2).

% Let's generate datafrom this DGP and fit MF-VAR(1) to see what happens.

%% Step 1: Initialsetting

% general setting

T = 80;??????????? % sample size is 80 quarters, a realistic size.

m = 3; ????????????% ratio of sampling frequencies (month vs. quarter)

K_H = 1;?????????? % one high frequency variable x

K_L = 2;?????????? % two low frequency variables y, z

K = K_L + m*K_H;?? %dimension of MF-VAR

p = 1;???????????? % VAR lag length included.

?????????????????? % true lag order is 1.

lambda = 'NW';???? % useNewey and West's (1994) automatic bandwidth selection

% Impulse responsefunctions

irfhmax = 6;?????? % maximum horizon

figureflag = 1;??? % drawfigure

irfalpha = 0.05;?? % draw95% bootstrapped confidence interval

bsnum = 500;?????? % # of bootstrap replications

labels = char('x1', 'x2', 'x3', 'y', 'z');? %labels

% forecast error variancedecomposition

vdhmax = 6;??????? % maximum horizon

% Granger causality tests

gcbs = 1999;??????????????????????? % # of bootstrap replications

dispflag = 1;?????????????????????? % display p-values

gclabels = char('x', 'y', 'z');???? %labels

%% Step 2: Mixedfrequency analysis

% generate normal error

E = 0.1 * randn(T, K);

% generate VAR(1) process

Data = sim_VAR(E, A);

% fit MF-VAR(1)

result1 = VAR_est1(Data, p, 1,lambda);

% impulse

[IRF, lb, ub] = irf3(result1,irfhmax, figureflag, irfalpha, bsnum, labels);

% variance decomposition

vd_mf = var_decomp(result1,vdhmax);

% causality test

disp('%%%%% Mixed Frequency, horizon = 1 %%%%%')

pval_mat1 =MFCTGK_all1(result1, m, K_H, gcbs, dispflag, gclabels);

disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');

disp(blanks(3)');

%%%%%%%%%%%%%%%% REMARK%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% ... What can you tellfrom these results?

% Causality test says (1)x causes y, (2) y causes z, and there is no other causality.

%

% IRF verifies (1) and(2). IRF gives you one more important implication, though.

% It seems that x doeshave a significant impact on z! How is this ever possible?

%

% ... This is a typicalexample of "causal chain". x does cause z via y.

% To see this point, notethat:

%

% A^2 = [ 0.01,? -0.01,?0.06,??? 0,??? 0;

%??????? -0.01,??0.02,? 0.04,??? 0,???0;

%??????????? 0,????? 0,?0.01,??? 0,??? 0;

%??????? -0.09,?-0.09,? 0.09, 0.04,??? 0;

%??????????? 0,?-0.81,? 0.81, 0.72, 0.36]

%

% The lower-left block isno longer zeros.

% In bivariate casecausal chains are never possible, but in more general

% cases causal chains areof great importance.

% To capture causalityfrom x to z, we need to run two-step-ahead causality test.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

result2 = VAR_est1(Data, p, 2,lambda);?

disp('%%%%% Mixed frequency, horizon = 2 %%%%%')

pval_mat2 =MFCTGK_all1(result2, m, K_H, gcbs, dispflag, gclabels);

disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');

disp(blanks(3)');

% ... Now you can see xdoes cause z at horizon 2.

%% Step 3: Low frequencyanalysis

% for comparison,aggregate x into quarterly frequency (flow sampling)

Data_ = [mean(Data(:,1:3), 2),Data(:,4), Data(:,5)];

% fit VAR(1)

result_ = VAR_est1(Data_, p, 1,lambda);

% IRF

[IRF_, lb_, ub_] =irf3(result_, irfhmax, figureflag, irfalpha, bsnum, gclabels);

% variance decomposition

vd_lf = var_decomp(result_,vdhmax);

% causality test

disp('%%%%% Low Frequency, horizon = 1 %%%%%')

pval_mat_lf =CTGK_all1(result_, gcbs, dispflag, gclabels);

disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');

%%%%%%%%%%%%%%%%%%%%%%REMARK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Based on low frequencymodel, you cannot observe x causing y.

% This is because thepositive impact of x3 on y and the negative impact of

% x2 on y offset eachother after flow aggregation.

% This highlights anadvantage of mixed frequency approach.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

輸出結果

36acf0fed1ef4e452cc73596b9276936.png

%%%%%Mixed Frequency, horizon = 1 %%%%%

H_0:y does not cause x

?? p-value = 0.83

H_0:z does not cause x

?? p-value = 0.9015

H_0:x does not cause y

?? p-value = 0.0005

H_0:z does not cause y

?? p-value = 0.1565

H_0:x does not cause z

?? p-value = 0.9005

H_0:y does not cause z

?? p-value = 0.0005

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%Mixed frequency, horizon = 2 %%%%%

H_0:y does not cause x

?? p-value = 0.0425

H_0:z does not cause x

?? p-value = 0.819

H_0:x does not cause y

?? p-value = 0.302

H_0:z does not cause y

?? p-value = 0.8695

H_0:x does not cause z

?? p-value = 0.0005

H_0:y does not cause z

?? p-value = 0.0005

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%Low Frequency, horizon = 1 %%%%%

H_0:y does not cause x

?? p-value = 0.275

H_0:z does not cause x

?? p-value = 0.924

H_0:x does not cause y

?? p-value = 0.789

H_0:z does not cause y

?? p-value = 0.029

H_0:x does not cause z

?? p-value = 0.5655

H_0:y does not cause z

?? p-value = 0.0005

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

12a50a36c9e9163ee6af2b6959b8dc4c.png

b5b4d122da346a5af58db34a212a1d31.png

混合和低頻因果關系檢驗的局部漸近冪

a0d811577db4ab7f6fd338b933dd90e9.png

MIDAS和NowCasting這塊的建模

本號后續發布,敬請關注

記得添加本號

c0dcc6888afabb02ddab6acf0d68ae8a.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/542284.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542284.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542284.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#Convert.ToInt32(byte)方法-將字節值轉換為int

C#Convert.ToInt32(byte)方法 (C# Convert.ToInt32(byte) Method) Convert.ToInt32(byte) Method is used to convert a specific byte value to its equivalent integer (int 32 signed number). Convert.ToInt32(byte)方法用于將特定的字節值轉換為其等效的整數(i…

后臺窗口截圖_萬人擁捧的截圖軟件來啦!讓你的工作效率提升不止一倍!

文章來自微信公眾號:小七有料直接進入正題,今天不野給大家分享兩款截圖軟件——Snipaste和FastStone Capture,前者與其說是一個截圖軟件,我更愿意稱之為貼圖軟件。兩者都在工作中很大程度提高了我的效率,也簡便化了我很…

ibm nvidia 超級計算機,IBM,Nvidia和美國能源部組成一個超級計算機超級團隊

CNET技術信息網7月15日國際報道: IBM將與Nvidia和美國能源部合作建立兩個新的杰出超級計算機中心. 這項合作的工作主要集中在兩個方面,一個是確保應用程序可以充分利用超級計算機的強大性能,另一個是收集開發人員,工程師和科學家的反饋.這兩個…

C#Convert.ToInt32(char)方法-將char值轉換為int

C#Convert.ToInt32(char)方法 (C# Convert.ToInt32(char) Method) Convert.ToInt32(char) Method is used to convert a specific char value to its equivalent integer (int 32 signed number) (It can also be known as ASCII value). Convert.ToInt32(char)方法…

華為p40論壇_華為高端旗艦繼續發力!麒麟990 5G+超感知三攝,256GB降價799元

小米10、一加8,vivo NEX3S等高性能旗艦產品現已在市場上發售。其中,5G旗艦華為P40也在銷售團隊中,并且最近成為最受歡迎的旗艦產品。由于華為P40高端版從799元跌至4189元,消費者可以以不到800元的價格購買低價高性能旗艦產品&…

計算機基礎.doc,大學生計算機基礎.doc

WORD格式 整理分享范文范例 參考指導電子計算機的誕生1計算機的發展經歷了4個時代,各個時代劃分的原則是根據( )。A、計算機所采用的電子器件B、計算機的運算速度C、程序設計語言D、計算機的存儲量正確答案:A?2世界上第一臺電子計算機誕生于( )年。A、1…

移動端類似IOS的滾動年月控件(需要jQuery和iScroll)

http://www.cnblogs.com/ccblogs/p/5260949.html 一. 效果圖 二. 功能介紹 支持滾動和點擊選擇年月。&#xff08;目前只支持設置年月的最大最小值&#xff0c;不支持整體的最大最小值&#xff09; 三. 代碼 1. 在你的html中添加如下代碼&#xff1a; 直接加載<body>里面…

css 橫向滾動隱藏滾動條_使用CSS滾動時如何隱藏滾動條?

css 橫向滾動隱藏滾動條Introduction: 介紹&#xff1a; It is always nice to have a responsive website or web page, to create such websites or web pages we have to make use of our developing skills to a great extent to bring about the functionality as well a…

DrawerLayout側滑詳解

前面我們說了自定義側滑菜單&#xff0c;也說了SlidingMenu的使用&#xff0c;這一節我們再來說下DrawerLayout。DrawerLayout是Support Library包中實現了側滑菜單效果的控件&#xff0c;可以說DrawerLayout是因為第三方控件如SlidingMenu等出現之后&#xff0c;google借鑒而出…

華為筆記本計算機在哪,新一代華為MateBook 的機會在哪里?

2017年5月23日 在德國柏林&#xff0c;華為正式面向全球消費者發布了MateBook系列新品——13英寸靈動商務筆記本MateBook X、12英寸時尚二合一筆記本MateBook E及15.6英寸商務影音筆記本MateBook D。今天筆記本市場似乎是一個比較穩定的市場&#xff0c;筆記本的銷量增長不快&a…

python 字符串 變量_檢查變量是否為字符串的Python程序

python 字符串 變量Python | 檢查變量是否為字符串 (Python | Check if a variable is a string) To check whether a defined variable is a string type or not, we can use two functions which are Python library functions, 要檢查定義的變量是否為字符串類型&#xff0c…

mysql shell

mysql 查詢10分鐘以內的數據:select *from t_agent where int_last_login>CURRENT_TIMESTAMP - INTERVAL 10 MINUTE; mysql關聯多表進行update更新操作UPDATE TrackINNER JOIN MVON Track.trkidMV.mvidSET Track.is_showMV.is_showWHERE trkid<6等同于UPDATE Track,MVSET…

kaggle計算機視覺比賽技巧,9. 計算機視覺 - 9.12. 實戰Kaggle比賽:圖像分類(CIFAR-10) - 《動手學深度學習》 - 書棧網 · BookStack...

9.12. 實戰Kaggle比賽&#xff1a;圖像分類(CIFAR-10)到目前為止&#xff0c;我們一直在用Gluon的data包直接獲取NDArray格式的圖像數據集。然而&#xff0c;實際中的圖像數據集往往是以圖像文件的形式存在的。在本節中&#xff0c;我們將從原始的圖像文件開始&#xff0c;一步…

qthread中獲取當前優先級_Linux中強大的top命令

top命令算是最直觀、好用的查看服務器負載的命令了。它實時動態刷新顯示服務器狀態信息&#xff0c;且可以通過交互式命令自定義顯示內容&#xff0c;非常強大。在終端中輸入top&#xff0c;回車后會顯示如下內容&#xff1a;top - 21:48:39 up 8:57, 2 users, load average: 0…

JavaScript中帶示例的String repeat()方法

JavaScript | 字符串repeat()方法 (JavaScript | String repeat() Method) The String.repeat() method in JavaScript is used to generate a string by repeating the calling string n number of times. n can be any integer from o to any possible number in JavaScript.…

Python生成驗證碼

#!/usr/bin/env python #coding:utf8 import random #方法1&#xff1a; str_codezxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP0123456789new_codefor i in range(4):   new_coderandom.choice(str_code)print new_code #方法2&#xff1a; new_code[]def str_code…

snmp 獲得硬件信息_計算機網絡基礎課程—簡單網絡管理協議(SNMP)

簡單網絡管理協議(Simple Network Management Protocol)?除了提供網絡層服務的協議和使用那些服務的應用程序&#xff0c;因特網還需要運行一些讓管理員進行設備管理、調試問題、控制路由、監測機器狀態的軟件。這種行為稱為網絡管理。??隨著網絡技術的飛速發展&#xff0c;…

僵尸毀滅工程 服務器已停止運行,《僵尸毀滅工程》steam is not enabled錯誤解決方法...

Steam 上面的 Project Zomboid 因為帶有 VAC 所以建服開服需要 Steam服務器認證&#xff0c;這也是出現 steam is not enabled 錯誤主要原因&#xff0c;也是無法和普通零售正版所建的服務器聯機的罪魁禍首。分兩種情況(下面 Project Zomboid 均簡稱PZ)&#xff1a;1、steam版P…

spring boot 1.4默認使用 hibernate validator

spring boot 1.4默認使用 hibernate validator 5.2.4 Final實現校驗功能。hibernate validator 5.2.4 Final是JSR 349 Bean Validation 1.1的具體實現。 How to disable Hibernate validation in a Spring Boot project As [M. Deinum] mentioned in a comment on my original …

python mpi開銷_GitHub - hustpython/MPIK-Means

并行計算的K-Means聚類算法實現一&#xff0c;實驗介紹聚類是擁有相同屬性的對象或記錄的集合&#xff0c;屬于無監督學習&#xff0c;K-Means聚類算法是其中較為簡單的聚類算法之一&#xff0c;具有易理解&#xff0c;運算深度塊的特點.1.1 實驗內容通過本次課程我們將使用C語…