How we can fix the fmincon?

2 views (last 30 days)
Karim Hasouna
Karim Hasouna on 15 Aug 2020
Edited: Matt J on 16 Aug 2020
I have a GARCH with an exogenous variable with a delta coefficient. I analysed the maximum likelihood estimation to find the four parameters.
There is somethign wrong.
omega = theta(1,1);
alpha = theta(2,1);
beta = theta(3,1);
delta = theta(4,1);
lb = [0.0000001;
0;
0;
0.0000001];
ub = [1000000;
0.999999;
0.999999;
100000];
A = [0 1 1 0;1 0 0 1];
b = [0.9999999; 0];
%Aeq =[1 0 0 0];
%beq =[0];
What I should do for input = omega + delta >0.
I think this is the problem of the output.
[x,fval,exitflag,output,lambda,grad,hessian] = fmincon('log_lk_GARCHVIX',theta0,A,b,[],[],lb,ub)
The output give me most of parameters equatl to zero and 1 equal to 1.
  2 Comments
Karim Hasouna
Karim Hasouna on 15 Aug 2020
x= 0.0003
0.1585
0.1579
0.0010
Now give me this output with the exitflag=1. What I want ot understand is why the last value delta = 0.0010 follows the lower value that I put in the lb[ ..., ..., ..., 0.0010]. It means that is useless teh last parameter in my analysis?
Matt J
Matt J on 15 Aug 2020
Edited: Matt J on 15 Aug 2020
Well, a minimum will follow lb if the objective is "positively sloped" in the neighborhood of lb. For example, consider the simpler, one-variable problem
min. x
s.t. x>=lb
Clearly the minimum will always be at x=lb.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 15 Aug 2020
A = [0 1 1 0;-1 0 0 -1];
b = [0.9999999; 0];
  6 Comments
Walter Roberson
Walter Roberson on 16 Aug 2020
You are being stopped by a constraint. exitflag 1 can only occur if you are not being stopped by a constraint and the jacobian is all nondecreasing (indicating a local minimum).
Matt J
Matt J on 16 Aug 2020
Edited: Matt J on 16 Aug 2020
Hmmm. I don't think that can be true, based on the following example. Clearly the optimization would keep going if it were not for the lower bound lb=0. Yet, we get an exitflag of one.
>> [x,fval,exitflag]=fmincon(@(x)x , 2, [],[],[],[],0,inf)
Local minimum found that satisfies the constraints.
x =
2.0000e-08
fval =
2.0000e-08
exitflag =
1

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!