baggepinnen / ControlSystemIdentification.jl

System Identification toolbox, compatible with ControlSystems.jl
https://baggepinnen.github.io/ControlSystemIdentification.jl/dev
MIT License
133 stars 13 forks source link

Investigate why PEM does worse that subspace id for `h=1` #160

Closed baggepinnen closed 2 months ago

baggepinnen commented 2 months ago

in https://baggepinnen.github.io/ControlSystemIdentification.jl/stable/examples/flexible_robot/

The optimizaiton should go strictly downhill on this exact metric. x0 estimation might be a culprit. ~Also have a look at whether or not the modal form makes the problem of estimating x0 ill-conditioned~ it does not, almost the same condition numbers 2.5

baggepinnen commented 2 months ago

This calls estimate_x0 twice?

nx = 4; estimate_x0(model_ss, d, min(length(d), 10nx))

Yes, first from the estimation of the innovations

baggepinnen commented 2 months ago

x0 is estimated slightly differently due to different estimation horizon in the call to estimate_x0, BFGS then fails to converge to equally good minimum. NelderMead with 50k iterations does as well as subspace for h=1.