Basic usage

Basic usage

Distribution

The logitnormal distribution is useful as a prior density for variables that are bounded between 0 and 1, such as proportions. The following figure displays its density for various combinations of parameters mu (panels) and sigma (lines).

## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
plot of chunk densityPlots

plot of chunk densityPlots

Example: Plot the cumulative distribution

x <- seq(0,1, length.out=81) 
d <- plogitnorm(x, mu=0.5, sigma=0.5)
plot(d~x,type="l")
plot of chunk cumDensityPlot

plot of chunk cumDensityPlot

Mean and Variance

The moments have no analytical solution. This package estimates them by numerical integration:

Example: estimate mean and standard deviation.

(theta <- momentsLogitnorm(mu=0.6,sigma=0.5))
##       mean        var 
## 0.63812093 0.01208171

Mode

The mode is found by setting derivatives to zero and optimizing the resulting equation: \(logit(x) = \sigma^2(2x-1)+\mu\).

Example: estimate the mode

(mle <- modeLogitnorm(mu=0.6,sigma=0.5))
## [1] 0.6641416

Parameter Estimation

from upper quantile and

Example: estimate the parameters, with mode 0.7 and upper quantile 0.9

(theta <- twCoefLogitnormMLE(0.7,0.9))
##             mu    sigma
## [1,] 0.7608886 0.464783
x <- seq(0,1, length.out=81) 
d <- dlogitnorm(x, mu=theta[1,"mu"], sigma=theta[1,"sigma"])
plot(d~x,type="l")
abline(v=c(0.7,0.9), col="grey")
plot of chunk twCoefLogitnormMLE

plot of chunk twCoefLogitnormMLE

When increasing the \(\sigma\) parameter, the distribution becomes eventually becomes bi-model, i.e. has two maxima. The unimodal distribution for a given mode with widest confidence intervals is obtained by function twCoefLogitnormMLEFlat.

(theta <- twCoefLogitnormMLEFlat(0.7))
##              mu    sigma
## [1,] 0.01213214 1.444962
x <- seq(0,1, length.out=81) 
d <- dlogitnorm(x, mu=theta[1,"mu"], sigma=theta[1,"sigma"])
plot(d~x,type="l")
abline(v=c(0.7), col="grey")
plot of chunk twCoefLogitnormMLEFlat

plot of chunk twCoefLogitnormMLEFlat