Epanechnikov kernel density

For small sample, implementation differences may create significant deviations. For example by fixing the bandwidth, grid points and interpolation, you can get pretty similar results:

using KernelDensity,Distributions,Interpolations
import KernelDensity: kernel_dist
kernel_dist(::Type{Epanechnikov},w::Real) = Epanechnikov(0.0,w)
data =  [0.952,0.854,0.414,0.328,0.564,0.196,0.096,0.366,0.902,0.804]
kd   = kde(data, range(-5.0, 5.0,length=2048); kernel=Epanechnikov, bandwidth=1.0*sqrt(5))
dist = InterpKDE(kd, BSpline(Linear()))

julia> pdf(dist,.3)
0.32542324675955636

In R:

> data =  c(0.952,0.854,0.414,0.328,0.564,0.196,0.096,0.366,0.902,0.804)
> kd   = density(data,bw = 1.0, kernel = "epanechnikov",from=-5.0,to=5.0, n=2048)
> f    = approxfun(kd)
> f(.3)
[1] 0.3254264361
2 Likes