Clear Filters
Clear Filters

How can I use fmincon for maximum likelihood optimization?

6 views (last 30 days)
I am trying to use fmincon to obtain mle's for my model. Using the 'mle' function it gives me a solution, but the solution is not unique. I have therefore applied constraints to some of the parameters and tried to use 'fmincon' instead. But every time I run 'fmincon', with different starting values, it keeps giving me
Max Line search Directional 1st-order
Iter F-count f(x) c'straint steplength derivative optimality Procedure
0 5 12059.9 0
1 10 NaN 9.095e-13 1 -1.34e+04 Inf
2 15 NaN NaN 1 NaN Inf Hessian not
I'm not sure what's going wrong. I've included my code for the objective function, log-likelihood in this case, and the command lines I am using to run the optimization problem.
function ln_like = Skellam_Log_likelihood(parameters)
D = importdata('E:\Matlab Data Files\Emprical Data\GoalDifference.dat','D');
mu = parameters(1);
h = parameters(2);
a1 = parameters(3);
a2 = parameters(4);
for i = 1:1:length(D)
pdf(i) = Skellam_pdf(D(i),mu,h,a1,a2);
end
pdf = log(pdf);
ln_like = -1*sum(pdf);
end
x0 = [1 1 .2 -.2];
opts = optimset('Display','iter','Algorithm','active-set');
[x fval] = fmincon(@Skellam_Log_likelihood,x0,[],[],[0 0 1 1],0,[],[],... [],opts)

Answers (0)

Categories

Find more on Optimization in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!