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.scan 的 sequences 参数的输入
- 类型:
list[str]
- non_seq_names#
表示静态状态空间矩阵的名称列表。 也就是说,需要提供给 pytensor.scan 的 non_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。