findUnew: Find the Wilks Confidence Interval Upper Bound from the Given...

View source: R/findUnew.R

findUnewR Documentation

Find the Wilks Confidence Interval Upper Bound from the Given (empirical) Likelihood Ratio Function

Description

This function is similar to findUL2 but here the seeking of lower and upper bound are separate (the other half is findLnew).

See the help file of findLnew. Since sometimes the likelihood ratio is a Profile likelihood ratio and we need to supply the fun with different nuisance parameter(s) value(s) when seeking Lower or Upper bound. Those nuisance parameter(s) are supplied via the ... input.

Another improvement is that we used the "extendInt" option of the uniroot. So now we can and did used a smaller default step input, 0.003, compare to findUL2.

This program uses uniroot( ) to find (only) the upper (Wilks) confidence limit based on the -2 log likelihood ratio, which the required input fun is supposed to supply.

Basically, starting from MLE, we search on upper/higher direction, by step away from MLE, until we find values that have -2LLR = level. (the value of -2LLR at MLE is supposed to be zero.)

At curruent implimentation, only handles one dimesional parameter, i.e. only confidence intervals, not confidence regions.

Usage

findUnew(step=0.003, initStep=0, fun, MLE, level=3.84146, tol=.Machine$double.eps^0.5,...)

Arguments

step

a positive number. The starting step size of the search. Reasonable value should be about 1/5 of the SD of MLE.

initStep

a nonnegative number. The first step size of the search. Sometimes, you may want to put a larger innitStep to speed the search.

fun

a function that returns a list. One of the item in the list should be "-2LLR", which is the -2 log (empirical) likelihood ratio. The first input of fun must be the parameter for which we are seeking the confidence interval. (The MLE or NPMLE of this parameter should be supplied as in the input MLE). The rest of the input to fun are typically the data. If the first input of fun is set to MLE, then the returned -2LLR should be 0.

MLE

The MLE of the parameter. No need to be exact, as long as it is inside the confidence interval.

level

an optional positive number, controls the confidence level. Default to 3.84146 = chisq(0.95, df=1). Change to 2.70=chisq(0.90, df=1) to get a 90% confidence interval.

tol

Error bound of the final result.

...

additional arguments, if any, to pass to fun.

Details

Basically we repeatedly testing the value of the parameter, until we find those which the -2 log likelihood value is equal to 3.84146 (or other level, if set differently).

Value

A list with the following components:

Up

the lower limit of the confidence interval.

FstepU

the final step size when search lower limit. An indication of the precision/error size.

Uvalue

The -2LLR value of the final Up value. Should be approximately equal to level. If larger than level, than the confidence interval limit Up is wrong.

Author(s)

Mai Zhou

References

Zhou, M. (2016). Empirical Likelihood Method in Survival Analysis. CRC Press.

Examples

## example with tied observations. Kaplan-Meier mean=4.0659.
## For more examples see vignettes.
x <- c(1, 1.5, 2, 3, 4, 5, 6, 5, 4, 1, 2, 4.5)
d <- c(1,   1, 0, 1, 0, 1, 1, 1, 1, 0, 0,  1)
myfun6 <- function(theta, x, d) {
el.cen.EM2(x, d, fun=function(t){t}, mu=theta)
}
findUnew(step=0.1, fun=myfun6, MLE=4.0659, x=x, d=d)

emplik documentation built on Sept. 8, 2023, 5:06 p.m.