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

 采纳的回答

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

4 个评论

0 and 2 are the parameters to start fminsearch. They will change within every iteration.
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?

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Graph and Network Algorithms 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by