Curve fitting confidence intervals - discrepancy in manual CI plot and predint plot

Hello friends, I am trying to find 95% CI on the fitted coefficients. The code I used is as follows(not the actual fitting function):
fo = fitoptions('Method','NonlinearLeastSquares');
myfittype = fittype('ax + b', 'dependent',{'y'}, 'independent', {'x'}, 'coefficients',{'a','b'});
[myfit,res] = fit(x,y,myfittype,fo);
fit_params = coeffvalues(myfit);
ci = confint(myfit,0.95);
To plot the CIs, I plug in the values of a and b from confint output to the original equation y = ax + b.
However, this CI is different from when I use plot(myfit,'predobs'). I am not clear on why this is so even after reading the MATLAB literature. Also, what is predint and how is this different from manually plotting the CIs as I did?
My main goal in the fitting is find what is the 95% interval in which a and b lies. Any help will be appreciated. Thank you.

 채택된 답변

Matt J
Matt J 2026년 3월 16일
편집: Matt J 2026년 3월 16일
Also, what is predint and how is this different from manually plotting the CIs as I did?
predint predicts an uncertainty interval for y, not for a and b. As the others have said, it seems you tried to use some ad hoc method of your own (one whose details are not clear to us) to derive confidence intervals on y from confidence intervals on a and b. That is not normally what is done, and in fact, usually it goes the other way around: you start with an uncertainty estimate on y and then try to derive confidence intervals on a and b from that.
My main goal in the fitting is find what is the 95% interval in which a and b lies.
If so, it is unclear why we are talking about predint, predobs, or even plotting at all. Your "main goal" was achieved once you ran confint.

댓글 수: 1

Thank you everyone and Matt. I was just looking for the C.I.'s of the coefficients. Took me some time to realize.

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

추가 답변 (1개)

Torsten
Torsten 2026년 3월 15일
편집: Torsten 2026년 3월 15일
Did you read
?
The formulae to compute the different prediction bounds are listed here.
95% prediction bounds on the parameters are computed correctly in your code as ci = confint(myfit,0.95).
95% prediction bounds on the fit are different from simply plugging in the bounds a_low, b_low, a_high, b_high for a and b from confint and computing a_low*x + b_low and a_high*x + b_high for a given x ( I guess that's what you meant by "To plot the CIs, I plug in the values of a and b from confint output to the original equation y = ax + b." )

카테고리

도움말 센터File Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기

질문:

2026년 3월 15일

댓글:

2026년 3월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by