# SuanShu, a Java numerical and statistical library

## com.numericalmethod.suanshu.stats.timeseries.linear.univariate.stationaryprocess.arma Class ARMAXModel

java.lang.Object
com.numericalmethod.suanshu.stats.timeseries.linear.univariate.arima.ARIMAXModel
com.numericalmethod.suanshu.stats.timeseries.linear.univariate.stationaryprocess.arma.ARMAXModel


public class ARMAXModelextends ARIMAXModel

The ARMAX model (ARIMA model with eXogenous inputs) is a generalization of the ARMA model by incorporating exogenous variables. Xt is an ARMAX(p, q) process, for which $X_t = \mu + \sum_{i=1}^p \phi_i X_{t-i} + \sum_{i=1}^q \theta_j \epsilon_{t-j} + \psi' D_t + \epsilon_t,$ where 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 m-dimensional vector ψ.

Wikipedia: Autoregressive moving average model with exogenous inputs model (ARMAX model)

Constructor Summary
ARMAXModel(ARMAXModel that)
Copy constructor.
ARMAXModel(double[] AR, double[] MA, double[] psi)
Construct a univariate ARMAX model with unit variance and zero-intercept (mu).
ARMAXModel(double[] AR, double[] MA, double[] psi, double sigma)
Construct a univariate ARMAX model with zero-intercept (mu).
ARMAXModel(double mu, double[] AR, double[] MA, double[] psi)
Construct a univariate ARMAX model with unit variance.
ARMAXModel(double mu, double[] AR, double[] MA, double[] psi, double sigma)
Construct a univariate ARMAX model.

Method Summary
 double armaxMean(double[] arLags, double[] maLags, double[] exVar)
Compute the univariate ARMAX conditional mean.

Methods inherited from class com.numericalmethod.suanshu.stats.timeseries.linear.univariate.arima.ARIMAXModel
AR, d, getARMAX, MA, maxPQ, mu, p, phi, phiPolynomial, psi, q, sigma, theta, thetaPolynomial, toString

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail

### ARMAXModel

public ARMAXModel(double mu,
double[] AR,
double[] MA,
double[] psi,
double sigma)
Construct a univariate ARMAX model.

Parameters:
mu - the intercept (constant) term
AR - the AR coefficients (excluding the initial 1); null if no AR coefficients
MA - the MA coefficients (excluding the initial 1); null if no MA coefficients
psi - the coefficients of the deterministic terms (excluding the intercept term)
sigma - the white noise variance

### ARMAXModel

public ARMAXModel(double mu,
double[] AR,
double[] MA,
double[] psi)
Construct a univariate ARMAX model with unit variance.

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

### ARMAXModel

public ARMAXModel(double[] AR,
double[] MA,
double[] psi,
double sigma)
Construct a univariate ARMAX model with zero-intercept (mu).

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

### ARMAXModel

public ARMAXModel(double[] AR,
double[] MA,
double[] psi)
Construct a univariate ARMAX model with unit variance and zero-intercept (mu).

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

### ARMAXModel

public ARMAXModel(ARMAXModel that)
Copy constructor.

Parameters:
that - a univariate ARMAX model
Method Detail

### armaxMean

public double armaxMean(double[] arLags,
double[] maLags,
double[] exVar)
Compute the univariate ARMAX conditional mean.

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