R: Plot highest posterior density region

HPDregionplot {emdbook} | R Documentation

## Plot highest posterior density region

### Description

Given a sample from a posterior distribution (an `mcmc` object from the `coda` package), plot the bivariate region of highest marginal posterior density for two variables, using `kde2d` from `MASS` to calculate a bivariate density.

### Usage

    HPDregionplot(x, vars = 1:2, h, n = 50, lump = TRUE, prob = 0.95, xlab =
    NULL, ylab = NULL, lims=NULL, ...)

### Arguments

`x` | an `mcmc` or `mcmc.list` object
`vars` | which variables to plot: numeric or character vector
`h` | bandwidth of 2D kernel smoother (previous default value was `c(1,1)`, which worked poorly with some plots with very small scales; if not specified, defaults to values in `kde2d`)
`n` | number of points at which to evaluate the density grid
`lump` | if `x` is an `mcmc.list` object, lump the chains together for plotting?
`prob` | probability level
`xlab` | x axis label
`ylab` | y axis label
`lims` | limits, specified as (x.lower,x.upper,y.lower,y.upper) (passed to `kde2d`)
`...` | other arguments to `contour`

### Details

Uses `kde2d` to calculate a bivariate density, then normalizes the plot and calculates the contour corresponding to a contained volume of `prob` of the total volume under the surface (a two-dimensional Bayesian credible region).

### Value

Draws a plot on the current device, and invisibly returns a list of contour lines (`contourLines`).

### Note

Accuracy may be limited by density estimation; you may need to tinker with `h` and `n` (see `kde2d` in the `MASS` package).

### Author(s)

Ben Bolker

### See Also

`HPDinterval` in the `coda` package, `ellipse` package

### Examples

    library(MASS)
    library(coda)
    z <- mvrnorm(1000,mu=c(0,0),Sigma=matrix(c(2,1,1,2),nrow=2))
    z2 <- mvrnorm(1000,mu=c(0,0),Sigma=matrix(c(2,1,1,2),nrow=2))
    HPDregionplot(mcmc(z))
    HPDregionplot(mcmc.list(mcmc(z),mcmc(z2)))

[Package emdbook version 1.3.10 Index]