fitting a model to correlated data

2 views (last 30 days)
Alex
Alex on 21 Jan 2014
Commented: dpb on 22 Jan 2014
Trying to fit a model (bloch equations from MRI) to experimental data (12 parameters, 12 equation). Monte Carlo Multistart ('lsqcurvefit' in MATLAB) gives expected values for all parameters except for two, which are correlated:
http://imgur.com/1PRayGj (fig. 1) The fig. is a result of the Monte Carlo simulation.
Briefly about the model. It is a system of differential equations (solved numerically by Cramer's rule). The fig. 2 contains 9 diff. eq. My model is a bit more complicated and contain 12 diff. eq.
http://imgur.com/E5LiYdq (the model. fig. 2)
I am passing initial guess, lower and upper bounds for all parameters to the solver. The problem - In the optimized output, 1st parameter always takes the value of its upper limit and 2nd one the value of its lower limit (please, see the fig. 1).
Bad luck, because I am only after those two parameters. Are there any good fitting algorithm for correlated data?
  3 Comments
Alex
Alex on 22 Jan 2014
Sorry for being unclear. I did Monte Carlo simulation in MATLAB using Multi Start with "lsqcurvefit" (500 repeats). The Fig. 1 is the results of the simulation. From the fig. 1 it is clear that 2 parameters are correlated. Did not get anything better with Monte Carlo simulated annealing. Trying Monte Carlo Random Walk now...
dpb
dpb on 22 Jan 2014
I seriously doubt repeating the same calculation w/ various tools is going to change anything...the problem is in the basic formulation that you need to be able to recast or add another independent expression in order to remove the correlation.
Or, potentially, as suggested before, estimate the one in terms of the other and then back-substitute that into the remainder of the system.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!