SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.stats.timeseries.linear.multivariate.stationaryprocess.arima
Class ArimaxModel

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

public class ArimaxModel
extends java.lang.Object

This class represents a multivariate ARIMAX (ARIMA model with eXogenous inputs) model.

The multivariate ARIMAX model incorporates exogenous variables and it can be considered as a generalization of the multivariate ARIMA model. Letting L be lag operator, the d-th difference of a multivariate ARIMAX(p, d, q) process Y_t is

X_t = (1 - L) ^ d * Y_t,
where X_t is an ARMAX(p, q) process, for which
X_t = μ + Σ φ_i * X_{t-i} + Σ θ_j * ε_{t-j} + ψ * D_t + ε_t.
In the equation above, X_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 ψ.


Field Summary
protected  ImmutableVector mu
          the intercept (constant) vector
protected  ImmutableMatrix[] phi
          the AR coefficients
protected  ImmutableMatrix psi
          the coefficients of the deterministic terms (excluding the intercept term)
protected  ImmutableMatrix sigma
          the covariance matrix of white noise
protected  ImmutableMatrix[] theta
          the MA coefficients
 
Constructor Summary
ArimaxModel(ArimaxModel that)
          Copy constructor.
ArimaxModel(ArimaxModel model)
          Cast a univariate ARIMAX model to a multivariate model.
ArimaxModel(Matrix[] phi, int d, Matrix[] theta, Matrix psi)
          Construct a zero-intercept (mu) multivariate ARIMAX model with unit variance.
ArimaxModel(Matrix[] phi, int d, Matrix[] theta, Matrix psi, Matrix sigma)
          Construct a zero-intercept (mu) multivariate ARIMAX model.
ArimaxModel(Vector mu, Matrix[] phi, int d, Matrix[] theta, Matrix psi)
          Construct a multivariate ARIMAX model with unit variance.
ArimaxModel(Vector mu, Matrix[] phi, int d, Matrix[] theta, Matrix psi, Matrix sigma)
          Construct a multivariate ARIMAX (ARIMA model with eXogenous inputs) model.
 
Method Summary
 ImmutableMatrix[] AR()
          Get the AR coefficients, excluding the initial 1.
 ImmutableMatrix AR(int i)
          Get the i-th AR coefficient; AR(0) = 1.
 int d()
          Get the order of integration.
 int dimension()
          Get the dimension of multivariate time series.
 ArmaxModel getArmax()
          Get the ARMAX specification of this ARIMAX model, essentially ignoring the differencing.
 ImmutableMatrix[] MA()
          Get the MA coefficients, excluding the initial 1.
 ImmutableMatrix MA(int i)
          Get the i-th MA coefficient; AR(0) = 1.
 int maxPQ()
          Get the maximum of AR length or MA length.
 ImmutableVector mu()
          Get the intercept vector.
 int p()
          Get the number of AR terms.
 ImmutableMatrix psi()
          Get the coefficients of the deterministic terms.
 int q()
          Get the number of MA terms.
 ImmutableMatrix sigma()
          Get the covariance matrix of white noise.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mu

protected final ImmutableVector mu
the intercept (constant) vector


phi

protected final ImmutableMatrix[] phi
the AR coefficients


theta

protected final ImmutableMatrix[] theta
the MA coefficients


psi

protected final ImmutableMatrix psi
the coefficients of the deterministic terms (excluding the intercept term)


sigma

protected final ImmutableMatrix sigma
the covariance matrix of white noise

Constructor Detail

ArimaxModel

public ArimaxModel(Vector mu,
                   Matrix[] phi,
                   int d,
                   Matrix[] theta,
                   Matrix psi,
                   Matrix sigma)
Construct a multivariate ARIMAX (ARIMA model with eXogenous inputs) model.

Parameters:
mu - the intercept (constant) vector
phi - the AR coefficients (excluding the initial 1); null if no AR coefficient
d - the order of integration
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

ArimaxModel

public ArimaxModel(Vector mu,
                   Matrix[] phi,
                   int d,
                   Matrix[] theta,
                   Matrix psi)
Construct a multivariate ARIMAX model with unit variance.

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

ArimaxModel

public ArimaxModel(Matrix[] phi,
                   int d,
                   Matrix[] theta,
                   Matrix psi,
                   Matrix sigma)
Construct a zero-intercept (mu) multivariate ARIMAX model.

Parameters:
phi - the AR coefficients (excluding the initial 1); null if no AR coefficient
d - the order of integration
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

ArimaxModel

public ArimaxModel(Matrix[] phi,
                   int d,
                   Matrix[] theta,
                   Matrix psi)
Construct a zero-intercept (mu) multivariate ARIMAX model with unit variance.

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

ArimaxModel

public ArimaxModel(ArimaxModel that)
Copy constructor.

Parameters:
that - a multivariate ARIMAX model

ArimaxModel

public ArimaxModel(ArimaxModel model)
Cast a univariate ARIMAX model to a multivariate model.

Parameters:
model - a univariate ARIMAX model
Method Detail

mu

public ImmutableVector mu()
Get the intercept vector.

Returns:
the intercept (constant) vector

AR

public ImmutableMatrix AR(int i)
Get the i-th AR coefficient; AR(0) = 1.

Parameters:
i - an index
Returns:
the i-th AR coefficient

AR

public ImmutableMatrix[] AR()
Get the AR coefficients, excluding the initial 1.

Returns:
the AR coefficients; could be null

MA

public ImmutableMatrix MA(int i)
Get the i-th MA coefficient; AR(0) = 1.

Parameters:
i - an index
Returns:
the i-th MA coefficient

MA

public ImmutableMatrix[] MA()
Get the MA coefficients, excluding the initial 1.

Returns:
the MA coefficients; could be null

psi

public ImmutableMatrix psi()
Get the coefficients of the deterministic terms.

Returns:
the coefficients of the deterministic terms; could be null

d

public int d()
Get the order of integration.

Returns:
the order of integration

dimension

public int dimension()
Get the dimension of multivariate time series.

Returns:
the dimension of multivariate time series

p

public int p()
Get the number of AR terms.

Returns:
the number of AR terms

q

public int q()
Get the number of MA terms.

Returns:
the number of MA terms

maxPQ

public int maxPQ()
Get the maximum of AR length or MA length.

Returns:
max(AR terms, MA terms)

sigma

public ImmutableMatrix sigma()
Get the covariance matrix of white noise.

Returns:
the covariance matrix of white noise

getArmax

public ArmaxModel getArmax()
Get the ARMAX specification of this ARIMAX model, essentially ignoring the differencing.

Returns:
the ARMAX specification

SuanShu, a Java numerical and statistical library

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