Mysterious results from likelihood ratio confidence bounds on a Weibull reliability estimate

I'm trying to calculate a confidence interval on an estimate of the cumulative distribution of a two-parameter Weibull distribution. (Actually 1-cdf, the survival probability.) I want to do this using the likelihood ratio bounds method.

The only reference I've found for how to do this, is this page on reliawiki.org.

According to that page, this is done by finding the solutions to this equation:

Where $\hat{\beta}$ and $\hat{\eta}$ are the estimated parameters of the Weibull distribution, $R$ is the reliability for which to find the confidence bounds, and $L$ is the likelihood function:

Here $x_i$ is the i-th time-to-failure datapoint.

I've been able to write code to solve this numerically, and get the same results as the ones shown in the reliawiki article. However, some things indicate that something about these results are wrong. Here, the likelihood ratio confidence limits are plotted in light blue and purple:

The blue line is the estimated reliability whose confidence bounds I'm trying to find. Also plotted is the maximum likelihood confidence interval on the same estimate. As you can see, the likelihood ratio method give bounds that are much wider.

Another problem is that the likelihood function is a product of small numbers, so for larger datasets, the likelihood becomes exactly 0 because of underflow.

Two questions:

1) Am I right in assuming that the likelihood ratio based confidence interval is too wide?

2) How can I avoid the underflow issue when computing the likelihood functions?

• As for your question 2), that is easy. You have to work with the LOG-likelihood (LL): the logarithm of the likelihood. For a large dataset, the LL now becomes the sum of a lot of negative numbers. No more underflow! – StijnDeVuyst Feb 21 '16 at 9:54
• How do you compute the "maximum likelihood confidence interval"? Anyway, if you want to know if your confidence interval is a good one, just run a simulation and check if you get 95% coverage. – Florian Hartig Feb 21 '16 at 18:50
• @StijnDeVuyst Thank you! I had actually done some work in this direction, but had messed something up along the way.. Your comment pushed me to look into it further and now I got that to work. That seems to have solved the underflow issues. – larspars Feb 22 '16 at 10:03
• @FlorianHartig The MLE confidence interval was found by inverting the Fisher information matrix, as described under the heading "Fisher Matrix Confidence Bounds" on the Reliawiki page I linked to. I'll try running a simulation, thanks for the tip. – larspars Feb 22 '16 at 10:06
• @FlorianHartig How would you do that simulation? I first thought I could can generate N samples from the pdf, and then create an empirical cdf from that, and compare that to my graph. But that doesn't seem right, as that would get a tighter fit by just increasing N. – larspars Feb 23 '16 at 12:02