autoregFit¶
Purpose¶
Estimates coefficients of a regression model with autoregressive errors of any specified order.
Format¶
-
aro =
autoregFit(y, x, lagvars, order[, arc])¶ -
aro =
autoregFit(dataset, formula, lagvars, order[, arc]) Parameters: - y (Nx1 vector) – data.
- x (Nxk vector) – independent data.
- dataset (string) – name of data set or null string.
- formula (string) – formula string of the model. E.g.
"y ~ X1 + X2"‘y’ is the name of dependent variable, ‘X1’ and ‘X2’ are names of independent variables; E.g."y ~ .",.means including all variables except dependent variable ‘y’; - lagvars (Kx1 vector) – the number of periods to lag the variables inindvars. If there are no lagged variables, set to scalar 0. The variables in indvars will be lagged the number of periods indicated in the corresponding entries inlagvars. The dependent variable in depvar can be included in indvars can be repeated if each corresponding entry in lagvars is a different value.
- order (scalar) – order of the autoregressive process; must be greater than 0 and less than the number of observations.
- arc (struct) –
Optional input. Instance of an
automtControlstructure. The following members of arc are referenced within this routine:arc.const scalar. If 1, constant will be used in model; else not. Default = 1. arc.init scalar. If 1, only initial estimates will be computed. Default = 0. arc.iter scalar. If 0, iteration information will not be printed. If 1, iteration information will be printed (arc.outputmust be nonzero). Default = 0. arc.maxvec scalar, the maximum number of elements allowed in any one matrix. Default = 20000. arc.output scalar, if nonzero, results are printed to screen. Default = 1. arc.tol scalar, convergence tolerance. Default = 1e-5.
Returns: aro (struct) –
An instance of an
automtOutstructure containing the following members:aro.acor (L+1)x1 vector, autocorrelations. aro.acov (L+1)x1 vector, autocovariances. aro.chisq scalar, -2* log-likelihood. aro.coefs Kx1 vector, estimated regression coefficients. aro.phi Lx1 vector, lag coefficients. aro.rsq scalar, explained variance. aro.sigsq scalar, variance of white noise error. aro.tobs scalar, number of observations. aro.vcb KxK matrix, covariance matrix of estimated regression coefficients. aro.vcphi LxL matrix, covariance matrix of phi. aro.vsig scalar, variance of aro.sigsq (variance of the variance of white noise error). aro.tsmtDesc An instance of the
tsmtModelDescstructure containing the following members:tsmtDesc.depvar Kx1 string array, names of endogenous variables. tsmtDesc.indvars Mx1 string array, names of exogenous variables. tsmtDesc.timespan 2x1 string array, range of the time series. Available if date vector is passed as part of a dataframe input. tsmtDesc.ncases Scalar, number of observations. tsmtDesc.df Scalar, degrees of freedom. tsmtDesc.model_name String, model name. aro.sumStats An instance of the
tsmtSummaryStatsstructure containing the following members:sumStats.sse Vector, sum of the squared errors of estimates for endogenous variables in the model. sumStats.mse Vector, mean squared errors of estimates for endogenous variables in the model. sumStats.rmse Vector, root mean squared errors of estimates for endogenous variables in the model. sumStats.see Vector, standard error of the estimates for endogenous variables in the model. sumStats.rsq Vector, r-squared of estimates for endogenous variables in the model. sumStats.AdjRsq Scalar, adjusted r-squared of estimates for endogenous variables in the model. sumStats.ssy Scalar, total sum of the squares for endogenous variables in the model. sumStats.DW Scalar, Durbin-Watson statistic for residuals from the estimates for endogenous variables in the model. aro.ll Scalar, the model log-likelihood. aro.aic Scalar, the model AIC. aro.sbc Scalar, the model SBC.
Examples¶
Data matrices¶
new;
cls;
library tsmt;
//Load data
data = loadd(getGAUSSHome("pkgs/tsmt/examples/autoregmt.dat"));
y = data[., 1];
x = data[., 2 3];
//Lag of independent variables
lag_vars = 0;
//Autoregressive order
order = 3;
//Initialized automtOut structure
struct automtOut aro;
//Call autoregFit function
aro = autoregFit(y, x, lag_vars, order);
The final results are:
ML ESTIMATES
================================================================================
Model: AUTOREG(3) Dependent variable: Y
Time Span: Unknown Valid cases: 200
SSE: 484.481 Degrees of freedom: 197
Log Likelihood: 554.456 RMSE: 1.556
AIC: -1102.912 SEE: 1.568
SBC: -1093.017 Durbin-Watson: 0.664
R-squared: 0.231 Rbar-squared: 0.219
================================================================================
COEFFICIENTS OF INDEPENDENT VARIABLES (beta)
Coefficient Estimate Std. Err. T-Ratio Prob |>| t
================================================================================
CONSTANT -0.267 0.516 -0.516 0.606
X1 0.503 0.060 8.341 0.000
X2 0.592 0.059 9.975 0.000
================================================================================
AUTOREGRESSIVE PARAMETERS (phi)
Lag Estimate Std. Err. T-Ratio Prob |>| t
================================================================================
Y L(1) 0.246 0.066 3.744 0.000
Y L(2) 0.264 0.065 4.033 0.000
Y L(3) 0.368 0.066 5.603 0.000
================================================================================
AUTOCORRELATIONS AND AUTOCOVARIANCES
Lag Autocovariances Autocorrelations
============================================================
L(0) 2.323 1.000
L(1) 1.564 0.673
L(2) 1.573 0.677
L(3) 1.655 0.713
Dataset and formula string¶
new;
cls;
library tsmt;
// Lag of independent variables
lag_vars = 0;
// Autoregressive order
order = 3;
// Initialized automtOut structure
struct automtOut aro;
// Call autoregFit function
aro = autoregFit(getGAUSSHome("pkgs/tsmt/examples/autoregmt.dat"), "Y ~ X1 + X2", lag_vars, order);
The results printed to screen are:
ML ESTIMATES
================================================================================
Model: AUTOREG(3) Dependent variable: Y
Time Span: Unknown Valid cases: 200
SSE: 484.481 Degrees of freedom: 197
Log Likelihood: 554.456 RMSE: 1.556
AIC: -1102.912 SEE: 1.568
SBC: -1093.017 Durbin-Watson: 0.664
R-squared: 0.231 Rbar-squared: 0.219
================================================================================
COEFFICIENTS OF INDEPENDENT VARIABLES (beta)
Coefficient Estimate Std. Err. T-Ratio Prob |>| t
================================================================================
CONSTANT -0.267 0.516 -0.516 0.606
X1 0.503 0.060 8.341 0.000
X2 0.592 0.059 9.975 0.000
================================================================================
AUTOREGRESSIVE PARAMETERS (phi)
Lag Estimate Std. Err. T-Ratio Prob |>| t
================================================================================
Y L(1) 0.246 0.066 3.744 0.000
Y L(2) 0.264 0.065 4.033 0.000
Y L(3) 0.368 0.066 5.603 0.000
================================================================================
AUTOCORRELATIONS AND AUTOCOVARIANCES
Lag Autocovariances Autocorrelations
============================================================
L(0) 2.323 1.000
L(1) 1.564 0.673
L(2) 1.573 0.677
L(3) 1.655 0.713
Remarks¶
This program will handle only datasets that fit in memory.
All autoregressive parameters are estimated up to the specified lag. You cannot estimate only the first and fourth lags, for instance.
The algorithm will fail if the model is not stationary at the estimated parameters. Thus, in that sense it automatically tests for stationarity.
Library¶
tsmt