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檢驗。