domingo, 6 de septiembre de 2009

Estimación de una función de densidad bivariante

Del mismo modo que la función density se usa para calcular un conjunto de estimadores de densidad kernel, podemos estimar una densidad bivariante con la función bkde2D del paquete KernSmooth (Wand and Ripley, 2005).

El gráfico de este artículo se ha obtenido con los datos de energía y temperatura de unas estrellas (en logaritmos) del paquete HSAUR y el siguiente código:

> install.packages(c("HSAUR","KernSmooth"))
> library(HSAUR)
> library(KernSmooth)
> data(CYGOB1, package="HSAUR")
> CYGOB1d <- bkde2D(CYGOB1, bandwidth = sapply(CYGOB1, dpik))
> persp(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat,
+ xlab = "log surface temperature",
+ ylab = "log light intensity",
+ zlab = "estimated density",
+ theta = -35, axes = TRUE, box = TRUE)


También podemos hacer un gráfico de contornos con la función contour
> contour(x = CYGOB1d$x1, y = CYGOB1d$x2, z = CYGOB1d$fhat,
+ xlab = "log surface temperature",
+ ylab = "log light intensity")


Font: B.S. Everitt & T. Hothorn, A Handbook of Statistical Analysis Using R, Chapman & Hall/CRC, 2006.

1 comentario: