I want to use a Kalman filter to reduce the noise in a time series. The underlying process has no dynamic and therefore can be modeled as an AR(1) process like a random walk.

data = RandomFunction[ARProcess[{1}, 1, {0}], {1, 100}];

If I then use the same process for filtering, it results in an error:

KalmanFilter[ARProcess[{1}, 1, {0}], data]

 (*KalmanFilter::klmnest: KalmanEstimator failed for the given time series 

I assume this is somehow linked to the fact that the given AR process is not weakly stationary, but according to the literature this should not be a problem and there are many examples of Kalman filters used in such cases. For example, slide 42 in these lecture notes https://www.math.kth.se/matstat/gru/sf2943/kalmanlect.pdf . Is there another way?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.