Me interesa saber cómo se puede calcular un cuantil de una distribución multivariante. En las figuras, he dibujado los cuantiles del 5% y del 95% de una determinada distribución normal univariante (izquierda). Para la distribución normal multivariante de la derecha, estoy imaginando que un análogo sería una isolínea que rodea la base de la función de densidad. A continuación se muestra un ejemplo de mi intento de calcular esto utilizando el paquete mvtnorm
- pero sin éxito. Supongo que esto podría hacerse calculando un contorno de los resultados de la función de densidad multivariante, pero me preguntaba si hay otra alternativa ( Por ejemplo análogo de qnorm
). Gracias por su ayuda.
Ejemplo:
mu <- 5
sigma <- 2
vals <- seq(-2,12,,100)
ds <- dnorm(vals, mean=mu, sd=sigma)
plot(vals, ds, t="l")
qs <- qnorm(c(0.05, 0.95), mean=mu, sd=sigma)
abline(v=qs, col=2, lty=2)
#install.packages("mvtnorm")
require(mvtnorm)
n <- 2
mmu <- rep(mu, n)
msigma <- rep(sigma, n)
mcov <- diag(msigma^2)
mvals <- expand.grid(seq(-2,12,,100), seq(-2,12,,100))
mvds <- dmvnorm(x=mvals, mean=mmu, sigma=mcov)
persp(matrix(mvds,100,100), axes=FALSE)
mvqs <- qmvnorm(0.95, mean=mmu, sigma=mcov, tail = "both") #?
#ex. plot
png("tmp.png", width=8, height=4, units="in", res=400)
par(mfcol=c(1,2))
#univariate
plot(vals, ds, t="l")
qs <- qnorm(c(0.05, 0.95), mean=mu, sd=sigma)
abline(v=qs, col=2, lty=2)
#multivariate
pmat <- persp(seq(-2,12,,100), seq(-2,12,,100), matrix(mvds,100,100), axes=FALSE, shade=TRUE, lty=0)
cont <- contourLines(seq(-2,12,,100), seq(-2,12,,100), matrix(mvds,100,100), levels=0.05^2)
lines(trans3d(cont[[1]]$x, cont[[1]]$y, cont[[1]]$level, pmat), col=2, lty=2)
dev.off()
3 votos
A Mathematica (e ilustrada para el caso 3D) en mathematica.stackexchange.com/questions/21396/ . Reconoce que los niveles de contorno vienen dados por una distribución chi-cuadrado.
0 votos
@whuber - ¿te importaría demostrar lo que quieres decir con "... el elipsoide de confianza es un contorno de la inversa de la matriz de covarianza"? Saludos.
3 votos
Esto es más fácil de ver en una dimensión, donde la "matriz de covarianza" (para una distribución muestral) es un número $s^2$ por lo que su inversa es $1/s^2$ como un mapa cuadrático sobre $\mathbb{R}^1$ vía $x\to x^2/s^2$ . Un contorno a nivel $\lambda$ por definición es el conjunto de $x$ para lo cual $x^2/s^2=\lambda$ Eso es, $x^2=\lambda s^2$ o equivalentemente $x=\pm\sqrt{\lambda}s$ . Cuando $\lambda$ es el $1-\alpha$ cuantil de a $\chi^2(1)$ distribución, $\sqrt{\lambda}$ es el $1-\alpha$ cuantil de a $t(1)$ de donde se obtienen los límites de confianza habituales $\pm t_{1-\alpha; 1}s$ .
0 votos
Puede utilizar la primera fórmula en este responder eligiendo $\alpha$ en $(0,1)$ para obtener la elipse correspondiente $S_\alpha$ (la línea discontinua roja en sus gráficos) para cualquier $\mathbf{x}\in \mathbb{R}^2$