How do I find the confidence intervals for the estimated coefficients of a bounded nonlinear regression analysis?

4 views (last 30 days)
I am performing a nonlinear regression analysis to estimate the coefficients of an equation given observed values. These estimated coefficients are constrained to lie within a range of values, say from 0 to 1. I like to know the confidence intervals around each of these estimated coefficients.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
There are no tools in MATLAB 7.5 (R2007b) that allow you to directly calculate the confidence interval on a bounded nonlinear regression analysis.
A useful technique for working around this limitation is to transform your unknown coefficients from the range [0, 1] to (-inf, + inf) via the logistic function. You would then perform an unbounded nonlinear regression on this transformed problem, find the confidence intervals using techniques similar to the Statistic Toolbox's NLPARCI, and then re-transform the estimates and interval back into your original space using the inverse logistic function.
  1 Comment
Bastien Char
Bastien Char on 10 Feb 2021
Can someone explain how to apply this method ?
For example if I have a simple linear equation of the form:
A*x = b
% Where A = [p1,p2,p3], the variables.
But with the constraints that x ∈ [0,1]. If the problem was unbounded I could use:
% For an unbounded equation I could use:
tbl = table(b,p1,p2,p3)
mdl = fitlm(tbl,'b ~ p1 + p2 + p3 -1')
% And determine the CI with:
ci = coefCI(mdl)
And
mdl.Coefficients.Estimate
Will give me the 3 coefficients [c1,c2,c3]. But how can I apply the logit function on those coefficients before to know what they are ? If I simply apply inv_logit(mdl.Coefficients.Estimate) it will of course not work.

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!