Kernel density estimate

Share:

Description

Kernel density estimate for 1- to 6-dimensional data.

Usage

1
2
3
4
5
6
7
kde(x, H, h, gridsize, gridtype, xmin, xmax, supp=3.7, eval.points, 
    binned=FALSE, bgridsize, positive=FALSE, adj.positive, w,
    compute.cont=FALSE, approx.cont=TRUE, unit.interval=FALSE,
    verbose=FALSE)

## S3 method for class 'kde'
predict(object, ..., x, zero.flag=TRUE)

Arguments

x

matrix of data values

H,h

bandwidth matrix/scalar bandwidth. If these are missing, Hpi or hpi is called by default.

gridsize

vector of number of grid points

gridtype

not yet implemented

xmin,xmax

vector of minimum/maximum values for grid

supp

effective support for standard normal

eval.points

points at which estimate is evaluated

binned

flag for binned estimation. Default is FALSE.

bgridsize

vector of binning grid sizes

positive

flag if 1-d data are positive. Default is FALSE.

adj.positive

adjustment applied to positive 1-d data

w

vector of weights. Default is a vector of all ones.

compute.cont

flag for computing 1% to 99% probability contour levels. Default is FALSE.

approx.cont

flag for computing approximate probability contour levels. Default is TRUE.

unit.interval

flag if 1-d data are bounded on unit interval [0,1]. Default is FALSE.

verbose

flag to print out progress information. Default is FALSE.

object

object of class kde

zero.flag

interploted values object$estimate of when x outside of object$eval.points=0 (if TRUE), = nearest object$estimate (if FALSE)

...

other parameters

Details

For d=1, if h is missing, the default bandwidth is hpi. For d>1, if H is missing, the default is Hpi.

For d=1, if positive=TRUE then x<-log(x+adj.positive) where the default adj.positive is the minimum of x.

For d=1, 2, 3, 4, and if eval.points is not specified, then the density estimate is computed over a grid defined by gridsize (if binned=FALSE) or by bgridsize (if binned=TRUE). If eval.points is specified, then the density estimate is computed exactly at eval.points. For d>4, the kernel density estimate is computed exactly and eval.points must be specified.

The default bgridsize,gridsize are d=1: 401; d=2: rep(151, 2); d=3: rep(51, 3); d=4: rep(21,4).

The effective support for a normal kernel is where all values outside [-supp,supp]^d are zero.

The default xmin is min(x)-Hmax*supp and xmax is max(x)+Hmax*supp where Hmax is the maximum of the diagonal elements of H. The grid produced is the outer product of c(xmin[1], xmax[1]), ..., c(xmin[d], xmax[d]).

Value

A kernel density estimate is an object of class kde which is a list with fields:

x

data points - same as input

eval.points

points at which the estimate is evaluated

estimate

density estimate at eval.points

h

scalar bandwidth (1-d only)

H

bandwidth matrix

gridtype

"linear"

gridded

flag for estimation on a grid

binned

flag for binned estimation

names

variable names

w

weights

cont

probability contour levels (if compute.cont=TRUE)

See Also

plot.kde

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## positive data example
set.seed(8192)
x <- 2^rnorm(100)
fhat <- kde(x=x, positive=TRUE)
plot(fhat, col=3)
points(c(0.5, 1), predict(fhat, x=c(0.5, 1)))

## large data example on non-default grid
## 151 x 151 grid = [-5,-4.933,..,5] x [-5,-4.933,..,5]
set.seed(8192)
x <- rmvnorm.mixt(10000, mus=c(0,0), Sigmas=invvech(c(1,0.8,1)))
fhat <- kde(x=x, binned=TRUE, compute.cont=TRUE, xmin=c(-5,-5), xmax=c(5,5), bgridsize=c(151,151))
plot(fhat)

## See other examples in ? plot.kde

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.