Реализация фильтра Калмана с моделью несезонного состояния ARIMA - PullRequest
0 голосов
/ 05 июня 2018

Мне нужно написать приложение, которое вменяет некоторые пропущенные значения в сигнал временного ряда.Я сделал нечто подобное в R, используя ImputeTS пакет, но теперь мне нужно сделать это в Java .

Я только что искал в интернете и нашел Apache Kalman фильтрыкак существующая реализация фильтров Калмана в Java.Но, похоже, они не используют внутреннюю модель ARIMA внутри фильтра.Например, в Apache есть общие матрицы переходов и измерений, , но как я могу изменить их так, чтобы несезонная модель ARIMA с параметрами (p, q, d) могла использоваться в качестве модели внутреннего состояния фильтра Калмана?

Я не ожидаю, что кто-то напишет все коды, но, может быть, кто-то может объяснить, как действовать выше?

1 Ответ

0 голосов
/ 06 июня 2018

Сопровождающий пакета imputeTS здесь ... к сожалению, я понятия не имею, как это сделать в Java, но, возможно, мои объяснения могут вам помочь.

  1. Фильтры Калмана работают на моделях пространства состояний
  2. Каждая модель ARIMA может быть выражена в форме пространства состояний

Таким образом, то, что делает также пакет imputeTS: принимает форму пространства состояний модели ARIMAи выполняет ли Калман сглаживание / фильтрацию на нем.

Это означает, что вам нужно получить форму пространства-состояния вашей модели ARIMA (в R это довольно просто ... не знаю о Java).Затем это должно соответствовать требуемому входному значению для фильтра Калмана.

Дайте мне знать, если бы вы смогли выполнить его, мне также было бы интересно общее решение.

...