# 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 automtControl structure. 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.

string, specifies the format for the output header. arc.header can contain zero or more of the following characters:

 t title is to be printed. l lines are to bracket the title. d a date and time is to be printed. v version number of program is to be printed. f file name of program is to be printed

Example:

arc.header = "tld";


If arc.header = "", no header is printed. Default = "tldvf".

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.title

string, a title to be printed at the top of the output header (see arc.header). By default, no title is printed (arc.title="").

arc.tol

scalar, convergence tolerance. Default = 1e-5.

Returns

aro (struct) –

An instance of an automtOut structure 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).

## Examples¶

### Data matrices¶

new;
cls;
library tsmt;

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: DEPENDENT VARIABLE: Y Number of Observations: 200 R-squared: 0.710 Standard Error of Estimate: 1.524 Variance of White Noise Error (sigsq): 0.913 Variance of sigsq: 0.008 -2*log(likelihood): 548.000 COEFFICIENTS OF INDEPENDENT VARIABLES (beta) Variable Coef Std. Error t-Ratio P-Value ------------------------------------------------------------------- CONSTANT -0.266678 0.516473 -0.516344 0.606 X1 0.503195 0.060327 8.341081 0.000 X2 0.592405 0.059390 9.974846 0.000 AUTOREGRESSIVE PARAMETERS (Phi) Lag Phi Std. Error T-Ratio P-Value ---------------------------------------------------------------- 1 0.246131 0.065740 3.744029 0.000 2 0.263760 0.065397 4.033229 0.000 3 0.368323 0.065740 5.602763 0.000 AUTOCORRELATIONS AND AUTOCOVARIANCES Lag Autocovariances Autocorrelations ---------------------------------------------------- 0 2.322667 1.000000 1 1.563621 0.673201 2 1.573401 0.677411 3 1.655176 0.712619  ### 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:

 DEPENDENT VARIABLE:  Y
Number of Observations:     200
R-squared:     0.710
Standard Error of Estimate:     1.524
Variance of White Noise Error (sigsq):     0.913
Variance of sigsq:     0.008
-2*log(likelihood):   548.000

COEFFICIENTS OF INDEPENDENT VARIABLES (beta)

Variable        Coef           Std. Error     t-Ratio       P-Value
-------------------------------------------------------------------
CONSTANT       -0.266678       0.516473      -0.516344       0.606
X1              0.503195       0.060327       8.341081       0.000
X2              0.592405       0.059390       9.974846       0.000

AUTOREGRESSIVE PARAMETERS (Phi)

Lag         Phi            Std. Error     T-Ratio        P-Value
----------------------------------------------------------------
1           0.246131       0.065740       3.744029       0.000
2           0.263760       0.065397       4.033229       0.000
3           0.368323       0.065740       5.602763       0.000

AUTOCORRELATIONS AND AUTOCOVARIANCES

Lag           Autocovariances      Autocorrelations
----------------------------------------------------
0             2.322667             1.000000
1             1.563621             0.673201
2             1.573401             0.677411
3             1.655176             0.712619


## 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.

tsmt

## Source¶

autoregmt.src

Functions arimaFit(), arimaSS(), arimaControlCreate()