SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.stats.timeseries.linear.multivariate.stationaryprocess.arima.arma
Class ArmaxModel

java.lang.Object
  extended by com.numericalmethod.suanshu.stats.timeseries.linear.multivariate.stationaryprocess.arima.ArimaxModel
      extended by com.numericalmethod.suanshu.stats.timeseries.linear.multivariate.stationaryprocess.arima.arma.ArmaxModel
Direct Known Subclasses:
VarxModel

public class ArmaxModel
extends ArimaxModel

This class represents a multivariate ARMAX (ARMA model with eXogenous inputs) model.

The multivariate ARMAX model incorporates exogenous variables and it can be considered as a generalization of the multivariate ARMA model. Let Y_t be a multivariate ARMAX process, then

Y_t = μ + Σ φ_i * Y_{t-i} + Σ θ_j * ε_{t-j} + ψ * D_t + ε_t.
In the equation above, Y_s, μ and ε_s are n-dimensional vectors; (n * n) matrices {φ_i} and {θ_j} are the AR and MA coefficients, respectively; D_t is an (m * 1) vector which contains all exogenous variables at time t (excl. the intercept term), and its coefficients are represented by a (n * m) matrix ψ.

See Also:
Wikipedia: Autoregressive moving average model - Generalizations

Field Summary
 
Fields inherited from class com.numericalmethod.suanshu.stats.timeseries.linear.multivariate.stationaryprocess.arima.ArimaxModel
mu, phi, psi, sigma, theta
 
Constructor Summary
ArmaxModel(ArmaxModel that)
          Copy constructor.
ArmaxModel(ArmaxModel model)
          Cast a univariate ARMAX model to a multivariate model.
ArmaxModel(Matrix[] phi, Matrix[] theta, Matrix psi)
          Construct a zero-intercept (mu) multivariate ARMAX model with unit variance.
ArmaxModel(Matrix[] phi, Matrix[] theta, Matrix psi, Matrix sigma)
          Construct a zero-intercept (mu) multivariate ARMAX model.
ArmaxModel(Vector mu, Matrix[] phi, Matrix[] theta, Matrix psi)
          Construct a multivariate ARMAX model with unit variance.
ArmaxModel(Vector mu, Matrix[] phi, Matrix[] theta, Matrix psi, Matrix sigma)
          Construct a multivariate ARMAX (ARMA model with eXogenous inputs) model.
 
Method Summary
 Matrix armaxMean(Matrix arLags, Matrix maLags, Vector exVar)
          Compute the multivariate ARMAX conditional mean.
 Matrix armaxMeanNoIntercept(Matrix arLags, Matrix maLags, Vector exVar)
          Compute the zero-intercept (mu) multivariate ARMAX conditional mean.
 
Methods inherited from class com.numericalmethod.suanshu.stats.timeseries.linear.multivariate.stationaryprocess.arima.ArimaxModel
AR, AR, d, dimension, getArmax, MA, MA, maxPQ, mu, p, psi, q, sigma
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArmaxModel

public ArmaxModel(Vector mu,
                  Matrix[] phi,
                  Matrix[] theta,
                  Matrix psi,
                  Matrix sigma)
Construct a multivariate ARMAX (ARMA model with eXogenous inputs) model.

Parameters:
mu - the intercept (constant) vector
phi - the AR coefficients (excluding the initial 1); null if no AR coefficient
theta - the MA coefficients (excluding the initial 1); null if no MA coefficient
psi - the coefficients of the deterministic terms (excluding the intercept term)
sigma - the covariance matrix of white noise

ArmaxModel

public ArmaxModel(Vector mu,
                  Matrix[] phi,
                  Matrix[] theta,
                  Matrix psi)
Construct a multivariate ARMAX model with unit variance.

Parameters:
mu - the intercept (constant) vector
phi - the AR coefficients (excluding the initial 1); null if no AR coefficient
theta - the MA coefficients (excluding the initial 1); null if no MA coefficient
psi - the coefficients of the deterministic terms (excluding the intercept term)

ArmaxModel

public ArmaxModel(Matrix[] phi,
                  Matrix[] theta,
                  Matrix psi,
                  Matrix sigma)
Construct a zero-intercept (mu) multivariate ARMAX model.

Parameters:
phi - the AR coefficients (excluding the initial 1); null if no AR coefficient
theta - the MA coefficients (excluding the initial 1); null if no MA coefficient
psi - the coefficients of the deterministic terms (excluding the intercept term)
sigma - the covariance matrix of white noise

ArmaxModel

public ArmaxModel(Matrix[] phi,
                  Matrix[] theta,
                  Matrix psi)
Construct a zero-intercept (mu) multivariate ARMAX model with unit variance.

Parameters:
phi - the AR coefficients (excluding the initial 1); null if no AR coefficient
theta - the MA coefficients (excluding the initial 1); null if no MA coefficient
psi - the coefficients of the deterministic terms (excluding the intercept term)

ArmaxModel

public ArmaxModel(ArmaxModel that)
Copy constructor.

Parameters:
that - a multivariate ARMAX model

ArmaxModel

public ArmaxModel(ArmaxModel model)
Cast a univariate ARMAX model to a multivariate model.

Parameters:
model - a univariate ARIMA model
Method Detail

armaxMeanNoIntercept

public Matrix armaxMeanNoIntercept(Matrix arLags,
                                   Matrix maLags,
                                   Vector exVar)
Compute the zero-intercept (mu) multivariate ARMAX conditional mean.

Parameters:
arLags - the AR lags
maLags - the MA lags
exVar - the exogenous variables
Returns:
the conditional mean

armaxMean

public Matrix armaxMean(Matrix arLags,
                        Matrix maLags,
                        Vector exVar)
Compute the multivariate ARMAX conditional mean.

Parameters:
arLags - the AR lags
maLags - the MA lags
exVar - the exogenous variables
Returns:
the conditional mean

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.