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