BookmarkSubscribeRSS Feed
SASingaKorean
Calcite | Level 5

Hi, I want to write a code for extended Kalman filter. I know SAS has subroutine such as KALCVF but this subroutine is for a standard linear Kalman filter. The observation equation that I am trying to deal with has non-linear and time-varying coefficients that depends on the value of the previous state variables and observation variables. Specifically, my extended Kalman filter is 

 

X_t = a X_t-1 + error (State Equation)

Y_t = f(Y_t-1, X_t-2) X_t-1 + error (Observation Equation),

 

where f is a quadratic function. 

 

I think there is no way to use subroutine for run this Kalman filter. Probably, I need to write a code from scratch. If anyone had similar experience, please help me with this problem. 

 

Thank you

 

 

1 REPLY 1
smantha
Lapis Lazuli | Level 10

are you using a sas dataset as input and want to use it in SAS data step? If so can you post a sample of this data and explains what aX_t and aY_t  mean? Mathematically I understand what these mean. Do you have an expression for f that you can use in a data step. Do you have expressions for error function, state equation and observation equation. If so then you can write it in a sas data step using lawn function in SAS.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 597 views
  • 0 likes
  • 2 in conversation