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

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)

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

Asked:

on 21 Jan 2015

Answered:

on 21 Jan 2015

Community Treasure Hunt

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

Start Hunting!