# fmincon and normal distribution log likelihood

3 visualizzazioni (ultimi 30 giorni)
Jimmy C il 16 Feb 2012
I seem to be having a problem with getting fmincon to solve for the normal log likelihood.
I've generated random numbers with known mean and variance:
t=10000;
xbar = 0.5;
sigmabar = 0.10;
x = xbar + sigmabar*randn(t,1); %generate random numbers
I then tried solving for N(muhat, sigmahat^2) using fmincon. I expect that muhat w ill be approximately the same as xbar and sigmahat as sigmabar. To do this, I first write the normal log likelihood as follows
function LL = normlgl(theta,data)
mu = theta(1);
sig = theta(2);
l=-0.5*log(2*pi)-log(sig)-0.5*( (data-mu)/sig ).^2;
LL = sum(l);
Finally, I minimize normlgl using some starting values (theta0) and setting some arbitrary lower and upper bounds.
theta0 = [3;-1];
lb = [-10;0.001];
ub = [10;100];
[thetahat,fval,exitflag] = fmincon('normlgl',theta0,[],[],[],[],lb,ub,[],[],x);
It doesn't seem to work. thetahat is always giving me theta0. I've tried using fminsearch and fminunc without the constraints but that didn't help.
Any ideas?
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposte (1)

Seth DeLand il 16 Feb 2012
Hi Jimmy,
It looks like the way you have your optimization set up, you're trying to maximize the value of LL. However, all of the optimization solvers attempt to minimize the objective function.
Adding a minus sign so that:
LL = -sum(l);
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Categorie

Scopri di più su Solver Outputs and Iterative Display in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by