Class VARIMAXModel
- java.lang.Object
-
- dev.nm.stat.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 Description 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(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.VARIMAXModel(VARIMAXModel that)
Copy constructor.VARIMAXModel(ARIMAXModel model)
Construct a multivariate ARIMAX model from a univariate ARIMAX model.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.
-
-
-
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) vectorphi
- the AR coefficients (excluding the initial 1);null
if no AR coefficientd
- the order of integrationtheta
- the MA coefficients (excluding the initial 1);null
if no MA coefficientpsi
- 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) vectorphi
- the AR coefficients (excluding the initial 1);null
if no AR coefficientd
- the order of integrationtheta
- the MA coefficients (excluding the initial 1);null
if no MA coefficientpsi
- 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 coefficientd
- the order of integrationtheta
- the MA coefficients (excluding the initial 1);null
if no MA coefficientpsi
- 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 coefficientd
- the order of integrationtheta
- the MA coefficients (excluding the initial 1);null
if no MA coefficientpsi
- 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
-
-