knitr::opts_chunk$set( message = TRUE, warning = TRUE, collapse = TRUE, comment = "#>" ) library(concurve)
For this example, we'll explore the curve_lik()
function, which can help generate profile likelihood functions, and deviance functions with the help of the ProfileLikelihood
package.[@choiProfileLikelihoodProfileLikelihood2011]. For an introduction to what profile likelihoods are, see the following paper.[@coleMaximumLikelihoodProfile2013]
library(ProfileLikelihood)
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 produced.
lik <- curve_lik(xx, data = dataglm)
Next, we’ll plot four 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.
Please remember to cite the packages that you use.
citation("concurve") citation("ProfileLikelihood")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.