Class 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 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