MATLAB Answers

Weighted fit using fmincon

11 views (last 30 days)
I am trying to fit a logistic function to some data, and I've been using fmincon with success. One thing that I would like to implement in my fitting procedure is to fit the data in a weighted fashion... that is, if I have fewer observations for one of the data points I'm trying to fit, the fitting procedure will be less sensitive to that data point.
nlinfit in matlab has this functionality, but in general I find that function too hard to customize and have had better results with fmincon. I'm relatively unfamiliar with adding constraints to fmincon, but maybe there is an easy way to implement this? I appreciate any ideas!

  0 Comments

Sign in to comment.

Accepted Answer

Fabio Freschi
Fabio Freschi on 3 Mar 2020
How about to repeat the samples of the points you want to weight more?

  3 Comments

Chris Angeloni
Chris Angeloni on 3 Mar 2020
This is a great and simple solution!
To implement Fabio's solution I simply did a repmat of each y value (the trial average) and each x value (independent variable) by the number of trials included in that average.
I'm curious though: the averages are actually over binary variables, maybe it would be more fair to just fit the original observations themselves?
Fabio Freschi
Fabio Freschi on 3 Mar 2020
Can you share (part of) the data, and show what's wrong with the result?
Chris Angeloni
Chris Angeloni on 3 Mar 2020
Actually, my apologies, I think there was something else in my code that was causing those fits to look poor. It works really well! I'll edit my past comment.
And FWIW, fitting individual observations is an equivalent way of doing this, and seems to work with binary observations.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!