On Thu, 14 Jun 2007, Sven Schreiber wrote:
Hi Allin and Jack,
since you mentioned that you're working on cointegration restrictions,
just a technical note on the switching algorithm for VECMs with alpha
and beta restrictions (Boswijk/Doornik section 4.4).
As could be expected, the starting values are very important. In
py4gretl_vecmrestrict <=0.9.4 (currently on the server) I simply used
the generically identified unrestricted estimates for alpha and beta
(and implicitly for the cov-matrix omega). However, that seemed to fail
quite often for the real-world cases I needed.
So today I tried out using generic starting values for alpha, beta, and
also omega, namely identity matrices (augmented by blocks of zeros to
get the right dimensions).
Although it's still very crude it seems to work much better! Of course,
one could add much more magic like comparing the results for different
starting values, scaling the data etc etc., but so far I don't need
that. The only difference with respect to results from PcGive is that my
standard errors are a bit higher, which I don't understand yet.
Apart from that I have also made a variant of the package which directly
uses the inputs G, h0, and H and is thus more flexible (but also less
user-friendly...). I'm not sure whether I should put that on the server,
So much for that.
I'll give you the current state of the work on cointegration restrictions.
For the next release, we plan to implement generic constraints on beta
(the only restriction being that you can't specify cross-equation
restrictions, but we think that's easy to avoid by re-expressing the
constraints). We won't use the switching algorithm originally proposed by
Johansen, as it's much easier to use a generic BFGS maximizer. We don't
plan to implement restrictions on alpha at this stage.
The number-crunching part is practically done; by the way, this unearthed
a minor problem with our BFGS engine, whose fix (more ore less done
already) may prove beneficial in other contexts too. Work on the user
interface is being done.
As you correctly point out, the method for choosing the starting values is
crucial. We've been experimenting with different strategies and there
seems to be no clear winner so far. Once the new code is in CVS, you can
start experimenting with your own test cases: your contribution will be
Riccardo (Jack) Lucchetti
Dipartimento di Economia
Università Politecnica delle Marche