Profile Likelihoods

knitr::opts_chunk$set( message = TRUE, warning = TRUE, collapse = TRUE, comment = "#>" ) library(concurve)

For this last example, we'll explore the curve_lik() function, which can help generate profile likelihood functions, and deviance statistics with the help of the ProfileLikelihood package.[@Choi_2011]


We'll use a simple example taken directly from the ProfileLikelihood documentation where we'll calculate the likelihoods from a glm model

data(dataglm) xx <- profilelike.glm(y ~ x1 + x2, data = dataglm, profile.theta = "group", family = binomial(link = "logit"), length = 500, round = 2 )

Then, we’ll use curve_lik() on the object that the ProfileLikelihood package created.

lik <- curve_lik(xx, dataglm)

Next, we’ll plot three functions, the relative likelihood, the log-likelihood, the likelihood, and the deviance function.

ggcurve(lik[[1]], type = "l1", nullvalue = TRUE) ggcurve(lik[[1]], type = "l2") ggcurve(lik[[1]], type = "l3") ggcurve(lik[[1]], type = "d")

The obvious advantage of using reduced likelihoods is that they are free of nuisance parameters

$$L{t{n}}(\theta)=f{n}\left(F{n}^{-1}\left(H{p i v}(\theta)\right)\right)\left|\frac{\partial}{\partial t} \psi\left(t{n}, \theta\right)\right|=h{p i v}(\theta)\left|\frac{\partial}{\partial t} \psi(t, \theta)\right| /\left.\left|\frac{\partial}{\partial \theta} \psi(t, \theta)\right|\right|{t=t_{n}}$$ thus, giving summaries of the data that can be incorporated into combined analyses.