www.gusucode.com > econ 案例源码程序 matlab代码 > econ/AssessAutocorrelationInInferredResidualsExample.m
%% Assess Autocorrelation in Inferred Residuals % Infer residuals from an estimated ARIMA model, and assess whether the % residuals exhibit autocorrelation using |lbqtest|. %% % Load the Australian Consumer Price Index (CPI) data set. The time series % (|cpi|) is the log quarterly CPI from 1972 to 1991. Remove the trend in the % series by taking the first difference. % Copyright 2015 The MathWorks, Inc. load Data_JAustralian cpi = DataTable.PAU; T = length(cpi); dCPI = diff(cpi); figure plot(dates(2:T),dCPI) title('Differenced Australian CPI') xlabel('Year') ylabel('CPI growth rate') datetick axis tight %% % The differenced series appears stationary. %% % Fit an AR(1) model to the series, and then infer residuals from the % estimated model. Mdl = arima(1,0,0); EstMdl = estimate(Mdl,dCPI); res = infer(EstMdl,dCPI); stdRes = res/sqrt(EstMdl.Variance); % Standardized residuals %% % Assess whether the residuals are autocorrelated by conducting a Ljung-Box % Q-test. The standardized residuals originate from the estimated model % (|EstMdl|) containing parameters. When using such residuals, it is best % practice to do the following: % % * Adjust the degrees of freedom (|dof|) of the test statistic % distribution to account for the estimated parameters. % * Set the number of lags to include in the test statistic. % * When you count the estimated parameters, skip the constant and % variance parameters. lags = 10; dof = lags - 1; % One autoregressive parameter [h,pValue] = lbqtest(stdRes,'Lags',lags,'DOF',dof) %% % |pValue = 0.0130| suggests that there is significant % autocorrelation in the residuals at the 5% level.