summarize

Class: regARIMA

Display estimation results of regression model with ARIMA errors

Syntax

summarize(Mdl)
results = summarize(Mdl)

Description

example

summarize(Mdl) displays a summary of the regression model with ARIMA errors Mdl.

  • If Mdl is an estimated model returned by estimate, then summarize prints estimation results to the MATLAB® Command Window. The display includes an estimation summary and a table of parameter estimates with corresponding standard errors, t statistics, and p-values. The estimation summary includes fit statistics, such as the Akaike Information Criterion (AIC), and the estimated innovations variance.

  • If Mdl is an unestimated model returned by regARIMA, then summarize prints the standard object display (the same display that regARIMA prints during model creation).

example

results = summarize(Mdl) returns one of the following variables and does not print to the Command Window.

  • If Mdl is an estimated model, then results is a structure containing estimation results.

  • If Mdl is an unestimated model, then results is a regARIMA model object that is equal to Mdl.

Input Arguments

expand all

Regression model with ARIMA errors, specified as a regARIMA model object returned by estimate or regARIMA.

Output Arguments

expand all

Model summary, returned as a structure array or a regARIMA model object.

  • If Mdl is an estimated model, then results is a structure array containing the fields in this table.

    FieldDescription
    DescriptionModel summary description (string)
    SampleSizeEffective sample size (numeric scalar)
    NumEstimatedParametersNumber of estimated parameters (numeric scalar)
    LogLikelihoodOptimized loglikelihood value (numeric scalar)
    AICAkaike Information Criterion (numeric scalar)
    BICBayesian Information Criterion (numeric scalar)
    TableMaximum likelihood estimates of the model parameters with corresponding standard errors, t statistics (estimate divided by standard error), and p-values (assuming normality); a table with rows corresponding to model parameters

  • If Mdl is an unestimated model, then results is a regARIMA model object that is equal to Mdl.

Examples

expand all

Regress the US gross domestic product (GDP) onto the US consumer price index (CPI) using a regression model with ARMA(1,1) errors, and summarize the results.

Load the US Macroeconomic data set and preprocess the data.

load Data_USEconModel;
logGDP = log(DataTable.GDP);
dlogGDP = diff(logGDP);
dCPI = diff(DataTable.CPIAUCSL);

Fit the model to the data.

ToEstMdl = regARIMA('ARLags',1,'MALags',1);
EstMdl = estimate(ToEstMdl,dlogGDP,'X',dCPI,'Display','off');

Display the estimates.

summarize(EstMdl)
 
   ARMA(1,1) Error Model (Gaussian Distribution)
 
    Effective Sample Size: 248
    Number of Estimated Parameters: 5
    LogLikelihood: 798.406
    AIC: -1586.81
    BIC: -1569.24
 
                   Value       StandardError    TStatistic      PValue  
                 __________    _____________    __________    __________

    Intercept      0.014776      0.0014627        10.102      5.4242e-24
    AR{1}           0.60527        0.08929        6.7787      1.2123e-11
    MA{1}          -0.16165        0.10956       -1.4755         0.14009
    Beta(1)        0.002044     0.00070616        2.8946       0.0037969
    Variance     9.3578e-05     6.0314e-06        15.515      2.7338e-54

 

Estimate several models by passing the data to estimate. Vary the autoregressive and moving average degrees p and q, respectively. Estimation results contain the AIC, which you can extract and then compare among the models.

Simulate response and predictor data for the regression model with ARMA errors:

yt=2+Xt[-21.5]+utut=0.75ut-1-0.5ut-2+εt+0.7εt-1,

where εt is Gaussian with mean 0 and variance 1.

Mdl = regARIMA('Intercept',2,'Beta',[-2; 1.5],...
    'AR',{0.75, -0.5},'MA',0.7,'Variance',1);

rng(2);            % For reproducibility
X = randn(1000,2); % Predictors
y = simulate(Mdl,1000,'X',X);

To determine the number of AR and MA lags, create and estimate multiple regression models with ARMA(p, q) errors. Vary p = 1,..,3 and q = 1,...,3 among the models. Suppress all estimation displays. Extract the AIC from the estimation results structure. The field AIC stores the AIC.

pMax = 3;
qMax = 3;
AIC = zeros(pMax,qMax); % Preallocation

for p = 1:pMax
    for q = 1:qMax
        ToEstMdl = regARIMA(p,0,q);
        EstMdl = estimate(ToEstMdl,y,'X',X,'Display','off');
        results = summarize(EstMdl);
        AIC(p,q) = results.AIC;
    end
end

Compare the AIC values among the models.

minAIC = min(min(AIC))
minAIC = 2.9280e+03
[bestP,bestQ] = find(AIC == minAIC)
bestP = 2
bestQ = 1

The best fitting model is the regression model with AR(2,1) errors because its corresponding AIC is the lowest. This model also has the structure of the model used to simulate the data.

See Also

Objects

Functions

Introduced in R2018a