Está en la página 1de 18

TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA

MIGUEL ROSALES

1. Sea B(p × p) una matriz simétrica definida positiva y b > 0 un escalar. Demuestre que la
desigualdad

1 1 1
b
exp{− tr(Σ−1 B)} ≤ (2b)pb exp{−bp},
det(Σ) 2 det(b)b
Se cumple para toda matriz definida positiva Σ(p × p), y que la igualdad se cumple cuando
1
Σ = 2b B.
1 1 1 1 1 1 1
Sea B 2 la raiz cuadrada de B , de tal manera que B 2 B 2 = B , B 2 B 2 = I , y B 2 B 2 = B −1 .
1 1 1 1 1
Por lo que tr[(Σ−1 B 2 ] = tr[B 2 (Σ−1 B 2 )]. Sea ν un valor propio de B 2 Σ−1 B 2 . Sabemos que
1 1 1 1 1
esta matriz es definida positiva porque y T B 2 Σ−1 B 2 y = (B 2 y)T Σ−1 (B 2 y) > 0 si B 2 y ̸= 0,
1 1
o equivalentemente que y ̸= 0. Asi los valores propios νi de B 2 Σ−1 B 2 son positivos.


p
−1 1
−1 1
tr(Σ B) = tr(B Σ
2 B )=
2 νi
i=1
1 1 ∏p
y |B 2 Σ−1 B 2 | = i=1 νi . Por propiedades:

|B 2 Σ−1 B 2 | = |B 2 ||Σ−1 ||B 2 | = |Σ−1 ||B 2 ||B 2 |


1 1 1 1 1 1

1
= |Σ−1 ||B| = |B|
|Σ|
1 1 ∏p
1 |B 2 Σ−1 B 2 | νi
= = i=1
|Σ| |B| |B|
Combinando los resultados de la traza y determinantes

1 ∏ b −νi
∑p p
1 tr[Σ−1 B] ( pi=1 νi )b −
ν
i=1 i
e 2 = =e 2 = νi e 2
|Σ|b |B|b |B|b
i=1
ν b e− 2
ν
La función tiene un máximo, con respecto a n, de (2b) e−b ,
b que ocurre en n = 2b.
Reemplazando n = 2b, para cada i, por lo tanto da:

1 − tr(Σ−1 B 1
e 2 ≤ (2b)pb eP −pb
|Σ|B |B|b
El límite superior se alcanza únicamente cuando Σ = ( 2b
1
B), ya que, para esta elección,
1
2 MIGUEL ROSALES

B 2 Σ−1 B 2 = B 2 (2b)B −1 B 2 = (2b)Ip×p


1 1 1 1

tr[Σ−1 B] = tr[B 2 Σ−1 B 2 ] = tr[(2b)Ip×p ] = 2bp


1 1

Además
1 1
1 |B 2 Σ−1 B 2 | |(2bIp×p | (2b)p
= = =
Σ |B| |B |B|
−1
la sustitución directa de tr[Σ ] y |Σ|b produce el límite afirmado
1

2. Sea X1 , . . . , Xn una muestra aleatoria de X ∼ Np (µ, Σ). Demuestre que los estimadores
de máxima verosimilitud (EMV) de µ y Σ son:

1∑
n
µ̂ = X̄, Σ̂ = (Xi − X̄)(Xi − X̄)′ ,
n
i=1
respectivamente.
Supongamos que tenemos n vectores aleatorios, donde cada Xi ∈ Rp , X1 , X2 , . . . , Xn . Cada
vector Xi son i.i.d como vectores normales multivariados.

Xi ∼ Np (µ, Σ)
Tenemos que los parámetros µ y Σ son desconocidos, por lo cual se usara el método de
máxima verosimilitud.
Notar que, por independencia entre ∏estos vectores, la densidad conjunta de estos es el pro-
ducto de las densidades individuales, ni=1 fxi (xi ; µ, Σ)


m
l(µΣ|xi ) = Log( fxi (xi |µ, Σ)
i=1
∏n
1 1
= Log p/2 |Σ|1/2
exp{− (xi − µ)T Σ−1 (xi µ)}
(2π) 2
i=1

n
p 1 1
= (− log(2π) − log|Σ| − (xi − µ)T Σ−1 (xi − µ))
2 2 2
i=1

1∑
n
np m
= − log(2π) − log|Σ| − (xi − µ)T Σ−1 (xi − µ)
2 2 2
i=1
Obteniendo µ̂
Utilizamos la siguiente identidad de matrices
TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA 3

dwT Aw
= 2Aw
dw
Es si w no depende de A y A es simetrica. Por lo que con esta identidad las cosas quedarian
de la siguiente manera:
Teniendo en cuenta de igual manera que Σ esta defina positiva.

d ∑ n
l(µ, Σ|xi ) = Σ−1 (µ − xi ) = 0

i=1

n
0 = nµ − xi
i=1

1∑
n
µ̂ = xi = x̄
n
i=1

Ahora para obtener Σ̂

Este estimador requiere algunas otras propiedades.


-tr[ABC] = tr[CAB] = tr[BCA]
-xT Ax = tr[xT Ax] = tr[xT xA]
- dA
d
tr[AB] = B T
- dA log|A| = A−T
d

Con estas propiedades anteriormente mencionadas, nos permite realizar lo siguiente

d T d
x Ax = tr[xT xA] = [xxT ]T = xxT
dA dA
Reescribiendo calculando la derivada de Σ−1 , tomando C como una constante

1∑
n
n
l(µ, Σ|xi ) = C − log|Σ| − (xi − µ)T Σ−1 (xi − µ)
2 2
i=1

1∑
n
n
= C + log|Σ−1 | − tr[(xi − µ)(xi − µ)Σ−1 ]
2 2
i=1

1∑
n
d n
−1
l(µ, Σ|xi ) = Σ − (xi − µ)(xi − µ)T
dΣ 2 2
i=1

Igualando a 0
4 MIGUEL ROSALES


n
0 = nΣ − (xi − µ)(xi − µ)T
i=1

1 ∑
n
Σ̂ = (xi − µ̂)(xi − µ̂)T
n
i=1

Con esto se concluye los estimadores de los parámetros por el método de máxima verosimil-
itud.

3.Verifique el Teorema del Límite Central Multivariado(TLCM) mediante simulaciones en


R. Para esto, genere N = 200 muestras aleatorias de tamaños n = 100,500,1000 a partir de
X = (X1 , X2 )′ , donde X1 ∼ Gamma(α, β) (use la función rgamma) y X2 ∼ W eibull(λ, κ)
(use la función rweibull). Escoja valores para los parámetros de cada una de estas distribu-
ciones. Asumma que las muestras provienen de una población con vector de medias µ y matriz
de covarianzas Σ. Para cada muestra generada calcule el vector de medias muestrales. Para
cada tamaño muestral n, construya una matriz Mn de tamaño N × 2, donde cada fila es un
vector de medias muestrales.
Para cada tamaño muestral n:

a). Indique la distribución muestral de X̄ = (X̄1 , X̄2 )′ según el TLCM.

Si el tamaño de la muestra es lo suficientemente grande, la distribución de la media muestral


seguirá aproximadamente la distribución normal. Independientemente de la forma de dis-
tribución de la población. Se procedió con unas pequeñas simulaciones para comprobar que el
vector de medias distribuye normal con media µ y varianza n1 Σ, X̄ ∼ N2 (µ, n1 Σ)(. )
39.973529
Para el primer caso n = 100 el vector de medias muestrales, el parametro µ =
4.683301
( )
1.582405e − 02 1.610794e − 05
y el parametro Σ =
1.610794e − 05 6.939693e − 05
( )
40.046126
Para el segundo caso n = 500 el vector de medias muestrales, el parametro µ =
4.678825
( )
6.328273e − 04 −2.057096e − 06
y el parametro Σ =
−2.057096e − 06 2.353209e − 06
( )
40.028999
Para el tercer caso n = 1000 el vector de medias muestrales, el parametro µ =
4.678346
( )
1.408818e − 04 6.301814e − 07
y el parametro Σ =
6.301814e − 07 6.606707e − 07
TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA 5
( )
39.998865
Y para el ultimo caso agregado N = 20000 y n = 1000,el parametro µ =
4.677206
( )
1.597235e − 04 −5.015145e − 09
y el parametro Σ =
−5.015145e − 09 6.107306e − 07
b). Encuentre los EMV de los parámetros de µ y Σ. ( )
39.973529
Para el primer caso n = 100 el vector de medias muestrales, el parametro µ =
4.683301
( )
1.752250330 0.001165214
y el parametro Σ =
0.001165214 0.005527167
( )
40.046126
Para el segundo caso n = 500 el vector de medias muestrales, el parametro µ =
4.678825
( )
0.298128928 −0.001604185
y el parametro Σ =
−0.001604185 0.001404159
( )
40.028999
Para el tercer caso n = 1000 el vector de medias muestrales, el parametro µ =
4.678346
( )
0.1562552804 0.0003809422
y el parametro Σ =
0.0003809422 0.0006111725
( )
39.998865
Y para el ultimo caso agregado N = 20000 y n = 1000,el parametro µ =
4.677206
( )
1.608608e − 01 −6.778571e − 05
y el parametro Σ =
−6.778571e − 05 6.121678e − 04
c). Elabore un diagrama de dispersión de X̄ = (X̄1 , X̄2 )′ . Comente.

Se fija un N = 200, numero de replicas de las muestras y se empieza a varia el n, tamaño


muestral en 100, 500 y 1000. alpha = 10, theta = 15 / 60, lambda = 7, kapa = 5.

Para un n = 100
6 MIGUEL ROSALES

Para un n = 500

Para un n = 1000
TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA 7

Claramente para el primer ensayo con un n = 100 no se alcanza a ver la normalidad, pero al
aumentar el n empezamos a ver un comportamiento eliptico, los datos empiezan a agruparse
entorno a una elipse con lo que comprobamos la distribución normal.
Como para apreciar mas este comportamiento se procede a graficar con un numero de repeti-
ciones igual a N = 20000 y un tamaño de muestral de n = 1000
8 MIGUEL ROSALES

d). Evalue la normalidad bivariada de X̄ = (X̄1 , X̄2 )′ mediante QQ-plots de las distancias
de Mahalanobis. Comente.
TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA 9
10 MIGUEL ROSALES

