maximum likelihood estimation with fminsearch

Hello, I would like to do a maximum likelihood estimation of normal function with the help of fminsearch. It is already working when I dont have any constraints for mu and sigma. I get the estimated mu, sigma and its value of the likelihood function. However, i will fix mu=0 but the resulting mu is never exactly 0 at the end. I dont understand why and in wich way i could do it better.
My code:
first_guess=[0 2];
[Mu_Sigma,Lk] = fminsearch('nlglklySACCzeroMu',first_guess,data);
MuEstimate(2) = Mu_Sigma(1);
SigmaEstimate(2) = Mu_Sigma(2);
L(2)=Lk;
---- next function
function L = nlglklySACCzeroMu(guess)
global data;
guess(1)=0;
if guess(2) < 0
L = inf;
else
l=-0.5*log(2*pi)-log(guess(2))-0.5*( data/guess(2) ).^2;
L = -sum(l);
end
I would be very glad to receive some suggestions! Julia

 Accepted Answer

Matt J
Matt J on 25 Sep 2013
Edited: Matt J on 25 Sep 2013
If you are fixing mu=0, your function should depend on only one unknown (sigma), not two.

4 Comments

0 and 2 are the parameters to start fminsearch. They will change within every iteration.
Matt J
Matt J on 25 Sep 2013
Edited: Matt J on 25 Sep 2013
You shouldn't be asking fminsearch to solve for 2 unknowns if you say that mu is fixed. mu should not be treated as an unknown at all if you already know that mu=0.
i got it :-D I dont have to give fminsearch two startparameters! thank you!
what is the code you used to find the maximum likelihood ratio?

Sign in to comment.

More Answers (0)

Categories

Find more on Parallel Computing in Help Center and File Exchange

Asked:

on 25 Sep 2013

Commented:

on 31 Oct 2018

Community Treasure Hunt

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

Start Hunting!