- if fmincon() happened to find the global best for the parameters to within the numeric precision it was asked to process, then by definition there would be no error in the values
- if fmincon() did not happen to find the global best for the parameters to within the numeric precision it was asked to process, then it got caught in a local minima, but that local minima might be rather far away from the global minima, so any error estimates based upon it exploring near the local minima would potentially be meaningless.
How do I compute standard errors after minimising some quasi log-likelihood?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I used fmincon to find parameters that minimise the log-likelihood. How do I find the standard errors of these estimates?
0 Commenti
Risposte (1)
Walter Roberson
il 26 Nov 2018
You would not use fmincon() to find the standard errors. fmincon() is a local optimizer.
Consider for example the sum of two exponentials. It is common that in a model such as a1*exp(x-b1)+a2*exp(x-b2) that one of the two a* values gets driven to practically 0 or driving the b value to infinity (exp(-infinity) = 0), making the model effectively a*exp(x-b) + noise . Depending on the initial value used, it can easily get caught driving the coefficients to neglect either one of the two sides. You may have to have used initial values in a relatively narrow range to get a true good fit.
fmincon does not spend any time exploring the space against the possibility that there might be a better solution around. It uses gradient techniques to locate a minima. Due to the fact that gradient estimation can overshoot, it is not certain that the minima it finds will be the "closest" good minima to the starting point.
There are some limited circumstances under which it might be meaningful to look at the locations that fmincon explored to arrive at an error estimate. In particular, in some broad functions, by looking at the gradient estimates, one might possibly be able to suspect that the gradient being 0 to within noise is due to the function being relatively flat locally and that calculation at higher precision might be able to drive towards a different location. Perhaps you could arrive at some kind of numeric measure of the confidence that the gradient is not flat due to inadequate numeric precision on a broad area.... but that is not the typical situation.
2 Commenti
Walter Roberson
il 28 Nov 2018
That will not help . Hessian is local curvature and local curvature makes no statement at all about global conditions . The error from any fmincon solution is unbounded.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!