I have a set of time series data that track an observable (o(t)) vs control signal (c(t)) over a period of time. One way I know to model this system is using Recurrent Neural Networks or some variant of it. I am looking to find a simplified inferable model that I could use in a control loop (less computationally expensive than RNN).
If my system state is s(t), the function f_observermap(s(t)) = o(t) maps from state to observable, and the function f_update(s(t),c(t)) = s(t+1) updates the state based on control signal.
I am trying to learn s, f_observermap and f_update as simplified expressions.
A simplified case is s(t) = o(t) i.e. there is no real hidden state and the memory is fully characterized by o(t), which would make f_observermap(s(t)) = s(t) and the only thing left to figure out is f_update(o(t),c(t)) = o(t+1). In this case, I can create pairwise data for each (t,t+1) timestamps and learn f_update using symbolic regression.
Is there a way to have symbolic regression learn the general case where f_observermap and s is unknown but the data is simple enough to learn a short expression. In the general case multiple distinct states (s1 != s2) may have same observable i.e. f_observermap(s1) = f_observermap(s2), but f_update(s1,c) != f_update(s2,c). Alternately, what other options do I have other than symbolic regression for this purpose.