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 Kommentare

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 am 15 Aug. 2020
Bearbeitet: Matt J am 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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Matt J
Matt J am 15 Aug. 2020

0 Stimmen

A = [0 1 1 0;-1 0 0 -1];
b = [0.9999999; 0];

6 Kommentare

Local minimum possible. Constraints satisfied.
fmincon stopped because the size of the current step is less than
the value of the step size tolerance and constraints are
satisfied to within the value of the constraint tolerance.
<stopping criteria details>
x = 4×1
0.0001
0.3536
0.6464
0.0000
fval = -4.1948e+03
exitflag = 2
output =
iterations: 55
funcCount: 358
constrviolation: 0
stepsize: 1.3190e-10
algorithm: 'interior-point'
firstorderopt: 25.1935
cgiterations: 101
message: '↵Local minimum possible. Constraints satisfied.↵↵fmincon stopped because the size of the current step is less than↵the value of the step size tolerance and constraints are ↵satisfied to within the value of the constraint tolerance.↵↵<stopping criteria details>↵↵Optimization stopped because the relative changes in all elements of x are↵less than options.StepTolerance = 1.000000e-10, and the relative maximum constraint↵violation, 0.000000e+00, is less than options.ConstraintTolerance = 1.000000e-06.↵↵'
lambda =
eqlin: [0×1 double]
eqnonlin: [0×1 double]
ineqlin: [2×1 double]
lower: [4×1 double]
upper: [4×1 double]
ineqnonlin: [0×1 double]
grad = 4×1
25.2244
-1.2960
-1.2880
1.7870
hessian = 4×4
1.0e+10 *
5.8135 0.0001 -0.0003 0.1405
0.0001 0.0000 -0.0000 -0.0000
-0.0003 -0.0000 0.0000 -0.0000
0.1405 -0.0000 -0.0000 0.0354
t_omega = 28.9752
t_alpha = 5.1986
t_beta = 9.5768
t_delta = 0.3876
sigma2_hat_T1 = 6.8021e-04
Matt J
Matt J am 15 Aug. 2020
Bearbeitet: Matt J am 15 Aug. 2020
Glad you got it working, but please Accept-click the answer to indicate that your question is resolved.
Karim Hasouna
Karim Hasouna am 15 Aug. 2020
Is it working? It should be minimum satisfied. exitflag equal to 1. I think there is a mistake. Also the omega and the delta are 0 and is weird.
Matt J
Matt J am 15 Aug. 2020
Bearbeitet: Matt J am 16 Aug. 2020
exitflag=1 is a more confident termination flag than exitflag=2, but exitflag=2 is still pretty good. There is no obvious mistake in the use of fmincon that I can see. That's not to say there couldn't be a mistake in your problem formulation...
Walter Roberson
Walter Roberson am 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 am 16 Aug. 2020
Bearbeitet: Matt J am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Gefragt:

am 15 Aug. 2020

Bearbeitet:

am 16 Aug. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by