Skip to content

CI consistency #719

@mattansb

Description

@mattansb

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 >>)

  • Maybe merge hdi()/spi() into one function?
  • Maybe also add one and two dimensional HDI/HDR?

Footnotes

  1. We also have bci(), but if I'm not mistaken that is more appropriate for bootstrap based confidence intervals?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Consistency 🍏 🍎Expected output across functions could be more similar

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions