필터 지우기
필터 지우기

Parameter estimation with more data sets

조회 수: 3 (최근 30일)
Razvan
Razvan 2011년 4월 26일
Hi,
Is it possible to do a parameter estimation using 2 or 3 data sets? I have 3 models which differ in one parameter, say T. Right now, I do the fits for each data set and the corresponding model and then compare the results. Can I do a parameter estimation which considers all three data sets and the 3 variants, and outputs only one set of optimized parameters?
Regards,
Razvan

채택된 답변

Arthur Goldsipe
Arthur Goldsipe 2011년 5월 5일
Hi Razvan,
Here's additional information on how you can fit simulations to the same data set using lsqnonlin. You can also find several lsqnonlin/lsqcurvefit examples in the Optimization Toolbox documentation: http://www.mathworks.com/help/toolbox/optim/ug/brn4noo.html#brp3l6v-1
You will also probably want to read more about using the SimBiology command-line. In particular, I recommend reading about variants, as that is a convenient way to modify parameter values for various simulations. If performance is an issue, then also read about the sbioaccelerate command.
Here's an outline of what your regression function might look for lsqnonlin.
function residuals = simulate(pEstimates, model, pVariant, tVariants)
% pEstimates is a vector of of the current parameter estimates
% model is a SimBiology model
% pVariant is a variant for setting the parameters on the model
% tVariant is a vector of variants, one for each value of T
% Update pVariant with the current estimates (in pEstimates)
% For each tVariant, simulate the model using this variant AND pVariant
% Resample the simulation data to the observed times
% Calculate the residual for each observation
  댓글 수: 1
Razvan
Razvan 2011년 5월 13일
Thanks a lot. It works now.
Razvan

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Jarrod Rivituso
Jarrod Rivituso 2011년 4월 26일
Are you referring to parameter estimation tasks with Simulink models?
If so, I believe it is. You just add each data set under "Transient Data", and then when you start a new Estimation, you can select all of the data sets in the "Data Sets" tab.
  댓글 수: 1
Razvan
Razvan 2011년 4월 26일
My question was about sbioparamestim from Simbiology toolbox. Sorry if that wasn't clear.

댓글을 달려면 로그인하십시오.


Arthur Goldsipe
Arthur Goldsipe 2011년 4월 27일
Hi Razvan,
sbioparamestim only allows you to estimate one set of parameters using one set of data. I think the easiest way to simultaneously fit all the data sets would be to write your own regression function for use with a general fitting function (such as lsqcurvefit). Are you also trying to estimate the parameter T, or is that known in advance? Either way, you should be able to write an appropriate regression function.
-Arthur
  댓글 수: 2
Razvan
Razvan 2011년 4월 27일
Thanks Arthur for your suggestion. My parameter T is known in all 3 cases. I don't know how to do that actually. I just adapted the Matlab demo for sbioparamestim, but I'm not used with the non-desktop part of Simbiology, yet. Can you point out some demo/tutorial/webinar which could help me with my problem (about lsqcurvefit, I guess). If I see an example I think I can adapt it. I just don't know too many commands from the Matlab toolboxes.
Best,
Razvan
Arthur Goldsipe
Arthur Goldsipe 2011년 5월 5일
Hi Razvan,
Sorry I didn't see your reply sooner. I'll post additional ideas as a separate answer below.
-Arthur

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Scan Parameter Ranges에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by