# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.stats.timeseries.linear.multivariate.arima

## Class VARIMAXModel

• java.lang.Object
• com.numericalmethod.suanshu.stats.timeseries.linear.multivariate.arima.VARIMAXModel
• Direct Known Subclasses:
VARIMAModel, VARMAXModel

public class VARIMAXModel
extends Object
The ARIMAX model (ARIMA model with eXogenous inputs) is a generalization of the ARIMA model by incorporating exogenous variables. Letting L be the lag operator, the d-th difference of a multivariate ARIMAX(p, d, q) process Yt is $X_t = (1 - L)^d Y_t$ where Xt is an ARMAX(p, q) process, for which $X_t = \mu + \Sigma \phi_i X_{t-i} + \Sigma \theta_j \epsilon_{t-j} + \psi' D_t + \epsilon_t,$ Xt, μ and εt are n-dimensional vectors. The (n * n) matrices $${\phi_i}$$ and $${\theta_j}$$ are the AR and MA coefficients respectively. Dt is an (m * 1) vector which contains all exogenous variables at time t (excluding the intercept term), and its coefficients are represented by an (n * m) matrix ψ.
• ### Constructor Summary

Constructors
Constructor and Description
VARIMAXModel(ARIMAXModel model)
Construct a multivariate ARIMAX model from a univariate ARIMAX model.
VARIMAXModel(Matrix[] phi, int d, Matrix[] theta, Matrix psi)
Construct a multivariate ARIMAX model with unit variance and zero-intercept (mu).
VARIMAXModel(Matrix[] phi, int d, Matrix[] theta, Matrix psi, Matrix sigma)
Construct a multivariate ARIMAX model with zero-intercept (mu).
VARIMAXModel(VARIMAXModel that)
Copy constructor.
VARIMAXModel(Vector mu, Matrix[] phi, int d, Matrix[] theta, Matrix psi)
Construct a multivariate ARIMAX model with unit variance.
VARIMAXModel(Vector mu, Matrix[] phi, int d, Matrix[] theta, Matrix psi, Matrix sigma)
Construct a multivariate ARIMAX model.
• ### Method Summary

All Methods
Modifier and Type Method and Description
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.
VARMAXModel getVARMAX()
Get the ARMAX part of this ARIMAX model, essentially ignoring the differencing.
ImmutableMatrix MA(int i)
Get the i-th MA coefficient; MA(0) = 1.
int maxPQ()
Get the maximum of AR length or MA length.
ImmutableVector mu()
Get the intercept (constant) vector.
int p()
Get the number of AR terms.
ImmutableMatrix[] phi()
Get all the AR coefficients.
ImmutableMatrix psi()
Get the coefficients of the deterministic terms.
int q()
Get the number of MA terms.
ImmutableMatrix sigma()
Get the white noise covariance matrix.
ImmutableMatrix[] theta()
Get all the MA coefficients.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Constructor Detail

• #### VARIMAXModel

public VARIMAXModel(Vector mu,
Matrix[] phi,
int d,
Matrix[] theta,
Matrix psi,
Matrix sigma)
Construct a multivariate ARIMAX 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 white noise covariance matrix
• #### VARIMAXModel

public VARIMAXModel(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)
• #### VARIMAXModel

public VARIMAXModel(Matrix[] phi,
int d,
Matrix[] theta,
Matrix psi,
Matrix sigma)
Construct a multivariate ARIMAX model with zero-intercept (mu).
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 white noise covariance matrix
• #### VARIMAXModel

public VARIMAXModel(Matrix[] phi,
int d,
Matrix[] theta,
Matrix psi)
Construct a multivariate ARIMAX model with unit variance and zero-intercept (mu).
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)
• #### VARIMAXModel

public VARIMAXModel(VARIMAXModel that)
Copy constructor.
Parameters:
that - a multivariate ARIMAX model
• #### VARIMAXModel

public VARIMAXModel(ARIMAXModel model)
Construct a multivariate ARIMAX model from a univariate ARIMAX model.
Parameters:
model - a univariate ARIMAX model
• ### Method Detail

• #### mu

public ImmutableVector mu()
Get the intercept (constant) 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
• #### phi

public ImmutableMatrix[] phi()
Get all the AR coefficients.
Returns:
all the AR coefficients
• #### MA

public ImmutableMatrix MA(int i)
Get the i-th MA coefficient; MA(0) = 1.
Parameters:
i - an index
Returns:
the i-th MA coefficient
• #### theta

public ImmutableMatrix[] theta()
Get all the MA coefficients.
Returns:
all the MA coefficients
• #### 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 white noise covariance matrix.
Returns:
the white noise covariance matrix
• #### getVARMAX

public VARMAXModel getVARMAX()
Get the ARMAX part of this ARIMAX model, essentially ignoring the differencing.
Returns:
the ARMAX part