statsmodels.tsa.statespace.kalman_smoother.KalmanSmoother.set_smoother_output

KalmanSmoother.set_smoother_output(smoother_output=None, **kwargs)[source]

设置平滑输出

平滑器可以生成几种不同类型的结果。平滑器输出变量控制哪些结果被计算并返回。

Parameters:
smoother_outputint, optional

设置平滑器输出的位掩码值。详见注释。

**kwargs

关键字参数可用于通过设置单个布尔标志来影响平滑器输出。详情请参阅注释。

注释

平滑输出由一组布尔标志定义,并在内部存储为位掩码。可用的方法有:

SMOOTHER_STATE = 0x01

计算并返回平滑后的状态。

SMOOTHER_STATE_COV = 0x02

计算并返回平滑后的状态协方差矩阵。

SMOOTHER_STATE_AUTOCOV = 0x10

计算并返回平滑后的状态滞后一阶自协方差矩阵。

SMOOTHER_DISTURBANCE = 0x04

计算并返回平滑后的状态和观测干扰。

SMOOTHER_DISTURBANCE_COV = 0x08

计算并返回平滑状态和观测干扰的协方差矩阵。

SMOOTHER_ALL

计算并返回所有结果。

如果通过smoother_output参数直接设置位掩码,则必须提供完整的方法。

如果使用关键字参数来设置单个布尔标志,那么必须使用方法的小写形式作为参数名称,并且值是布尔标志所需的值(True 或 False)。

请注意,平滑输出也可以通过直接修改类属性来指定,这些属性与关键字参数的定义方式类似。

默认的平滑器输出是 SMOOTHER_ALL。

如果性能是一个问题,应该只指定那些需要的结果,因为任何未指定的结果都不会被计算。例如,如果平滑器输出设置为仅包括SMOOTHER_STATE,平滑器的运行速度会比需要所有输出时快得多。

示例

>>> import statsmodels.tsa.statespace.kalman_smoother as ks
>>> mod = ks.KalmanSmoother(1,1)
>>> mod.smoother_output
15
>>> mod.set_smoother_output(smoother_output=0)
>>> mod.smoother_state = True
>>> mod.smoother_output
1
>>> mod.smoother_state
True

Last update: Oct 16, 2024