On Wed, 8 May 2019, Sven Schreiber wrote:
In March I had sent to this list a (possibly non-exhaustive) list of
non-working commands with 'vif':
* Doesn't work with vif:
- nls
- mle
- garch (presumably also arch)
- midasreg
- gmm
- biprobit
- tsls
- duration (a crash was fixed back then, not sure if it works now)
IMO the new facility would be especially useful for the commands where the
user writes down her estimator herself (nls, gmm, mle). There can be cases
when you end setting up something that is very weakly identified (or
downright unidentified) without you noticing, and the result is BFGS going
on and on and on, spewing out something that is utter nonsense, if
anything.
In those cases, I've found the spectral decomposition of $vcv to be a
very handy tool. Trivial example:
<hansl>
set seed 9999
nulldata 100
x = normal()
u = 0.001*uniform()
a = 0
b = 0
mle llik = -0.5*e^2
e = x - (a+b*u)
params a b
end mle
matrix eigenvec
lam = eigensym($vcv, &eigenvec)
print lam eigenvec
</hansl>
In this case, the model is just OLS, but b is very weakly identified
because the regressor's variance is ridiculous. The problem is easy to
spot if you look at the second eigenvector.
-------------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Scienze Economiche e Sociali (DiSES)
Università Politecnica delle Marche
(formerly known as Università di Ancona)
r.lucchetti(a)univpm.it
http://www2.econ.univpm.it/servizi/hpp/lucchetti
-------------------------------------------------------