问题标签 [pykalman]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
173 浏览

python - 用卡尔曼滤波器过滤磁力计航向

我从 IMU 传感器获取磁力计 x 和 y 幅度,并使用这些我通过 atan2(my, mx) 获取航向。但是,我想实现一个卡尔曼过滤器来过滤标题。我想知道我将使用的参数是什么?我是过滤新手。如果可能的话,我想在 python 中执行此操作。

0 投票
1 回答
1133 浏览

python - pykalman的多元回归?

我正在寻找一种使用pykalman从 1 到N回归器来概括回归的方法。我们最初不会为在线回归而烦恼——我只想要一个玩具示例来为 2 个回归量而不是 1 个回归量设置卡尔曼滤波器,即Y = c1 * x1 + c2 * x2 + const.

对于单一回归量情况,以下代码有效。我的问题是如何更改过滤器设置,使其适用于两个回归器:

示例文件 KalmanExample.txt 包含以下数据:

单个回归器案例提供以下输出,对于双回归器案例,我想要第二个“斜率”图表示C2.

在此处输入图像描述

0 投票
1 回答
308 浏览

python - 卡尔曼滤波器随着时间的推移改变已知方差?

我有一个简单的卡尔曼模型:

现在我知道 e_1_t 和 e_2_t 随时间的变化 - 它们不是恒定的。有没有我可以用来估计这个模型的 python 包?

参数 phi 未知。如果模型可以估计是否会很棒。如果不是,也可以提供它,因为存在近似估计。

非常感谢任何提示。

PS:我还检查了图书馆pykalman。https://pykalman.github.io/#mathematical-formulation。似乎这里假设方差随时间保持不变。

0 投票
1 回答
2840 浏览

python - 使用pykalman

我想尝试使用 pykalman 对来自传感器变量的数据应用卡尔曼滤波器。现在,我对观察数据有疑问。在示例中,3 个观测值是在三个瞬间测量的两个变量,或者是在一个瞬间测量的 3 个变量

0 投票
0 回答
296 浏览

python - PyKalman 的 EM 算法和 AR(I)MA 状态空间方程

我正在使用 Python 的PyKalman来运行基于ARMA (p,q) 模型的卡尔曼滤波器。转移矩阵应该采用一种非常特殊的形式(例如,参见Hamilton 的“时间序列分析”第 374 页的 AR(p) 示例),在正确的位置有一些10。然而,当我使用 PyKalman 的EM 算法时,它会产生一个完全通用形式的转移矩阵。由于一和零都消失了,状态空间模型不再对应于 ARMA 设置。

如何使用 PyKalman 包的 EM 方法,同时将转换矩阵保持在非常特殊的 ARMA 形式中?

0 投票
0 回答
550 浏览

python - 对同一变量进行两次测量的卡尔曼滤波器 (pykalman)

在过去的几天里,我使用 pykalman 通过加速度和速度测量来校正 GPS 坐标,效果很好。现在我想将得到的坐标 (1) 与第二个坐标测量值 (2) 结合起来,该坐标测量值非常精确,但记录率要低得多。我屏蔽了第二次测量中没有值(== 0)的所有元素。

我的问题是,我不知道矩阵的样子。也许卡尔曼滤波器甚至不适合我想做的事情。

非常感谢您提前。

0 投票
1 回答
4473 浏览

python - 实现一维卡尔曼滤波器/平滑 Python

我想测试卡尔曼滤波器以平滑我拥有的一组数据。请注意,x 轴间隔不相等。

在此处输入图像描述

每个点都是一个观察值。很明显,x=50 处的点是噪声。因此我希望卡尔曼滤波器的结果是这样的:

在此处输入图像描述

我不是数学专家,所以我不确定它是否重要,但我的数据不是速度或位置(我发现的所有卡尔曼示例都指的是那个案例)。问题是我不知道如何将这个相当简单的问题实现到 Python 中的卡尔曼滤波器。我看到很多人使用这个pykalman

我的第一个问题是——卡尔曼滤波器可以处理不相等的时间间隔吗?如果答案是否定的,那么假设我的数据中的时间间隔相等,我仍然希望得到答案。我还在示例中看到数据应该是一种特定的方式,而不是像我的示例中那样“简单”的两个列表。所以我的第二个问题是,如何在 Python 中应用卡尔曼滤波器/平滑,盯着我的“简单”两个列表(如果出现问题,您可以将 x 间隔更改为相等)。

0 投票
1 回答
450 浏览

python - 如何使用 Pykalman 指定转移和观察矩阵

大家下午好!我对卡尔曼滤波器有点陌生,但我遇到了这篇非常有趣的文章(https://pdfs.semanticscholar.org/d348/37b8e535974c341d8c8a5c38666581e83309.pdf)关于在金融时间序列分析和特别是在动态风格分析的背景下。我想实现这个算法,但我不确定如何指定转换和观察矩阵。实际上,我有一个参考共同基金,有 60 个月回报观察结果和 8 个指数,我想以此作为基金的基准。我专注于弱风格分析,因为它应该是最容易使用 Pykalman 库编写代码的。这是到目前为止的代码,我只需要指定转换和观察矩阵:

在此先感谢您的时间!

0 投票
1 回答
161 浏览

python - 使用 pykalman 预测动态对象的进一步步骤

我正在尝试使用卡尔曼滤波器来预测下一个对象位置。我的数据由纬度和经度组成,每个 1s,所以,我也可以得到速度。

下面的代码显示了尝试使用 pykalman 包来预测更多位置。我只是通过添加前三个纬度/经度值来修改测量值。transition_matrices 和observation_matrices 对吗?我不知道我应该如何设置它们。

结果如下,远离正确的输出。

我怎样才能解决这个问题?我错过了什么?

使用纬度/经度时路径具有此形状

在此处输入图像描述

更新

我试过这些转换方式:

1.

在此处输入图像描述

2.

在此处输入图像描述

然而,在应用 EKF 之后,第一种方法似乎是正确的形状(我遵循了 Michel Van Biezen 的解释,我可以在 python 中使用跟踪平面)。

所以,我遵循使用 EKF 的第一种方法,预测是:

在此处输入图像描述

但是,当我将预测路径和原始路径重叠时,我得到了这个图

然后,使用第二种方法进行预测,结果是

在此处输入图像描述

似乎第一种方法是正确的,还是有其他方法?

0 投票
1 回答
136 浏览

python - 在线性趋势上使用 pykalman 的卡尔曼滤波器是否给出正确答案?

我试图用它KalmanFilter来估计一个系列的平均值,但我无法找到很多与其相关的线性趋势信息,所以我试图用它来预测当输入只是一条具有正斜率的直线时的值.

我能够应用它,但我不确定这是否正确。我看到实际值和卡尔曼状态之间的差距意味着:图形.

我认为 KalmanFilter 会完成那个间隙并最终与直线重合,但一段时间后它们似乎是平行的。

这是正确的还是我做错了什么?