www.gusucode.com > econ 案例源码程序 matlab代码 > econ/AccountForResidualHeteroscedasticityUsingFGLSEstimationExample.m
%% Account for Residual Heteroscedasticity Using FGLS Estimation % Model the nominal GNP (|GNPN|) growth rate accounting for the effects of % the growth rates of the consumer price index (|CPI|), real wages (|WR|), % and the money stock (|MS|). Account for classical linear model % departures. %% % Load the Nelson Plosser data set. % Copyright 2015 The MathWorks, Inc. load Data_NelsonPlosser varIdx = [8,10,11,2]; % Variable indices idx = ~any(ismissing(DataTable),2); % Identify nonmissing values Tbl = DataTable(idx,varIdx); % Tabular array of variables T = sum(idx); % Sample size %% % Plot the series. figure; for j = 1:4; subplot(2,2,j); plot(dates(idx),Tbl{:,j}); title(Tbl.Properties.VariableNames{j}); axis tight; end; %% % All series appear nonstationary. %% % Apply the log, and then the first difference to each series. dLogTbl = array2table(diff(log(Tbl{:,:})),... 'VariableNames',strcat(Tbl.Properties.VariableNames,'Rate')); %% % Regress |GNPNRate| onto the other variables in |dLogTbl|. Examine a % scatter plot and correlograms of the residuals. Mdl = fitlm(dLogTbl); figure; plotResiduals(Mdl,'caseorder'); axis tight; figure; subplot(2,1,1); autocorr(Mdl.Residuals.Raw); subplot(2,1,2); parcorr(Mdl.Residuals.Raw); %% % The residuals appear to flare in, and so they exhibit % heteroscedasticity. The correlograms suggest that there is no % autocorrelation. %% % Estimate FGLS coefficients by accounting for the heteroscedasticity of % the residuals. Specify that the estimated innovation covariance is % diagonal with the squared residuals as weights. fgls(dLogTbl,'innovMdl','HC0','display','final');