您能告诉我是否可以使用当前的statsmodels SARIMAX代码来逐步应用Kalman滤波器(以使其更快)?在
这就是我的意思。想象一下,我们使用索引在[iFitBegin, iFitEnd]
中的数据来拟合一个SARIMAX模型(#1),然后使用这样的模型来预测索引在[iFitEnd+1, iDataEnd]
中的数据。在当前的代码中,似乎要做到这一点,必须使用索引在[iFitBegin, iDataEnd]
中的数据创建一个新的SARIMAX模型(#2),并在模型2上应用Kalman滤波器,参数取自模型1。在这之后,你可以请求模型2的预测。然而,如果在流数据上进行预测(对于大型模型),则由于每次都必须从iFitBegin
到索引iPred
(需要预测的索引)iPred
进行预测,因此在计算上(对于大型模型)是非常昂贵的。从数学上讲,Kalman滤波器是增量应用的,即如果Kalman滤波达到索引iPred
,那么要对索引iPred+1
进行滤波,只需在iPred
处取一个新的数据点应用Kalman滤波的一个步骤,因此,如果可以在代码中增量地执行,那就太好了也。在
你能告诉我在当前的statsmodels SARIMAX实现中是否有一种方法可以进行这种增量Kalman滤波(即一次更新一个状态)?在
现在可以在Statsmodels的开发版本(即Github的主分支)中使用,并将在0.11版本中提供(不过,该版本还没有时间表)。在
基本上,您将能够执行以下操作:
请注意,这将不会重新估计参数,但它允许您扩展当前结果以适应更新的观测值集,而不必在
training_endog
样本上重新运行Kalman滤波器。在有关其他详细信息,请参见https://www.statsmodels.org/devel/examples/notebooks/generated/statespace_forecasting.html。在
相关问题 更多 >
编程相关推荐