statsmodels.tsa.statespace.kalman_filter.KalmanFilter.simulate

KalmanFilter.simulate(nsimulations, measurement_shocks=None, state_shocks=None, initial_state=None, pretransformed_measurement_shocks=True, pretransformed_state_shocks=True, pretransformed_initial_state=True, simulator=None, return_simulator=False, random_state=None)[source]

模拟一个遵循状态空间模型的新时间序列

Parameters:
nsimulationsint

要模拟的观测值数量。如果模型是时间不变的,则可以是任意数量。如果模型是时间变化的,则此数量必须小于或等于数量

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 与状态空间模型中的相同。如果未指定,但模型已初始化,则使用该初始化。如果未指定且模型尚未初始化,则使用零向量。请注意,这不会包含在返回的 simulated_states 数组中。

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。

return_simulatorbool, optional

是否返回模拟器对象。通常用于在进行重复采样时提高性能。默认值为 False。

random_state{None, int, Generator, RandomState}, optionall

如果 seed 是 None(或 np.random),则使用 numpy.random.RandomState 单例。 如果 seed 是 int,则使用一个新的 RandomState 实例,并以 seed 作为种子。 如果 seed 已经是 GeneratorRandomState 实例,则使用该实例。

Returns:
simulated_obsndarray

一个 (nsimulations x k_endog) 的模拟观测数组。

simulated_statesndarray

一个 (nsimulations x k_states) 的模拟状态数组。

simulatorSimulationSmoothResults

如果 return_simulator=True,则返回一个模拟器实例,该实例可以重复用于相同大小的额外模拟。


Last update: Oct 16, 2024