On Fri, 3 Oct 2008, Gordon Hughes wrote:
D. I have mentioned previously that the functions can easily run
into
non-concave regions, which can cause mle using analytical derivatives to
fail. [The root problem appears to lie in the behaviour of the function
cnorm(x) for large values of x, since the likelihood function contains terms
involving 1/(1-cnorm(x)). The fix-up causes discontinuities in the
analytical derivatives, but not in the numerical derivatives.]
Just out of curiosity, do things improve using the pvalue() function? They
may, for reasons too long to explain here. For example, the following
script
<script>
set echo off
nulldata 5
loop for (x=1.5; x<10; x+=0.5)
printf "%5.2f: %g vs %g\n", x, 1-cnorm(x), pvalue(n, x)
end loop
</script>
produces
<output>
1.50: 0.0668072 vs 0.0668072
2.00: 0.0227501 vs 0.0227501
2.50: 0.00620967 vs 0.00620967
3.00: 0.0013499 vs 0.0013499
3.50: 0.000232629 vs 0.000232629
4.00: 3.16712e-05 vs 3.16712e-05
4.50: 3.39767e-06 vs 3.39767e-06
5.00: 2.86652e-07 vs 2.86652e-07
5.50: 1.89896e-08 vs 1.89896e-08
6.00: 9.86588e-10 vs 9.86588e-10
6.50: 4.016e-11 vs 4.016e-11
7.00: 1.27987e-12 vs 1.27981e-12
7.50: 3.18634e-14 vs 3.19089e-14
8.00: 6.66134e-16 vs 6.22096e-16
8.50: 0 vs 9.47953e-18
9.00: 0 vs 1.12859e-19
9.50: 0 vs 1.04945e-21
</output>
Riccardo (Jack) Lucchetti
Dipartimento di Economia
Università Politecnica delle Marche
r.lucchetti(a)univpm.it
http://www.econ.univpm.it/lucchetti