Vemos que para los tamaños de muestra relativamente pequeños hay unas fugas bastante
pronunciadas ademas de los datos varios datos atípicos, y con el aumento de este tamaño mues-
tral la estabilización de las fugas con un mejor ajuste a la recta, lo que quiere decir es que las
distancias de mahalanobis son mas pequeñas.
e). ¿Qué sucede cuando n aumenta?.

Cómo se menciono anteriormente al aumentar el n, tamaño muestra, las distribuciones tien-


den a una distribución normal, independiente de la distribución de la población. Las distancias
se ajustan más, estas son más pequeñas y sé acomodan mejor a la recta.

4. Considere las medidas antropométicas contenidas en el archivo ”body.xls”. Utilizando las


siguientes variables: ”shoulder.girth”, ”hip.girth”, ”calf.girth”

a) Para las tres variables asignadas, ajuste el modelo X ∼ N3 (µ, Σ) por medio del método
de máxima verosimilitud.
TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA 11

b). Evalúe la normalidad trivariada mediante QQ-plots de las distancias de Mahalanobis.

c). Escoja dos de las tres variables y repita los numerales (a) y (b) para el caso bivariado.
Adicionalmente, elabore un gráfico donde se muestren las curvas de nivel de la distribución
ajustada sobrepuestas al diagrama de dispersión de las dos variables que escogió. También
exhiba la superficie de la FDP. Comente.
12 MIGUEL ROSALES

