How to find a good reparametrization to move from a constraint optimization to an unconstrained one?
Show older comments
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
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)));
Alan Weiss
MATLAB mathematical toolbox documentation
Categories
Find more on Problem-Based Optimization Setup 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!