EthanJamesLew / AutoKoopman

AutoKoopman - automated Koopman operator methods for data-driven dynamical systems analysis and control.
GNU General Public License v3.0
53 stars 10 forks source link

Automatic normalization of training data #58

Open stanleybak opened 1 year ago

stanleybak commented 1 year ago

There might be unexpected bias in predication error when training data is not normalized. If the input data, for example, consists of large positions and small angles, then the error from regression will focus much more on getting the position right instead of the angle. If you normalize all the training data between [0, 1] within the ranges of the data you'd like get more balanced prediction errors.

It would be nice if the library could automatically do something like this. Either using absolute bounds on all the dimensions or computing a mean and standard deviation and using the standard deviation for normalization.

EthanJamesLew commented 1 year ago

@stanleybak , that's a great feature. We've seen the need to normalize trajectories in the past for library learning over Legendre polynomial candidate functions since the functions are only orthogonal over the [-1, 1].

EthanJamesLew commented 1 year ago

I guess #59 doesn't normalize the evaluation but only the data for the estimator Estimator.fit method.