statsmodels.tsa.statespace.varmax.VARMAX.simulate¶
- VARMAX.simulate(params, nsimulations, measurement_shocks=None, state_shocks=None, initial_state=None, anchor=None, repetitions=None, exog=None, extend_model=None, extend_kwargs=None, transformed=True, includes_fixed=False, **kwargs)[source]¶
Simulate a new time series following the state space model
- Parameters:
- paramsarray_like
Array of parameters to use in constructing the state space representation to use when simulating.
- nsimulations
int
The number of observations to simulate. If the model is time-invariant this can be any number. If the model is time-varying, then this number must be less than or equal to the number of observations.
- measurement_shocksarray_like,
optional
If specified, these are the shocks to the measurement equation, \(\varepsilon_t\). If unspecified, these are automatically generated using a pseudo-random number generator. If specified, must be shaped nsimulations x k_endog, where k_endog is the same as in the state space model.
- state_shocksarray_like,
optional
If specified, these are the shocks to the state equation, \(\eta_t\). If unspecified, these are automatically generated using a pseudo-random number generator. If specified, must be shaped nsimulations x k_posdef where k_posdef is the same as in the state space model.
- initial_statearray_like,
optional
If specified, this is the initial state vector to use in simulation, which should be shaped (k_states x 1), where k_states is the same as in the state space model. If unspecified, but the model has been initialized, then that initialization is used. This must be specified if anchor is anything other than “start” or 0 (or else you can use the simulate method on a results object rather than on the model object).
- anchor
int
,str
,or
datetime
,optional
First period for simulation. The simulation will be conditional on all existing datapoints prior to the anchor. Type depends on the index of the given endog in the model. Two special cases are the strings ‘start’ and ‘end’. start refers to beginning the simulation at the first period of the sample, and end refers to beginning the simulation at the first period after the sample. Integer values can run from 0 to nobs, or can be negative to apply negative indexing. Finally, if a date/time index was provided to the model, then this argument can be a date string to parse or a datetime type. Default is ‘start’.
- repetitions
int
,optional
Number of simulated paths to generate. Default is 1 simulated path.
- exogarray_like,
optional
New observations of exogenous regressors, if applicable.
- transformedbool,
optional
Whether or not params is already transformed. Default is True.
- includes_fixedbool,
optional
If parameters were previously fixed with the fix_params method, this argument describes whether or not params also includes the fixed parameters, in addition to the free parameters. Default is False.
- pretransformed_measurement_shocksbool,
optional
If measurement_shocks is provided, this flag indicates whether it should be directly used as the shocks. If False, then it is assumed to contain draws from the standard Normal distribution that must be transformed using the obs_cov covariance matrix. Default is True.
- pretransformed_state_shocksbool,
optional
If state_shocks is provided, this flag indicates whether it should be directly used as the shocks. If False, then it is assumed to contain draws from the standard Normal distribution that must be transformed using the state_cov covariance matrix. Default is True.
- pretransformed_initial_statebool,
optional
If initial_state is provided, this flag indicates whether it should be directly used as the initial_state. If False, then it is assumed to contain draws from the standard Normal distribution that must be transformed using the initial_state_cov covariance matrix. Default is True.
- random_state{
None
,int
,Generator
,RandomState
},optional
If seed is None (or np.random), the class:
~numpy.random.RandomState
singleton is used. If seed is an int, a new class:~numpy.random.RandomState
instance is used, seeded with seed. If seed is already a class:~numpy.random.Generator
or class:~numpy.random.RandomState
instance then that instance is used.
- Returns:
- simulated_obs
ndarray
An array of simulated observations. If repetitions=None, then it will be shaped (nsimulations x k_endog) or (nsimulations,) if k_endog=1. Otherwise it will be shaped (nsimulations x k_endog x repetitions). If the model was given Pandas input then the output will be a Pandas object. If k_endog > 1 and repetitions is not None, then the output will be a Pandas DataFrame that has a MultiIndex for the columns, with the first level containing the names of the endog variables and the second level containing the repetition number.
- simulated_obs
See also
impulse_responses
Impulse response functions