Не могли бы вы сообщить мне, возможно ли использовать текущий код SARIMAX statsmodels для постепенного применения фильтра Калмана (чтобы сделать его быстрее)?
Вот что я имею в виду. Представьте, что вы подходите модели SARIMAX (# 1), используя данные с индексами в [iFitBegin, iFitEnd]
, затем вы хотите использовать такую модель, чтобы делать прогнозы для данных с индексами в [iFitEnd+1, iDataEnd]
. Похоже, что для этого в текущем коде необходимо создать новую модель SARIMAX (# 2) с использованием данных с индексами в [iFitBegin, iDataEnd]
и применить фильтр Калмана к модели # 2 с параметрами, взятыми из модели # 1. После этого можно запросить прогнозы у модели № 2. Однако в вычислительном отношении это дорого делать (для больших моделей), если предсказания выполняются для потоковых данных (, когда новые данные поступают по одной точке данных за раз ), поскольку каждый раз приходится возвращать всю фильтрацию Калмана из iFitBegin
к индексу iPred
(тот, по которому требуется прогноз). Математически фильтр Калмана применяется постепенно, т. Е. Если фильтрация Калмана выполняется до индекса iPred
, то для фильтрации до индекса iPred+1
нужно просто принять состояние на iPred
и применить только один шаг фильтра Калмана используя одну новую точку данных в iPred+1
, и поэтому было бы здорово, если бы можно было делать это и в коде постепенно.
Не могли бы вы сообщить мне, если в текущей реализации statsmodels SARIMAX есть способ сделать такую инкрементную фильтрацию Калмана (т.е. одно обновление состояния за раз)?