基於ESTAR指數平滑轉換自迴歸模型的CPI資料統計分析matlab模擬

软件算法开发發表於2024-09-18

1.程式功能描述
基於ESTAR指數平滑轉換自迴歸模型的CPI資料統計分析matlab模擬.主要透過M-ESTAR模型進行計算,主要涉及到的統計量有WNL值,P值, Q值,12階ARCH值。

2.測試軟體版本以及執行結果展示
MATLAB2022a版本執行


3.核心程式

%%
%呼叫模型ESTAR
for i = 1:length(Real_exchange_rate)
    i
    [y,th] = func_MESTAR2(Real_exchange_rate{i});
    Real_exchange_rate_ESTAR{i} = y;
    %估計得到的theta
    theta{i}                    = th(end);
end
 
k = [-1 -1 -0.3 -0.3 -0.3 -0.3 -1 -0.3 -0.3 -0.3 -0.3 -0.3 -1 -0.3 -0.3];
for i = 1:length(Real_exchange_rate)
    tmps = -2:0.25:2;
    for j = 1:length(tmps)  
        T{i}(j)  = 1-exp(-(theta{i}*tmps(j)^2 + theta{i}*k(i)*tmps(j)));
    end
end
 
figure; 
plot(tmps,T{1},'b-*');hold on 
plot(tmps,T{8},'r-^');hold on 
plot(tmps,T{2},'k-o');hold on 
plot(tmps,T{13},'m-o');hold on  
grid on
legend('Australia','Malaysia','Canada','Thailand');
 
 
 
figure; 
plot(tmps,T{9},'b-*');hold on 
plot(tmps,T{10},'r-^');hold on 
plot(tmps,T{4},'k-o');hold on 
plot(tmps,T{14},'m-o');hold on  
 
plot(tmps,T{5},'g-^');hold on 
plot(tmps,T{11},'y-o');hold on 
plot(tmps,T{3},'k-*');hold on  
 
 
grid on
legend('NewZealand','Singapore','Denmark','UnitedKingdom','HongKong','Switzerland','China');
 
 
 
 
%計算Q(1)
for i = 1:length(Real_exchange_rate)
    s     = func_Ljung_Box(Real_exchange_rate_ESTAR{i},1); 
    Q1{i} = s;
end
%計算Q(12)
for i = 1:length(Real_exchange_rate)
    s      = func_Ljung_Box(Real_exchange_rate_ESTAR{i},12); 
    Q12{i} = s;
end
 
 
%%
%顯示諸如Table2一樣的表格資料
fprintf('Countries      theta         Q(1)        Q(12) \n\n');
for i = 1:15
    if i == 1
       fprintf('Australia      ');
    end
    if i == 2
       fprintf('Canada         ');
    end    
    if i == 3
       fprintf('China          ');
    end        
    if i == 4
       fprintf('Denmark        ');
    end        
    if i == 5 
       fprintf('HongKong       ');
    end    
    
    if i == 6
       fprintf('Japan          ');
    end
    if i == 7
       fprintf('SouthKorea     ');
    end    
    if i == 8
       fprintf('Malaysia       ');
    end        
    if i == 9
       fprintf('NewZealand     ');
    end        
    if i == 10
       fprintf('Singapore      ');
    end     
    
    if i == 11
       fprintf('Switzerland    ');
    end
    if i == 12
       fprintf('Taiwan         ');
    end    
    if i == 13
       fprintf('Thailand       ');
    end        
    if i == 14
       fprintf('UnitedKingdom  ');
    end        
    if i == 15
       fprintf('issue          ');
    end        
    fprintf('%3.4f        ',theta{i});
    fprintf('%3.4f      ',Q1{i}); 
    fprintf('%3.4f      ',Q12{i}); 
    fprintf('\n\n'); 
end
16_014m

  

4.本演算法原理
4.1 ESTAR模型概述
ESTAR(Exponential Smooth Transition AutoRegressive model)是一種混合時間序列模型,它結合了指數平滑法和狀態轉換自迴歸模型的特點。在經濟資料分析中,尤其是處理諸如CPI(消費者物價指數)這類具有可能的非線性趨勢變化以及結構突變的資料時,ESTAR模型具有很強的應用價值。它能夠捕捉到資料中的長期趨勢、季節性變動以及潛在的平滑過渡現象。

一個簡單的ESTAR模型可以表示為:


狀態變數St​ 通常透過如下方式定義,包含兩個狀態(例如常態和平穩期)並允許平滑地在兩者間過渡:

其中,

St​ 在 [0, 1] 區間內取值,代表從一種狀態向另一種狀態的轉換程度。

γ 是轉換速度引數,決定著狀態轉換的快慢。

τt​ 是轉移函式,它是一個關於某些解釋變數(如時間變數或其他宏觀經濟指標)的單調遞增函式,當這些變數達到某個閾值時會觸發狀態的轉變。

4.2 WNL值,P值, Q值,12階ARCH值

4.3ADF檢驗
ADF檢驗是增項DF檢驗,DF檢驗用於檢驗變數的非平穩性。若時間序列模型中含有單位根,則模型是非平穩的。對於AR(1)自迴歸滯後一階模型,滯後期係數如果等於1,則無法收斂。DF檢驗的原假設為H0:beta=1,H1:beta<1。其中beta可以用OLS去估計。t=(beta-1)/std(beta)。t統計量並不服從t分佈,而是服從DF分佈。DF分佈是Dickey Fuller研究的專門檢驗單位根的分佈,DF檢驗是左單側檢驗,當計算的t高於臨界值則接受原假設(此模型是非平穩的),若t小於臨界值,則拒絕原假設(此模型是平穩的)。   

增項DF檢驗簡稱(ADF)用於更為複雜的模型,當模型AR(p)高階自迴歸,或者帶有截距項以及趨勢項的時候,需要做差分ADF檢驗。檢驗是一般是三個基準模型:a:AR(1),b:AR(1)再加截距,c:b的基礎上再加趨勢。一般先從c開始單位根檢驗,當確定不含有趨勢後,繼續用b檢驗,若存在單位根,繼續用a檢驗。當然在這個過程中如果發現不存在單位根,則檢驗結束。如果檢驗的c模型仍然不能拒絕存在單位根,則進行一階差分後再檢驗,如果仍然存在單位根,再差分……直到拒絕單位根為止。根據模型的選定,分別查ADF分佈表,對應臨界值判斷是否存在單位根。在ADF檢驗中,由於做了差分,通常的原假設是係數=0,因此t統計量服從t分佈,可以透過迴歸的t值來和ADF分佈進行對比。在計量軟體Eviews中,unit root test選項可以根據研究的需要直接進行ADF檢驗。

相關文章