Si su interés principal son los problemas bidimensionales, yo diría que la estimación de la densidad del núcleo es una buena opción porque tiene buenas propiedades asintóticas (tenga en cuenta que no estoy diciendo que sea la mejor). Ver por ejemplo
Parzen, E. (1962). Sobre la estimación de una función de densidad de probabilidad y modo . Anales de Estadística Matemática 33: 1065-1076.
de Valpine, P. (2004). Verosimilitudes del espacio de estado de Monte Carlo mediante la estimación de la densidad del núcleo posterior ponderada . Revista de la Asociación Americana de Estadística 99: 523-536.
Para dimensiones superiores (4+) este método es realmente lento debido a la conocida dificultad de estimar la matriz de ancho de banda óptima, véase .
Ahora, el problema con el comando ks
en el paquete KDE
es, como has mencionado, que evalúa la densidad en una malla específica que puede ser muy limitante. Este problema se puede resolver si se utiliza el paquete KDE
para estimar la matriz de ancho de banda, utilizando por ejemplo Hscv
implementa el estimador de densidad Kernel y luego optimiza esta función utilizando el comando optim
. Esto se muestra a continuación utilizando datos simulados y un núcleo gaussiano en R
.
rm(list=ls())
# Required packages
library(mvtnorm)
library(ks)
# simulated data
set.seed(1)
dat = rmvnorm(1000,c(0,0),diag(2))
# Bandwidth matrix
H.scv=Hlscv(dat)
# [Implementation of the KDE](http://en.wikipedia.org/wiki/Kernel_density_estimation)
H.eig = eigen(H.scv)
H.sqrt = H.eig$vectors %*% diag(sqrt(H.eig$values)) %*% solve(H.eig$vectors)
H = solve(H.sqrt)
dH = det(H.scv)
Gkde = function(par){
return( -log(mean(dmvnorm(t(H%*%t(par-dat)),rep(0,2),diag(2),log=FALSE)/sqrt(dH))))
}
# Optimisation
Max = optim(c(0,0),Gkde)$par
Max
Los estimadores de forma restringida suelen ser más rápidos, por ejemplo
Cule, M. L., Samworth, R. J. y Stewart, M. I. (2010). Estimación por máxima verosimilitud de una densidad logarítmica multidimensional . Revista Royal Statistical Society B 72: 545-600.
Pero son demasiado pico para este fin.
El problema en las altas dimensiones es difícil de atacar independientemente del método utilizado debido a la naturaleza de la propia pregunta. Por ejemplo, el método propuesto en otra respuesta (desplazamiento de la media) está bien, pero se sabe que la estimación de la derivada de una densidad es aún más difícil que la estimación de la propia densidad en términos de errores (no estoy criticando esto, sólo señalando lo difícil que es este problema). Entonces, es probable que se necesiten miles de observaciones para estimar con exactitud el modo en dimensiones superiores a $4$ en problemas no relacionados con los juguetes.
Otros métodos que puede considerar utilizar son: ajustar una mezcla finita multivariada de normales (u otras distribuciones flexibles) o
Abraham, C., Biau, G. y Cadre, B. (2003). Estimación simple de la moda de una densidad multivariante . La Revista Canadiense de Estadística 31: 23-34.
Espero que esto ayude.
1 votos
No sé la respuesta, pero creo que es una gran pregunta. Es difícil para mí pensar en mejores enfoques que los que has mencionado. Creo que hay diferencias entre el enfoque de la estimación kernel univariante en comparación con el multivariante. Este libro de David Scott podría ser útil en relación con el enfoque de kernel multivariante, aunque no estoy seguro de que hable de la caza de picos. amazon.com/