java - 用 ARIMA 非季节性状态模型实现卡尔曼滤波器
问题描述
我需要编写一个应用程序,在时间序列信号上估算一些缺失值。我在 R 中使用ImputeTS
包做了类似的事情,但现在我需要在 Java 中做。
我刚刚搜索了互联网,发现Apache Kalman过滤器是 Java 中 Kalman 过滤器的现有实现。但似乎他们没有在过滤器内使用 ARIMA 内部模型。例如,Apache common 中有转换矩阵和测量矩阵,但是我如何更改它们以便可以将具有 (p,q,d) 参数的 ARIMA 非季节性模型用作卡尔曼滤波器的内部状态模型?
我不希望有人编写所有代码,但也许有人可以解释如何进行上述操作?
解决方案
imputeTS 包的维护者在这里......不幸的是,我不知道如何在 Java 中做到这一点,但也许我的解释可以帮助你。
- 卡尔曼滤波器在状态空间模型上运行
- 每个 ARIMA 模型都可以表示为状态空间形式
因此,imputeTS 包的作用是:它采用 ARIMA 模型的状态空间形式并对其进行卡尔曼平滑/滤波。
这意味着,您需要获取 ARIMA 模型的状态空间形式(在 R 中这很容易......不了解 java)。这应该适合卡尔曼滤波器所需的输入。
让我知道您是否能够成功,我也会对整体解决方案感兴趣。
推荐阅读
- ios - 如何在 Swift 中将对象数组过滤到不同的段中
- loops - 函数中的循环问题
- c++ - if 语句中的条件不满足,但仍在执行中
- java - 滚动时如何更改状态栏颜色
- c# - C# Unity 2D 代码中的大括号预期错误
- google-apps-script - 将行移动到另一个工作表谷歌工作表
- python - 几乎完成了我的井字游戏。如果有人输入非数字 (1-9) 并要求输入新输入,我将在哪里以及如何添加错误消息?
- java-stream - 可以使用哪些不同的技术将三个列表合并为一个列表。什么是最优雅的方法?
- azure - 部署问题。如何修复“node provisionComposer.js”返回的错误?
- node.js - 带有哈希密码的迁移更新表