En el gráfico QQ-plot para él inciso b), observamos que a pesar de que hay 4 datos atípicos,
los demás datos se acomodan muy bien a la recta, con esto se podría decir que estos datos
tienen distribución normal.
Por otro lado, un teorema dice que para un vector que se distribuye normal todos sus subcon-
juntos se distribuyen normal, por lo que al observar él inciso c). diríamos que pese a la fuga que
TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA 13

hay en la parte superior del QQ-plot y de algunos datos dispersos en el gráfico de contornos,
estos datos de distribuyen normal.
Dado que estas inferencias por medio de los gráficos pueden llegar a ser algo subjetivas por
el investigador se sugiere apoyarse de prueba de hipótesis para corroborar estas sospechas.
14 MIGUEL ROSALES

Adjuntos

#----------------------------------------------------------------------------------
#Definiendo los parametros a utilizar
#----------------------------------------------------------------------------------
N = 200
n1 = 100
n2 = 500
n3 = 1000
alpha = 10
theta = 15 / 60
lambda = 7
kapa = 5
v=2
#----------------------------------------------------------------------------------
#Procedemos a simular las respectivas muestras
#----------------------------------------------------------------------------------
mean.obs.1 <- matrix(,nr=N,nc=v)#Matriz M_n
for(i in 1:N){
sam.gen.1 <- cbind(rgamma(n1,alpha,theta),rweibull(n1,lambda,kapa))
mean.obs.1[i,] <- apply(sam.gen.1, 2, mean)}
mean.muestral.1 <- apply(mean.obs.1,2,mean)#vector de media muestral
mean.muestral.1
cov(mean.obs.1)/100
plot(mean.obs.1,main = ’Grafico para un n igual a 100’,
ylab = ’Medias Weibull’,xlab=’Medias Gamma’)
###### Para n=500
mean.obs.2 <- matrix(,nr=N,nc=v)#Matriz M_n
for(i in 1:N){
sam.gen.2 <- cbind(rgamma(n2,alpha,theta),rweibull(n2,lambda,kapa))
mean.obs.2[i,] <- apply(sam.gen.2, 2, mean)}
mean.muestral.2 <- apply(mean.obs.2,2,mean)#vector de media muestral
mean.muestral.2
cov(mean.obs.2)/500
plot(mean.obs.2,main = ’Grafico para un n igual a 500’,
ylab = ’Medias Weibull’,xlab=’Medias Gamma’)
###### Para n=1000
mean.obs.3 <- matrix(,nr=N,nc=v)#Matriz M_n#Matriz M_n
for(i in 1:N){
sam.gen.3 <- cbind(rgamma(n3,alpha,theta),rweibull(n3,lambda,kapa))
mean.obs.3[i,] <- apply(sam.gen.3, 2, mean)}
mean.muestral.3 <- apply(mean.obs.3,2,mean)#vector de media muestral
mean.muestral.3
TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA 15

