问题标签 [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.
python - 用卡尔曼滤波器过滤磁力计航向
我从 IMU 传感器获取磁力计 x 和 y 幅度,并使用这些我通过 atan2(my, mx) 获取航向。但是,我想实现一个卡尔曼过滤器来过滤标题。我想知道我将使用的参数是什么?我是过滤新手。如果可能的话,我想在 python 中执行此操作。
python - 卡尔曼滤波器随着时间的推移改变已知方差?
我有一个简单的卡尔曼模型:
现在我知道 e_1_t 和 e_2_t 随时间的变化 - 它们不是恒定的。有没有我可以用来估计这个模型的 python 包?
参数 phi 未知。如果模型可以估计是否会很棒。如果不是,也可以提供它,因为存在近似估计。
非常感谢任何提示。
PS:我还检查了图书馆pykalman。https://pykalman.github.io/#mathematical-formulation。似乎这里假设方差随时间保持不变。
python - 使用pykalman
我想尝试使用 pykalman 对来自传感器变量的数据应用卡尔曼滤波器。现在,我对观察数据有疑问。在示例中,3 个观测值是在三个瞬间测量的两个变量,或者是在一个瞬间测量的 3 个变量
python - PyKalman 的 EM 算法和 AR(I)MA 状态空间方程
我正在使用 Python 的PyKalman来运行基于ARMA (p,q) 模型的卡尔曼滤波器。转移矩阵应该采用一种非常特殊的形式(例如,参见Hamilton 的“时间序列分析”第 374 页的 AR(p) 示例),在正确的位置有一些1和0。然而,当我使用 PyKalman 的EM 算法时,它会产生一个完全通用形式的转移矩阵。由于一和零都消失了,状态空间模型不再对应于 ARMA 设置。
如何使用 PyKalman 包的 EM 方法,同时将转换矩阵保持在非常特殊的 ARMA 形式中?
python - 对同一变量进行两次测量的卡尔曼滤波器 (pykalman)
在过去的几天里,我使用 pykalman 通过加速度和速度测量来校正 GPS 坐标,效果很好。现在我想将得到的坐标 (1) 与第二个坐标测量值 (2) 结合起来,该坐标测量值非常精确,但记录率要低得多。我屏蔽了第二次测量中没有值(== 0)的所有元素。
我的问题是,我不知道矩阵的样子。也许卡尔曼滤波器甚至不适合我想做的事情。
非常感谢您提前。
python - 实现一维卡尔曼滤波器/平滑 Python
我想测试卡尔曼滤波器以平滑我拥有的一组数据。请注意,x 轴间隔不相等。
每个点都是一个观察值。很明显,x=50 处的点是噪声。因此我希望卡尔曼滤波器的结果是这样的:
我不是数学专家,所以我不确定它是否重要,但我的数据不是速度或位置(我发现的所有卡尔曼示例都指的是那个案例)。问题是我不知道如何将这个相当简单的问题实现到 Python 中的卡尔曼滤波器。我看到很多人使用这个pykalman
包
我的第一个问题是——卡尔曼滤波器可以处理不相等的时间间隔吗?如果答案是否定的,那么假设我的数据中的时间间隔相等,我仍然希望得到答案。我还在示例中看到数据应该是一种特定的方式,而不是像我的示例中那样“简单”的两个列表。所以我的第二个问题是,如何在 Python 中应用卡尔曼滤波器/平滑,盯着我的“简单”两个列表(如果出现问题,您可以将 x 间隔更改为相等)。
python - 如何使用 Pykalman 指定转移和观察矩阵
大家下午好!我对卡尔曼滤波器有点陌生,但我遇到了这篇非常有趣的文章(https://pdfs.semanticscholar.org/d348/37b8e535974c341d8c8a5c38666581e83309.pdf)关于在金融时间序列分析和特别是在动态风格分析的背景下。我想实现这个算法,但我不确定如何指定转换和观察矩阵。实际上,我有一个参考共同基金,有 60 个月回报观察结果和 8 个指数,我想以此作为基金的基准。我专注于弱风格分析,因为它应该是最容易使用 Pykalman 库编写代码的。这是到目前为止的代码,我只需要指定转换和观察矩阵:
在此先感谢您的时间!
python - 使用 pykalman 预测动态对象的进一步步骤
我正在尝试使用卡尔曼滤波器来预测下一个对象位置。我的数据由纬度和经度组成,每个 1s,所以,我也可以得到速度。
下面的代码显示了尝试使用 pykalman 包来预测更多位置。我只是通过添加前三个纬度/经度值来修改测量值。transition_matrices 和observation_matrices 对吗?我不知道我应该如何设置它们。
结果如下,远离正确的输出。
我怎样才能解决这个问题?我错过了什么?
使用纬度/经度时路径具有此形状
更新
我试过这些转换方式:
1.
2.
然而,在应用 EKF 之后,第一种方法似乎是正确的形状(我遵循了 Michel Van Biezen 的解释,我可以在 python 中使用跟踪平面)。
所以,我遵循使用 EKF 的第一种方法,预测是:
但是,当我将预测路径和原始路径重叠时,我得到了这个图
然后,使用第二种方法进行预测,结果是
似乎第一种方法是正确的,还是有其他方法?