How to find a good reparametrization to move from a constraint optimization to an unconstrained one?

2 views (last 30 days)
Dear all,
I have a little optimization problem. I have decided to move from a constrain optimization to an unconstrained one.
I want to maximise a likelihood function of Markov-Switching GARCH model. The constraints are a little bit complicated.
  • All the parameters have to be greater than 0 - Not a problem
  • The columns of the transition probability matrix have to sum to one - Not a problem
  • And the last, for the stationarity this one: max(abs(eig(Mc))) > 1 with Mc a big matrix containing some elements which depend on the transition matrix and GARCH parameters - Warning: problem
How is it possible to check that?
For the moment, the only solution i could build, is to check after the estimation if the stationarity constraint is verified. If it is not, I would make another estimation with other single constraints on the coefficients. What do you think about that?
Thanks a lot for your help.
Best,
Thomas

Answers (1)

Alan Weiss
Alan Weiss on 21 Jan 2015
You can indeed incorporate this kind of nonlinear constraint into a constraint for fmincon. In fact, there is an example in the documentation that uses the eigenvalues of a matrix as a goal for fgoalattain. In that example there is the line
eigfun = @(K) sort(eig(A+B*K*C));
You could make a nonlinear constraint function along the following lines:
function [c,ceq] = eigfun2(x)
ceq = [];
% Put your calculation of Mc here, and then:
c = 1 - max(abs(eig(Mc)));
If you calculate Mc as part of other things, pass it in a nested function, as explained here.
Alan Weiss
MATLAB mathematical toolbox documentation

Categories

Find more on Conditional Variance Models in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!