Generally speaking there are 3 types of ideas for obtaining credible intervals:
-
Highest Density Interval(s) / Region(s) (HDI/HDR) : Interval or intervals that contain the values that have the $(1-\alpha)$% most probable values by their density.
-
Quantile / Equal-Tailed Intervals (QI/ETI): Interval where each bound is found seperately: the lower/upper bound is that value that has $\alpha/2$% below/above it.
-
Shortest Probability / Highest Density Continuous Interval (SPI/HDCI): The interval with the minimum width that contains $(1-\alpha)$% posterior mass.
- When the posterior density is uni-modal, SPI/HDCI is equal to the HDI/HDR.
- When the posterior is symmetric, SPI/HDCI is equal to the QI/ETI.
We currently have 3 function for computing credible intervals1:
eti() - returns the QI/ETI based on the MCMC ecdf.
hdi() - returns the SPI/HDCI based on the MCMC ecdf.
spi() - returns the SPI/HDCI based on the density estimation from the MCMC samples.
This seems inconsistent and confusing. Personally I'm not a fan of the HDI/HDR that can return multiple intervals, nor of the density based SPI/HDCI (why add a step?), but something should probably be done regarding the naming of these functions? (scroll up and down here >>)
Generally speaking there are 3 types of ideas for obtaining credible intervals:
We currently have 3 function for computing credible intervals1:
eti()- returns the QI/ETI based on the MCMC ecdf.hdi()- returns the SPI/HDCI based on the MCMC ecdf.spi()- returns the SPI/HDCI based on the density estimation from the MCMC samples.This seems inconsistent and confusing. Personally I'm not a fan of the HDI/HDR that can return multiple intervals, nor of the density based SPI/HDCI (why add a step?), but something should probably be done regarding the naming of these functions? (scroll up and down here >>)
hdi()/spi()into one function?Footnotes
We also have
bci(), but if I'm not mistaken that is more appropriate for bootstrap based confidence intervals? ↩