cov(mean.obs.3)/1000
plot(mean.obs.3,main = ’Grafico para un n igual a 1000’,
ylab = ’Medias Weibull’,xlab=’Medias Gamma’)
###### Para n=1000 y N = 20000
N =20000
mean.obs.4 <- matrix(,nr=N,nc=v)#Matriz M_n#Matriz M_n
for(i in 1:N){
sam.gen.4 <- cbind(rgamma(n3,alpha,theta),rweibull(n3,lambda,kapa))
mean.obs.4[i,] <- apply(sam.gen.4, 2, mean)}
mean.muestral.4 <- apply(mean.obs.4,2,mean)#vector de media muestral
mean.muestral.4
cov(mean.obs.4)/1000
plot(mean.obs.4,main = ’Grafico para un n igual a 1000 y un N igual a 20000’,
ylab = ’Medias Weibull’,xlab=’Medias Gamma’)
#----------------------------------------------------------------------------------
#Estimaciones de maxima verosimilitud
#----------------------------------------------------------------------------------
like <- function(sample){
mean.mvn <- apply(sample, 2, mean)
cov.mvn <- cov(sample)
return(list(mean.mvn,cov.mvn))}
#######Para n=100
like(mean.obs.1)
#######Para n=500
like(mean.obs.2)
#######Para n=1000
like(mean.obs.3)
#######Para n=1000 y N=20000
like(mean.obs.4)
#----------------------------------------------------------------------------------
#Graficos de dispersión
#----------------------------------------------------------------------------------
plot(mean.obs.1)
plot(mean.obs.2)
plot(mean.obs.3)
plot(mean.obs.4)
#----------------------------------------------------------------------------------
#QQ-plots
#----------------------------------------------------------------------------------
dist.est.1 <- mahalanobis(x=mean.obs.1, center=like(mean.obs.1)[[1]],
cov=like(mean.obs.1)[[2]])
#---------------------------------
#n=100
16 MIGUEL ROSALES

#---------------------------------
dist.est.1 <- sort(dist.est.1)
i <- 1:nrow(mean.obs.1)
alpha_i <- i/(nrow(mean.obs.1)+1)
dist.teo.1 <- qchisq(alpha_i,df=ncol(mean.obs.1))
dist.teo.1 <- sort(dist.teo.1)
par(pty=”s”)
plot(dist.teo.1,dist.est.1)
abline(0,1)
#---------------------------------
#n=500
#---------------------------------
dist.est.2 <- mahalanobis(x=mean.obs.2, center=like(mean.obs.2)[[1]],
cov=like(mean.obs.2)[[2]])
dist.est.2 <- sort(dist.est.2)
i <- 1:nrow(mean.obs.2)
alpha_i <- i/(nrow(mean.obs.2)+1)
dist.teo.2 <- qchisq(alpha_i,df=ncol(mean.obs.2))
dist.teo.2 <- sort(dist.teo.2)
par(pty=”s”)
plot(dist.teo.2,dist.est.2)
abline(0,1)
#---------------------------------
#Para n=1000
#---------------------------------
dist.est.3 <- mahalanobis(x=mean.obs.3, center=like(mean.obs.3)[[1]],
cov=like(mean.obs.3)[[2]])
dist.est.3 <- sort(dist.est.3)
i <- 1:nrow(mean.obs.3)
alpha_i <- i/(nrow(mean.obs.3)+1)
dist.teo.3 <- qchisq(alpha_i,df=ncol(mean.obs.3))
dist.teo.3 <- sort(dist.teo.3)
par(pty=”s”)
plot(dist.teo.3,dist.est.3)
abline(0,1)
#---------------------------------
#n=1000 y N=20000
#---------------------------------
dist.est.4 <- mahalanobis(x=mean.obs.4, center=like(mean.obs.4)[[1]],
cov=like(mean.obs.4)[[2]])
dist.est.4 <- sort(dist.est.4)
i <- 1:nrow(mean.obs.4)
alpha_i <- i/(nrow(mean.obs.4)+1)
TAREA SOBRE LA DISTRIBUCIÓN NORMAL MULTIVARIADA 17

