StandardFilter#

class pymc_extras.statespace.filters.StandardFilter(mode=None)[source]#

基本卡尔曼滤波器

__init__(mode=None)#

卡尔曼滤波器。

参数:

mode (str, optional) – 用于 Pytensor 编译的模式。默认为 None。

注释

BaseFilter 类是用于实现卡尔曼滤波器的抽象基类 (ABC)。它定义了卡尔曼滤波器实现中常用的通用属性和方法。

mode#

用于 Pytensor 编译的模式。

类型:

str 或 None

seq_names#

表示时变状态空间矩阵的名称列表。 也就是说,需要提供给 pytensor.scansequences 参数的输入

类型:

list[str]

non_seq_names#

表示静态状态空间矩阵的名称列表。 也就是说,需要提供给 pytensor.scannon_sequences 参数的输入

类型:

list[str]

方法

__init__([mode])

卡尔曼滤波器。

add_check_on_time_varying_shapes(data, ...)

插入一个检查,以确保时变矩阵与数据形状匹配到计算图中。

build_graph(data, a0, P0, c, d, T, Z, R, H, Q)

构建卡尔曼滤波器的计算图。

check_params(data, a0, P0, c, d, T, Z, R, H, Q)

应用任何关于输入有效性的检查。

handle_missing_values(y, Z, H)

处理观测数据 y 中的缺失值

kalman_step(*args)

执行卡尔曼滤波器的单次迭代,它由两个步骤组成:更新步骤和预测步骤。

predict(a, P, c, T, R, Q)

执行卡尔曼滤波器的预测步骤。

unpack_args(args)

内部扫描函数的输入顺序是未知的,因为某些、全部或没有输入矩阵可以是时变的。

update(a, P, y, d, Z, H, all_nan_flag)

计算基于截至但不包括当前时间步的信息 y_hat 的观测状态的单步预测,以及预测协方差矩阵 F