%% Assess Model Specifications Using the Wald Test
% Check for significant lag effects in a time series regression model.
% Load the U.S. GDP data set.

load Data_GDP

%
% Plot the GDP against time.

plot(dates,Data)
datetick

% The series seems to increase exponentially.
%
% Transform the data using the natural logarithm.

logGDP = log(Data);

% logGDP is increasing in time, so assume that there is a significant lag 1 effect. To use the Wald test to check if there is a significant lag 2 effect, you need the:
% Estimated coefficients of the unrestricted model
% Restriction function evaluated at the unrestricted model coefficient values
% Jacobian of the restriction function evaluated at the unrestricted model coefficient values
% Estimated, unrestricted parameter covariance matrix.
% The unrestricted model is
% y_t = \beta_0 + \beta_1 y_{t-1} + \beta_2 y_{t-2} + \varepsilon_t.
%
% Estimate the coefficients of the unrestricted model.

LagLGDP = lagmatrix(logGDP,1:2);
UMdl = fitlm(table(LagLGDP(:,1),LagLGDP(:,2),logGDP));

% UMdl is a fitted LinearModel model. It contains, among other things, the fitted coefficients of the unrestricted model.
% The restriction is \beta_2 = 0. Therefore, the restriction function (r) and Jacobian (R) are:
% r = \beta_2
% R = \left[\matrix{0 & 0 & 1}\right]
%
% Specify r, R, and the estimated, unrestricted parameter covariance matrix.

r = UMdl.Coefficients.Estimate(3);
R = [0 0 1];
EstParamCov = UMdl.CoefficientCovariance;

%
% Test for a significant lag 2 effect using the Wald test.

[h,pValue] = waldtest(r,R,EstParamCov)

% h = 1 indicates that the null, restricted hypothesis (\beta_2 = 0) should be rejected in favor of the alternative, unrestricted hypothesis. pValue is quite small, which suggests that there is strong evidence for this result.
% Copyright 2015 The MathWorks, Inc.