Ok… so the density function, the multi-dimensional integral of which is the likelihood is ludicrously small, and I still haven’t thought up a method of dealing with it.
However, and get this: why then was I able to evaluate likelihood using the quadrature approximation? For example, with some rigged numbers, the density gives a log value of -1168, where as the log likelihood is -325. The difference is a factor of in the actual values (as opposed to the log values). The region over which the integral is no “as close to 0 as you can imagine” is not that big…
This suggests that my earlier likelihood function is doing something wrong. Let’s see what.
P.S. Maybe I should try some smaller cases where the numbers are more manageable. Maybe.
Update: I tried with smaller sample sizes. This didn’t really make the numbers any bigger. However, I realised that it doesn’t matter some of the numbers are coming out at -Inf, because R treats exp(-Inf) as 0, so while I do loose a bit of accuracy, the Monte Carlo method is largely unaffected.
Further more, I fixed a bug in my earlier code, so the two log-likelihood functions agree now on small sample sizes now. However, it became apparent that the MC method became hopelessly slow for higher dimensional cases (even 5th dimensional!), so is not really useful for large samples.
In some sense, I’m back to where I started a few days back with the misbehaving function. I’m going to have a look at the older Fridman paper to see if that sheds any light on my problem.

