statsmodels.tsa.statespace.varmax.VARMAX¶
-
class
statsmodels.tsa.statespace.varmax.
VARMAX
(endog, exog=None, order=(1, 0), trend='c', error_cov_type='unstructured', measurement_error=False, enforce_stationarity=True, enforce_invertibility=True, **kwargs)[source]¶ Vector Autoregressive Moving Average with eXogenous regressors model
Parameters: - endog (array_like) – The observed time-series process \(y\), , shaped nobs x k_endog.
- exog (array_like, optional) – Array of exogenous regressors, shaped nobs x k.
- order (iterable) – The (p,q) order of the model for the number of AR and MA parameters to use.
- trend ({'nc', 'c'}, optional) – Parameter controlling the deterministic trend polynomial. Can be specified as a string where ‘c’ indicates a constant intercept and ‘nc’ indicates no intercept term.
- error_cov_type ({'diagonal', 'unstructured'}, optional) – The structure of the covariance matrix of the error term, where “unstructured” puts no restrictions on the matrix and “diagonal” requires it to be a diagonal matrix (uncorrelated errors). Default is “unstructured”.
- measurement_error (boolean, optional) – Whether or not to assume the endogenous observations endog were measured with error. Default is False.
- enforce_stationarity (boolean, optional) – Whether or not to transform the AR parameters to enforce stationarity in the autoregressive component of the model. Default is True.
- enforce_invertibility (boolean, optional) – Whether or not to transform the MA parameters to enforce invertibility in the moving average component of the model. Default is True.
- kwargs – Keyword arguments may be used to provide default values for state space matrices or for Kalman filtering options. See Representation, and KalmanFilter for more details.
-
order
¶ The (p,q) order of the model for the number of AR and MA parameters to use.
Type: iterable
-
trend
¶ Parameter controlling the deterministic trend polynomial. Can be specified as a string where ‘c’ indicates a constant intercept and ‘nc’ indicates no intercept term.
Type: {‘nc’, ‘c’}, optional
-
error_cov_type
¶ The structure of the covariance matrix of the error term, where “unstructured” puts no restrictions on the matrix and “diagonal” requires it to be a diagonal matrix (uncorrelated errors). Default is “unstructured”.
Type: {‘diagonal’, ‘unstructured’}, optional
-
measurement_error
¶ Whether or not to assume the endogenous observations endog were measured with error. Default is False.
Type: boolean, optional
-
enforce_stationarity
¶ Whether or not to transform the AR parameters to enforce stationarity in the autoregressive component of the model. Default is True.
Type: boolean, optional
-
enforce_invertibility
¶ Whether or not to transform the MA parameters to enforce invertibility in the moving average component of the model. Default is True.
Type: boolean, optional
Notes
Generically, the VARMAX model is specified (see for example chapter 18 of [1]):
\[y_t = \nu + A_1 y_{t-1} + \dots + A_p y_{t-p} + B x_t + \epsilon_t + M_1 \epsilon_{t-1} + \dots M_q \epsilon_{t-q}\]where \(\epsilon_t \sim N(0, \Omega)\), and where \(y_t\) is a k_endog x 1 vector. Additionally, this model allows considering the case where the variables are measured with error.
Note that in the full VARMA(p,q) case there is a fundamental identification problem in that the coefficient matrices \(\{A_i, M_j\}\) are not generally unique, meaning that for a given time series process there may be multiple sets of matrices that equivalently represent it. See Chapter 12 of [1] for more informationl. Although this class can be used to estimate VARMA(p,q) models, a warning is issued to remind users that no steps have been taken to ensure identification in this case.
References
[1] (1, 2) Lütkepohl, Helmut. 2007. New Introduction to Multiple Time Series Analysis. Berlin: Springer. Methods
filter
(params[, transformed, complex_step, …])Kalman filtering fit
([start_params, transformed, cov_type, …])Fits the model by maximum likelihood via Kalman filter. from_formula
(formula, data[, subset])Not implemented for state space models hessian
(params, *args, **kwargs)Hessian matrix of the likelihood function, evaluated at the given parameters impulse_responses
(params[, steps, impulse, …])Impulse response function information
(params)Fisher information matrix of model initialize
()Initialize (possibly re-initialize) a Model instance. initialize_approximate_diffuse
([variance])initialize_known
(initial_state, …)initialize_statespace
(**kwargs)Initialize the state space representation initialize_stationary
()loglike
(params, *args, **kwargs)Loglikelihood evaluation loglikeobs
(params[, transformed, complex_step])Loglikelihood evaluation observed_information_matrix
(params[, …])Observed information matrix opg_information_matrix
(params[, …])Outer product of gradients information matrix predict
(params[, exog])After a model has been fit predict returns the fitted values. prepare_data
()Prepare data for use in the state space representation score
(params, *args, **kwargs)Compute the score function at params. score_obs
(params[, method, transformed, …])Compute the score per observation, evaluated at params set_conserve_memory
([conserve_memory])Set the memory conservation method set_filter_method
([filter_method])Set the filtering method set_inversion_method
([inversion_method])Set the inversion method set_smoother_output
([smoother_output])Set the smoother output set_stability_method
([stability_method])Set the numerical stability method simulate
(params, nsimulations[, …])Simulate a new time series following the state space model simulation_smoother
([simulation_output])Retrieve a simulation smoother for the state space model. smooth
(params[, transformed, complex_step, …])Kalman smoothing transform_jacobian
(unconstrained[, …])Jacobian matrix for the parameter transformation function transform_params
(unconstrained)Transform unconstrained parameters used by the optimizer to constrained parameters used in likelihood evaluation untransform_params
(constrained)Transform constrained parameters used in likelihood evaluation to unconstrained parameters used by the optimizer. update
(params, **kwargs)Update the parameters of the model Attributes
endog_names
Names of endogenous variables exog_names
initial_variance
initialization
loglikelihood_burn
param_names
(list of str) List of human readable parameter names (for parameters actually included in the model). start_params
(array) Starting parameters for maximum likelihood estimation. tolerance