statsmodels.tsa.statespace.mlemodel.MLEModel.simulate¶
-
MLEModel.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, pretransformed_measurement_shocks=True, pretransformed_state_shocks=True, pretransformed_initial_state=True, random_state=None, **kwargs)[source]¶ 模拟一个遵循状态空间模型的新时间序列
- Parameters:¶
- paramsarray_like
用于构建状态空间表示的参数数组,以便在模拟时使用。
- nsimulations
int 要模拟的观测数量。如果模型是时间不变的,则可以是任意数量。如果模型是时间变化的,则此数量必须小于或等于观测数量。
- measurement_shocksarray_like,
optional 如果指定,这些是测量方程的冲击, \(\varepsilon_t\)。如果未指定,这些将使用伪随机数生成器自动生成。如果指定, 必须为 nsimulations x k_endog 的形状,其中 k_endog 与状态空间模型中的相同。
- state_shocksarray_like,
optional 如果指定,这些是状态方程的冲击, \(\eta_t\)。如果未指定,这些将使用伪随机数生成器自动生成。如果指定, 必须为 nsimulations x k_posdef 的形状,其中 k_posdef 与状态空间模型中的相同。
- initial_statearray_like,
optional 如果指定,这是在模拟中使用的初始状态向量,其形状应为 (k_states x 1),其中 k_states 与状态空间模型中的相同。如果未指定,但模型已初始化,则使用该初始化。如果 anchor 不是“start”或0,则必须指定此项(否则可以使用结果对象上的 simulate 方法,而不是模型对象上的方法)。
- anchor
int,str,ordatetime,optional 模拟的第一个周期。模拟将以锚点之前的所有现有数据点为条件。类型取决于给定的内生变量在模型中的索引。两个特殊情况是字符串‘start’和‘end’。start表示从样本的第一个周期开始模拟,而end表示从样本后的第一个周期开始模拟。整数值可以从0到nobs,或者可以是负数以应用负索引。最后,如果向模型提供了日期/时间索引,则此参数可以是日期字符串或日期时间类型。默认值为‘start’。
- repetitions
int,optional 要生成的模拟路径数量。默认是1条模拟路径。
- exogarray_like,
optional 外生回归变量的新观测值(如适用)。
- transformedbool,
optional 是否已经对params进行了转换。默认为True。
- includes_fixedbool,
optional 如果参数之前已经通过fix_params方法固定, 这个参数描述了params是否也包括 固定的参数,除了自由参数之外。默认 是False。
- pretransformed_measurement_shocksbool,
optional 如果提供了measurement_shocks,此标志指示是否应直接将其用作冲击。如果为False,则假定其包含必须使用obs_cov协方差矩阵进行变换的标准正态分布的抽取。默认为True。
- pretransformed_state_shocksbool,
optional 如果提供了state_shocks,此标志指示是否应直接将其用作冲击。如果为False,则假定其包含必须使用state_cov协方差矩阵进行变换的标准正态分布的抽取。默认为True。
- pretransformed_initial_statebool,
optional 如果提供了initial_state,此标志指示是否应直接将其用作初始状态。如果为False,则假定其包含从标准正态分布中抽取的样本,必须使用initial_state_cov协方差矩阵进行变换。默认为True。
- random_state{
None,int,Generator,RandomState},optional 如果 seed 是 None(或 np.random),则使用类:
~numpy.random.RandomState单例。 如果 seed 是 int,则使用一个新的类:~numpy.random.RandomState实例,并以 seed 作为种子。 如果 seed 已经是类:~numpy.random.Generator或 类:~numpy.random.RandomState实例,则使用该实例。
- Returns:¶
- simulated_obs
ndarray 一个模拟观测值的数组。如果 repetitions=None,那么它的形状将是 (nsimulations x k_endog) 或 (nsimulations,) 如果 k_endog=1。否则,它的形状将是 (nsimulations x k_endog x repetitions)。如果模型输入是 Pandas 数据,那么输出将是一个 Pandas 对象。如果 k_endog > 1 并且 repetitions 不是 None,那么输出将是一个具有 MultiIndex 列的 Pandas DataFrame,第一个级别包含 endog 变量的名称,第二个级别包含重复次数。
- simulated_obs
另请参阅
impulse_responses脉冲响应函数