P values of fitting constants using FMINCON function

4 views (last 30 days)
I used a fmincon function to solve my model equation (K2) which is depended on three fitting constants. I know the values of K2 experimentally, so accordingly I able to fit my model equation and found values of three constants as shown below:
K2 = 2.*(Aeff./A0).*((-(a.*blade)+(b.*NredT+c)).*(A0/AR).*z3geom.*sin(z2an)+sqrt(K1./2).*tan(beta));
a = 1.042 ; b = 0.875; c = 0.325
By using this three values in my equation it provides acceptable results according to the experimental data with a root mean square error of 0.00235.
I would like to calculate the P values of the constants (a, b and c) to check there significances. Is there any commond or a function were I can use in the matlab or with in FMINCON function to know the p values of each constant.
Thank you in advance for your time to answer my question.
  2 Comments
Rik
Rik on 12 Mar 2019
I am not a statistician, so I don't know if this is actually possible with fmincon. The main point is that you will need a way to estimate how stable your solution is, so you can calculate a confidence interval. Do you really specifically need a p value? Or would another goodness of fit parameter also be acceptable?
If you intend to publish something about this, it might be a good idea to look around in the literature of your field to see how others solved this issue, and/or talk to a statistician for advice.
vishnu samala
vishnu samala on 12 Mar 2019
Thanks for the reply. yeah, I need P values of the the coefficients in order to check there significance. I am planning to publish about my model, so proving the P values of the constants less than or equal to 0.05 would be more helpful to accept my hypothesis of the function by the revierws.

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 12 Mar 2019
If you have fmincon, then you also have lsqcurvefit. Assuming you have constraints that lsqcurvefit can accommodate, use it to do the parameter estimation, since it will also produce a Jacobian matrix (if you ask it to). If you also have the Statistics and Machine Learning Toolbox, you can use the nlparci (link) function to estimate their confidence intervals, using the returned residuals and the Jacobian matrix.
  2 Comments
vishnu samala
vishnu samala on 12 Mar 2019
Thanks for the reply. yes, I am using the lsqcurvefit to find the good initial points then I am imposing those values for fmincon to find the best solution. I am not so clear what you have suggested to me . But there is no way of calculating the p values for the coefficients with fmincon ?
Star Strider
Star Strider on 12 Mar 2019
But there is no way of calculating the p values for the coefficients with fmincon ?
Not that I am aware of.
It does not produce either a Jacobian matrix or a covariance matrix, either one of which are required to calculate the parameter confidence intervals. I am not certain that parameter confidence intervals are even defined for a constrained fit, since the imposition of constraints may invalidate them.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!