design optimization: changing cost function paying special attention to maxima

1 次查看(过去 30 天)
I built a simscape model of a system with a motor current as output. I also got a measured motor current curve. The model consists some parameters which I want to estimate to fit the output curve of the model to the measured curve. After trying to fit the parameters to the measured data, I am not quite happy with the results.
In the picture the blue data is the measured data, the red one the results after using design optimization. The yellow data is a simulation where I changed one of the parameters to have a better fit at the maximum.
Is it possible to give special attention to maxima? I used sum squared error as cost function. This should work better than "sum-absolute error" because the fit to the left and right of the maxima gets worse when changing the parameter by hand.
Thank you!
  1 个评论
jgg
jgg 2016-1-19
编辑:jgg 2016-1-19
I'm not an expert on Simulink models, but it looks to me like the issue is the fitting function you're using has the wrong concavity; you can see it especially at the end of the data where it fits the step-point incorrectly. Can you adjust this?
Some other suggestions:
  • Does your yellow line have a better fit than the orange line? If so, the solver might have just not found an optimum. Try seeding the initial values of the parameters from the orange parameters instead.
  • You didn't mention what solver you were using, but you can try "focusing" some components of the data by weighting the maximum points more heavily using a weighting function.
  • Try using a different solver entirely; perhaps a local, non-parametric one would work?

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by