So I found another discussion regarding this, but the answers did not fully separate the differenced between SID and ML. Hopefully a discussion here can shed some light on some larger differences both in design and use case situations between the two.
SID and ML seem very similar. They both use known input and output data to identify a model from the data. A few things I notice that set them apart (and correct me if I'm wrong):
- Structure - SID has a given model structure according to the input parameters, while ML models don't necessarily have a structure like this.
- A machine learning model will predict values accurately (according to the model training) where input data is within a range of the training data. Input data points entering outside the training data range won't necessarily produce the correct output, if the system's dynamics are different outside the training data set values. On the other hand, a sub-space identification model with an optimal estimator like Kalman filter, would capture any changes in the model's dynamics on-the-go.
- SID is more specific in it's use case, where the aim is to identify dynamic models from data. ML covers a wider range of use case (regression and classification).
Feel free to add more points if I missed something. So for it's domain specific use in process control, SID methods excel by being computationally lightweight. But if we look away from process control as a domain, and look at other use cases for SID - such as economics, finance, and other empirical modelling domains: is there a clear distinction between SID and ML, and situations where one would be preffered over the other?
Does SID + Kalman filter capture (and predict) the behavior of Dynamic systems and latent variables better? Or has the ML field advanced past the performance of SID in these cases? What are some situations where SID methods would be preffered over ML models, outside of process control?