bandwidth: Bandwidth estimators

bandwidthR Documentation

Bandwidth estimators

Description

Bandwidth estimators for densities, used in the bandwidth argument to density functions (e.g. density_bounded(), density_unbounded()).

Supports automatic partial function application with waived arguments.

Usage

bandwidth_nrd0(x, ...)

bandwidth_nrd(x, ...)

bandwidth_ucv(x, ...)

bandwidth_bcv(x, ...)

bandwidth_SJ(x, ...)

bandwidth_dpi(x, ...)

Arguments

x

<numeric> Vector containing a sample.

...

Arguments passed on to stats::bw.SJ

nb

number of bins to use.

lower,upper

range over which to minimize. The default is almost always satisfactory. hmax is calculated internally from a normal reference bandwidth.

method

either "ste" ("solve-the-equation") or "dpi" ("direct plug-in"). Can be abbreviated.

tol

for method "ste", the convergence tolerance for uniroot. The default leads to bandwidth estimates with only slightly more than one digit accuracy, which is sufficient for practical density estimation, but possibly not for theoretical simulation studies.

Details

These are loose wrappers around the corresponding bw.-prefixed functions in stats. See, for example, bw.SJ().

bandwidth_dpi(), which is the default bandwidth estimator in ggdist, is the Sheather-Jones direct plug-in estimator, i.e. bw.SJ(..., method = "dpi").

With the exception of bandwidth_nrd0(), these estimators may fail in some cases, often when a sample contains many duplicates. If they do they will automatically fall back to bandwidth_nrd0() with a warning. However, these failures are typically symptomatic of situations where you should not want to use a kernel density estimator in the first place (e.g. data with duplicates and/or discrete data). In these cases consider using a dotplot (geom_dots()) or histogram (density_histogram()) instead.

Value

A single number giving the bandwidth

See Also

density_bounded(), density_unbounded().


mjskay/ggdist documentation built on Nov. 21, 2024, 10:46 a.m.