有界支持上的核密度估计?

机器算法验证 r 密度函数 内核平滑 贝塔分布 下溢
2022-03-09 01:16:35

在单位间隔的情况下,我正在寻找某种方法来处理 kde 的边界偏差。一个例子是使用 Chen 估计器(或 Beta 估计器;一个例子可以在这里看到:http : //stats-www.open.ac.uk/TechnicalReports/mcjdah.pdf -p.4)——而不是典型的内核密度估计器

f^(x)=1ni=1nK(x,Xi;h)
我们获得:
fC1^(x)=1nB(xh2+1,1xh2+1)i=1nXix/h2(1Xi)(1x)/h2,
其中 B() 是 beta 函数

我遇到的困难是在参数值较大的情况下计算 beta 函数的下溢问题。例如在 R 中:

data <- runif(10000)

Chen_kde <- function(x,input,h=1/length(input)^(0.9)){

   p = x / h + 1
   q = (1-x) / h + 1

   output = mean(trans_data^(p-1)*(1-trans_data)^(q-1)/beta(p,q))
   return(output)
}

Chen_kde(0.1,data)

Warning message:
In beta(p, q) : underflow occurred in 'beta'

我发现解决这个问题的一种方法是用具有相等均值和标准偏差的正态密度来近似 beta 分布。但是,上述总和的每个元素仅与 beta 分布“相似”,因为 x 位于指数中,而不是底数。我的问题是,在这个例子中,我是否也可以近似每个元素以摆脱下溢问题,或者可以有一些其他成功的方法来纠正单位间隔的 kde 边界偏差。

1个回答

bde在 CRAN 存储库中提供的包中实现了几种处理有界支持上的密度估计的方法(包括 Chen 提出的估计方法) 。您可能有兴趣使用它。