計量經濟與時間序列_ADF單位根檢驗步驟


1  ADF檢驗也叫擴展的迪克富勒檢驗,主要作用是檢測序列的平穩性,也是最常用檢測序列平穩性的檢驗方法。

2  何為:平穩性?單位根?(略),見這部分隨便的其他內容有講解。是建模對數據的先決條件。

3  ADF檢驗的三種情形:

4  在MATLAB中常用的adf檢驗的操作:

4.1  經過差分使序列平穩。

  % 如果結果h=0,表示拒絕原假設,數據不平穩
  % 如果結果h=1,表示不拒絕原假設,數據平穩

  % 注意這里和上圖不一樣,原假設為平穩1,。

%% 單位根檢驗實例
% Load Canadian inflation rate data.
load Data_Canada
Y = DataTable.INF_C;
% Test the time series for a unit root.
h = adftest(Y);
disp(h);
% 顯示結果:
% h =
%   logical
%    0   % 非平穩
% 如果結果h=0,表示拒絕原假設,數據不平穩
% 如果結果h=1,表示不拒絕原假設,數據平穩

%% 使序列進行平穩,進行一階差分
Y1 = diff(Y);  % 經過一階差分
h1 = adftest(Y1);
disp(h1);
% h1 =
%   logical
%    1  % 平穩
% 如果結果h=0,表示拒絕原假設,數據不平穩
% 如果結果h=1,表示不拒絕原假設,數據平穩

 

4.2  adf檢驗的其他輸出內容,詳細見MATLAB,doc中的內容

%% 另外,adf檢驗還有其他的輸出內容。
[h2,pValue,stat,cValue,reg] = adftest(Y1);
% h2 =
%   logical
%    1
% pValue =    % p值
%    1.0000e-03
% stat =
%    -4.8186
% cValue =
%    -1.9478
% reg = 
%   包含以下字段的 struct:
% 
%        num: 40
%       size: 39
%      names: {'a'}
%      coeff: 0.2285
%         se: 0.1601
%        Cov: 0.0256
%     tStats: [1×1 struct]
%      FStat: [1×1 struct]
%        yMu: 0.0028
%     ySigma: 1.5513
%       yHat: [39×1 double]
%        res: [39×1 double]
%     DWStat: 1.8378
%        SSR: 4.6502
%        SSE: 86.7950
%        SST: 91.4452
%        MSE: 2.2841
%       RMSE: 1.5113
%        RSq: 0.0509
%       aRSq: 0.0509
%         LL: -70.9449
%        AIC: 143.8898  % AIC信息准則
%        BIC: 145.5533  % BIC信息准則
%        HQC: 144.4866  % HQC信息准則

 

4.3  據上圖,三種情形在MATLAB的adftest中的選擇。

%% 輸入adf檢驗其他的內容
[h3,~,~,~,reg3] = adftest(Y1,'model','AR');
[h4,~,~,~,reg4] = adftest(Y1,'model','ARD');
[h5,~,~,~,reg5] = adftest(Y1,'model','TS');
disp([h3,h4,h5]);
disp([reg3.AIC,reg4.AIC,reg5.AIC;reg3.BIC,reg4.BIC,reg5.BIC...
    ;reg3.HQC,reg4.HQC,reg5.HQC]);
% 'model','AR';表示無截距項,無趨勢項的單位根檢驗
% 'model','ARD';表示有截距項,無趨勢項的單位根檢驗
% 'model','TS';表示由截距項,有趨勢項的單位根檢驗
% 另外,AIC,BIC,HQC准則在reg結構體內,可以調用用值觀察那種情形平穩
% 默認為'AR'形式,也就是不含截距項,不含趨勢項的單位根檢驗 

 

4.4  如果選擇滯后項,可以用用戶設定的方式,如果滯后項設定為0,為DF檢驗。建議用戶這里不用自己設定

%% 滯后項
[h6,~,~,~,reg6] = adftest(Y1,'model','AR','lags',0); %DF檢驗形式
[h7,~,~,~,reg7] = adftest(Y1,'model','AR','lags',[0,1,2]);% 也可以對趨勢項進行遍歷

  

5  檢驗流程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM