arimaFit#
Purpose#
Estimates coefficients of a univariate time series model with autoregressive-moving average errors. Model may include fixed regressors.
Format#
- amo = arimaFit(y, p[, d, q, amc])#
- amo = arimaFit(data, var, p[, d, q, amc])
- Parameters:
y (Nx1 vector) – data.
data (string) – name of data set or null string.
var (string) – formula string of the model. E.g.
"y ~ X1 + X2"
, y is the name of dependent variable,X1
andX2
are names of independent variables; E.g."y ~ ."
, ‘.’ means including all variables except dependent variable y;p (Scalar) – the autoregressive order.
d (scalar) – Optional input, the order of differencing. Default = 0.
q (scalar) – Optional input, the moving average order. Default = 0.
amc (struct) –
Optional input. An instance of an
arimamtControl
structure. The following members of amc are referenced within this routine:amc.const
If fixed regressors: NxM matrix, N must be the same as y after it has been differenced.
Else: Scalar, if 1, a constant is estimated; 0 otherwise. Default = 1.
amc.itol
Matrix, 3x1 , controls the convergence criterion.
- [1]:
Maximum number of iterations.
Default = 100.
- [2]:
Minimum percentage change in the sum of squared errors.
Default = 1e-8.
- [3]:
Minimum percentage change in the parameter values.
Default = 1e-6.
amc.output
Scalar, controls printing of output.
Default = 1.
- 0:
Nothing will be printed by arimaFit.
- 1:
Final results are printed.
- 2:
Final results, iterations results, residual a utocorrelations, Box-Ljung statistic, and covariance and correlation matrices are printed.
amc.ranktol
Scalar, the tolerance used in determining if any of the singular values are effectively zero when computing the rank of a matrix.
Default = 1e-13.
amc.start
vector of starting values in order of AR, MA, and Constant; or a scalar, 0, which instructs arimaFit to compute starting values;
Default = 0.
amc.varn
Character, 1x(M+1) vector of parameter names. This is used for models with fixed regressors. The first element contains the name of the independent variable; the second through \(Mth\) elements contain the variable names for the fixed regressors. If
amc.varn = 0
, the fixed regressors labeled as \(X_0, X_1, ..., X_M\).Default = 0.
- Returns:
amo (struct) –
An instance of an
arimamtOut
structure containing the following members:amo.aic
Scalar, value of the Akaike information criterion.
amo.b
Kx1 vector, estimated model coefficients.
amo.e
Nx1 vector, residual from fitted model.
amo.ll
Scalar, the value of the log likelihood function.
amo.sbc
Scalar, value of the Schwartz Bayesian criterion.
amo.vcb
KxK matrix, the covariance matrix of estimated model coefficients.
Examples#
AR(1)#
new;
cls;
library tsmt;
//Simulate data
seed = 423458;
y = simarmamt(.3, 1, 0, 2, 0, 250, 1, .5, seed);
//Declare arima out structures
struct arimamtOut amo;
//Set AR order
p = 1;
//Estimate model
amo = arimaFit(y, p);
Integrated AR(1)#
new;
cls;
library tsmt;
// Simulate data
seed = 423458;
y = simarmamt(.3, 1, 0, 2, 0, 250, 1, .5, seed);
// Integrated series
z = cumsumc(y);
// Declare arima out structures
struct arimamtOut amo;
// Set AR order
p = 1;
// Set order of differencing
d = 1;
// Estimate model
amo = arimaFit(z, p, d);
AR(2) Using dataset and formula string#
new;
cls;
library tsmt;
// Filename
fname = getGAUSSHome() $+ "pkgs/tsmt/examples/enders_sim2.dat";
// Declare arima out structures
struct arimamtOut amo;
// Set AR order
p = 2;
// Run arima estimation
amo = arimaFit(fname, "ar2", p);
The example above prints the following results:
Model: ARIMA(2,0,0)
Final Results:
Log Likelihood: 200.167329 Number of Residuals: 100
AIC : -396.334658 Error Variance : 0.088081041
SBC : -391.124317 Standard Error : 0.296784502
DF: 98 SSE: 8.631942002
Coefficients Std. Err. T-Ratio Approx. Prob.
AR[1,1] 0.69112 0.08760 7.88927 0.00000
AR[2,1]-0.48468 0.08780 -5.52026 0.00000
Constant: -0.01830559
Total Computation Time: 0.00 (seconds)
AR Roots and Moduli:
Real : 0.71296 0.71296
Imag.: 1.24695 -1.24695
Mod. : 1.43638 1.43638
Remarks#
There are other members of the arimamtControl
structure which are
used by the arimaFit()
likelihood function but need not be set by the
user: amc.b
, amc.y
, amc.n
, amc.e
, amc.k
, amc.m
, amc.inter
.
arimaFit()
forces the autoregressive coefficients to be invertible (in
other words, the autoregressive roots have modulus greater than one).
The moving average roots will have modulus one or greater. If a
moving average root is one, arimaFit()
reports a missing value for the
moving average coefficient’s standard deviation, t-statistic and
p-value. This is because these values are meaningless when one of the
moving average roots is equal to one. A moving average root equal to
one suggests that the data may have been over-differenced.
Library#
tsmt
Source#
arimamt.src
See also
Functions arimaFit()
, arimaSS()