【发布时间】:2019-09-01 01:39:03
【问题描述】:
能否请您告诉我是否可以使用当前的 statsmodels SARIMAX 代码逐步应用卡尔曼滤波器(以使其更快)?
这就是我的意思。想象一下,一个人使用索引为[iFitBegin, iFitEnd] 的数据拟合 SARIMAX 模型(#1),然后想使用这样的模型对索引为[iFitEnd+1, iDataEnd] 的数据进行预测。要在当前代码中做到这一点,似乎必须使用具有[iFitBegin, iDataEnd] 索引的数据创建一个新的 SARIMAX 模型(#2),并在模型#2 上应用卡尔曼滤波器,参数取自模型#1。之后,可以从模型 #2 请求预测。但是,如果对流数据(新数据一次到达一个数据点)进行预测,则计算成本很高(对于大型模型),因为每次都必须从iFitBegin 到索引 iPred(需要预测的那个)。在数学上,卡尔曼滤波器是增量应用的,即如果卡尔曼滤波完成到索引iPred,那么要进行滤波到索引iPred+1,只需要采用iPred的状态并且只应用卡尔曼滤波器的一步使用iPred+1 的单个新数据点,因此如果也可以在代码中以增量方式执行此操作,那就太好了。
您能否告诉我在当前的 statsmodels SARIMAX 实现中是否有办法进行这种增量卡尔曼滤波(即一次更新一个状态)?
【问题讨论】:
标签: python statsmodels kalman-filter arima