0

I need to write an application which imputes some missing values on a time series signal. I have done something similar in R using ImputeTS package but now I need to do it in Java.

I just searched the internet and found Apache Kalman filters as an existing implementation of Kalman filters in Java. But it seems they don't use an ARIMA inner model inside the filter. For example, there are transition and measurement matrices in Apache common, but how I can change them so that an ARIMA non seasonal model with (p,q,d) parameters can be used as an inner state model of the Kalman filter?

I am not expecting someone to write all codes but maybe someone can explain how to proceed with the above?

SeGa
  • 9,454
  • 3
  • 31
  • 70
Luckylukee
  • 575
  • 2
  • 9
  • 27
  • It would be helpful to see what you did in R, what exactly you need to do in Java and where you have problems. And what exactly do you mean by how can i change them? – SeGa Jun 05 '18 at 19:17

1 Answers1

0

Maintainer of the imputeTS package here...unfortunately I have no idea about how to do this in Java, but maybe my explanations can help you.

  1. Kalman filters operate on state-space models
  2. Every ARIMA Model can be expressed in a state-space-form

Thus, what also the imputeTS packages does is: it takes the state-space-form of an ARIMA model and does Kalman smoothing/filtering on it.

Which means, you need to get the state-space-form of your ARIMA model (in R this is quite easy...don't know about java). This should then fit the required input for the Kalman filter.

Let me know if you were able to pull it off, I would be also interested in the overall solution.

Steffen Moritz
  • 7,277
  • 11
  • 36
  • 55