dist.teo.4 <- qchisq(alpha_i,df=ncol(mean.obs.4))


dist.teo.4 <- sort(dist.teo.4)
par(pty=”s”)
plot(dist.teo.4,dist.est.4)
abline(0,1)
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#Punto 4
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
Data <- read_excel(”~/Downloads/body.xlsx”)
View(Data)
#Se procede a extraer las variables de interes
Data <- Data[c(1:247),c(’shoulder.girth’,’hip.girth’,’calf.girth’)]
head(Data)
#----------------------------------------------------------------------------------
#Estimacion por maxima verosimilitud
#----------------------------------------------------------------------------------
like(Data)
#----------------------------------------------------------------------------------
#QQ-plots distancias de mahalanobis
#----------------------------------------------------------------------------------
dist.est.5 <- sort(mahalanobis(x=Data, center=like(Data)[[1]], cov=like(Data)[[2]]))
i <- 1:nrow(Data)
alpha_i <- i/(nrow(Data)+1)
dist.teo.5 <- qchisq(alpha_i,df=ncol(Data))
dist.teo.5 <- sort(dist.teo.5)
par(pty=”s”)
plot(dist.teo.5,dist.est.5)
abline(0,1)
#----------------------------------------------------------------------------------
#Se procede a analizar el QQ-plot pero con dos variables al azar
#----------------------------------------------------------------------------------
Data <- Data[,-floor(runif(1,1,4))]
#----------------------------------------------------------------------------------
#Estimacion por maxima verosimilitud
#----------------------------------------------------------------------------------
like(Data)
#----------------------------------------------------------------------------------
#QQ-plots distancias de mahalanobis
#----------------------------------------------------------------------------------
dist.est.5 <- sort(mahalanobis(x=Data, center=like(Data)[[1]], cov=like(Data)[[2]]))
i <- 1:nrow(Data)
18 MIGUEL ROSALES

alpha_i <- i/(nrow(Data)+1)


dist.teo.5 <- qchisq(alpha_i,df=ncol(Data))
dist.teo.5 <- sort(dist.teo.5)
par(pty=”s”)
plot(dist.teo.5,dist.est.5)
abline(0,1)
#----------------------------------------------------------------------------------
#Grafica de superficie y Grafica de contornos
#----------------------------------------------------------------------------------
newdata <- Data
est.max.ver <- like(newdata)
mu <- est.max.ver[[1]]
sigma <- est.max.ver[[2]]
densidad <- function(x1,x2){
z <- dmvnorm(x=c(x1,x2),mean=mu,sigma=sigma,log=F)
z}
densidad <- Vectorize(densidad)
x <- seq(mu[1]-3*sqrt(sigma[1,1]),mu[1]+3*sqrt(sigma[1,1]),by=0.2)
y <- seq(mu[2]-3*sqrt(sigma[2,2]),mu[2]+3*sqrt(sigma[2,2]),by=0.2)
z <- outer(x,y,densidad)
par(mfrow=c(1,2),pty=”s”,mex=0.4)
par(mar=c(10,10,10,5))
plot(newdata)
contour(x,y,z,col=”purple”,lwd=1.3,drawlabels=F,add=T)
par(mar=c(4.8,6,4.8,4.8))
persp(x,y,z,theta = 30,
ticktype=”detailed”, col = ’purple’,
phi = 30, xlab = ”\n X1”, ylab = ”\n X2”, zlab = ”\n\n FDP”, lwd=0.3)
#----------------------------------------------------------------------------------

También podría gustarte