Я не знаю точно, почему cdf имеет разные значения при изменении полосы пропускания в оценке плотности ядра. В приведенном ниже коде я генерирую случайные числа из гауссовского распределения и оцениваю плотность ядра данных при выборе разных полос пропускания (h). Когда я интегрирую PDF, я получаю разные значения, более или менее отдаленные от 1. Таким образом, кажется, что CDF зависит от полосы пропускания, используемой в оценке плотности ядра. Тем не менее, я полагал, что коэффициент 1/nh в оценке сущности ядра гарантирует, что pdf интегрируется в 1. Если пропускная способность является проблемой, как я могу ее определить, чтобы обеспечить, чтобы полученный pdf-файл интегрировался в 1?CDF в зависимости от полосы пропускания, используемой при оценке плотности ядра?
g<-1
n<-1000
set.seed(g)
df <- data.frame(x=sort(rnorm(n,0,1)))
library(functional)
gaussianKernel <- function(u) exp(-u^2/2)/(2*pi)^.5
densityFunction <- function(x, df, ker, h){
difference = t(t(df) - x)/h
W = sum(apply(difference, 1, ker))/(nrow(df)*h)
}
myDensityFunction <- Curry(densityFunction, df=df, ker=gaussianKernel, h=2)
vect<-vector()
for (i in 1:length(df$x)){
f<-myDensityFunction(df$x[i])
vect<-c(vect,f)
}
f <- approxfun(df$x, vect, yleft = 0, yright = 0)
integrate(f, -Inf, Inf)
6pool, спасибо очень много. Я понимаю, что мне нужно выбрать пропускную способность, например, CDF может интегрироваться в 1 (это единственное ограничение, которое нужно выполнить?). Таким образом, я также могу оптимизировать bandwidwth под этим ограничением. Я прав? – Lio