SmoothKernelDistribution

SmoothKernelDistribution[{x1,x2,}]
represents a smooth kernel distribution based on the data values .

SmoothKernelDistribution[{{x1,y1,},{x2,y2,},}]
represents a multivariate smooth kernel distribution based on the data values .

SmoothKernelDistribution[,bw]
represents a smooth kernel distribution with bandwidth bw.

SmoothKernelDistribution[,bw,ker]
represents a smooth kernel distribution with bandwidth bw and smoothing kernel ker.

Details and OptionsDetails and Options

  • SmoothKernelDistribution returns a DataDistribution object that can be used like any other probability distribution.
  • The probability density function for SmoothKernelDistribution for a value is given by a linearly interpolated version of for a smoothing kernel and bandwidth parameter .
  • The following bandwidth specifications bw can be given:
  • hbandwidth to use
    {"Standardized",h}bandwidth in units of standard deviations
    {"Adaptive",h,s}adaptive with initial bandwidth h and sensitivity
    Automaticautomatically computed bandwidth
    "name"use a named bandwidth selection method
    {bwx,bwy,}separate bandwidth specifications for x, y, etc.
  • For multivariate densities, h can be a positive definite symmetric matrix.
  • For adaptive bandwidths, the sensitivity s must be a real number between 0 and 1 or Automatic. If Automatic is used, s is set to , where is the dimensionality of the data.
  • Possible named bandwidth selection methods include:
  • "LeastSquaresCrossValidation"use the method of least-squares cross-validation
    "Oversmooth"1.08 times wider than the standard Gaussian
    "Scott"use Scott's rule to determine bandwidth
    "SheatherJones"use the SheatherJones plugin estimator
    "Silverman"use Silverman's rule to determine bandwidth
    "StandardDeviation"use the standard deviation as bandwidth
    "StandardGaussian"optimal bandwidth for standard normal data
  • By default the method is used.
  • For automatic bandwidth computation, constant arrays are assumed to have unit variance.
  • The following kernel specifications ker can be given:
  • "Biweight"
    "Cosine"
    "Epanechnikov"
    "Gaussian"
    "Rectangular"
    "SemiCircle"
    "Triangular"
    "Triweight"
    funcf_nu in R
  • In order for SmoothKernelDistribution to generate a true density estimate, the function fn should be a valid probability density function.
  • By default the kernel is used.
  • The kernel function ker can be specified to account for known bounding on the underlying density using , where c can be any real number, a list such that , or a list , with length equal to the dimension of data.
  • For multivariate densities, the kernel function ker can be specified as product and radial types using and , respectively. Product-type kernels are used if no type is specified.
  • The precision used for density estimation is the minimum precision given in the bw and data.
  • The following options can be given:
  • InterpolationPointsAutomaticinitial number of interpolation points to use
    MaxMixtureKernelsAutomaticmax number of kernels to use
    MaxRecursionAutomaticnumber of recursive subdivisions to allow
    PerformanceGoalAutomaticoptimize for speed or quality
    MaxExtraBandwidthsAutomaticmax bandwidths beyond data to use
  • SmoothKernelDistribution can be used with such functions as Mean, CDF, and RandomVariate.

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

Create an interpolated version of a kernel density estimate for some univariate data:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input

Use the resulting distribution to perform analysis, including visualizing distribution functions:

In[4]:=
Click for copyable input
Out[4]=

Compute moments and quantiles:

In[5]:=
Click for copyable input
Out[5]=
In[6]:=
Click for copyable input
Out[6]=

Create an interpolated version of a kernel density estimate of some bivariate data:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input

Visualize the estimated PDF and CDF:

In[3]:=
Click for copyable input
Out[3]=

Compute covariance and general moments:

In[4]:=
Click for copyable input
Out[4]//MatrixForm=
In[5]:=
Click for copyable input
Out[5]=
Introduced in 2010
(8.0)
| Updated in 2014
(10.0)