Está en la página 1de 10

Demo R #2: Inferencia no paramtrica para funciones

de distribucin
Roco Maribel vila Ayala
8 de abril, 2017

Repaso / formulario de conceptos

Funcin de distribucin emprica

Dada una muestra aleatoria (X1 , . . . , Xn ),

n n
1X 1X x
Fn (x) = I{Xi x} = ,
n i=1 n i=1 i

donde
ix = I{Xi x} .

Funcin de densidad emprica

fn (x) = I{x=Xi para algn i=1,...,n}

Teorema (Dbil de Glivenko-Cantelli)

iid
Sean X1 , . . . , Xn F . Entonces x, > 0,
  

lim sup P Fn (x) F (x) > = 0.

n xR

Teorema (Glivenko-Cantelli)

iid
Sean X1 , . . . , Xn F . Entonces x
   

lim sup Fn (x) F (x) = 0 = 1

P
n xR

Normalidad asinttica de la FDE

Para x R fijo,
Fn (x) F (x) d
np N (0, 1)
F (x) [1 F (x)]

1
Intervalos de confianza (asintticos) para la FDE

Para x R fijo, un intervalo de 100(1 )% de confianza puntual para F (x) es


v h i
u
u F (x) 1 F (x)
t n n
Fn (x) z/2
n

Bandas de confianza para la FDE

Para cualquier F y n, las siguientes funciones definen los lmites inferior y superior de una banda de
100(1 )% de confianza para F :
n o n o
L(x) = max Fn (x) , 0 U (x) = min Fn (x) + , 1 ,

tomando s  
1 2
= log
2n

Estimador plug-in

Sea = T (F ) un funcional estadstico. El estimador plug-in de es T (Fn )

Cuantiles

X F . Para p (0, 1) el cuantil p de la distribucin F se define como


Q(p) = inf {x : F (x) p} .

Si F es continua, F (Q(p)) = p y Q(p) = F 1 (p).

Funcin de cuantiles emprica


1
X(1) si 0 < p


n

1 2
X(2) si <p




n n

2 3

n (p) = X(3)
Q si n <p n

. ..


..

.


n1

X(n) si <p1


n

Intervalos de confianza para cuantiles

2 1 
iX 
n k
p (1 p)nk .

P X(i1 ) Q(p) X(i2 ) =
k
k=i1

Si se han encontrado i1 e i2 tal que



P X(i1 ) Q(p) X(i2 ) = ,

un intervalo de 100% para Q(p) es X(i1 ) , X(i2 ) .

2
Pruebas de bondad de ajuste

Sirven para contrastar


H0 : F = F0 vs. H1 : F 6= F0 .

Prueba de Kolmogorov-Smirnov

Estadstico de prueba

Dn = sup Fn (x) F (x)

xR

d
Se tiene que nDn K, donde K es la distribucin de Kolmogorov.

Regin de rechazo

Se rechaza H0 a un nivel de significancia si nDn > c, donde c es tal que P ( nDn > c) = .

Cuantiles importantes

Significancia () Cuantil (c)


0.1 1.23
0.05 1.36
0.01 1.63

Prueba de Cramr-Von Mises

Estadstico de prueba
Z h i2
Wn2 =n Fn (x) F (x) dF (x).

Regin de rechazo

x : Wn2 (x) > c




Cuantiles importantes
Para n 5

Significancia () Cuantil (c)


0.1 0.34
0.05 0.46
0.01 0.74

3
Prueba de Anderson-Darling
Z i2
h 1
Dn2 = n Fn (x) F (x) dF (x).
F (x) [1 F (x)]

Regin de rechazo

x : Dn2 (x) > c




Cuantiles importantes
Para n 5

Significancia () Cuantil (c)


0.1 1.93
0.05 2.49
0.01 3.85

Pruebas para comparar dos distribuciones

Datos observados(x1 , . . . , xm ), (y1 , . . . .yn ).

Prueba de rangos signados de Wilcoxon

Ho : = 0
zi = yi xi
m=n

Estadstico de prueba:

n
X
T+ = Ri i ,
i=1

donde Ri = ran(zi ), i = I{zi >0} .

Regin de rechazo

Prueba de cola derecha

H0 : = 0 vs. H1 : > 0
Rechazar H0 si T + t .

4
Prueba de cola izquierda

H0 : = 0 vs. H1 : < 0
n(n+1)
Rechazar H0 si T + 2 t .

Prueba de dos colas

H0 : = 0 vs. H1 : 6= 0
n(n+1)
Rechazar H0 si T + t/2 o T + 2 t/2 .

Estandarizacin del estadstico

n(n+1)
T+ d
T = q 4
N (0, 1)
n(n+1)(2n+1)
24

Prueba de Mann-Whitney-Wilcoxon

(X1 , . . . , Xm ) F , (Y1 , . . . , Yn ) G
G(t) = F (t )
H0 : = 0

Estadstico de prueba:

n
X
W = Si ,
i=1

donde Si = ran(Yi ) considerando la muestra de los n + m elementos ordenados

Regin de rechazo

Prueba de cola derecha

H0 : = 0 vs. H1 : > 0
Rechazar H0 si W w .

Prueba de cola izquierda

H0 : = 0 vs. H1 : < 0
Rechazar H0 si W n(m + n + 1) w .

5
Prueba de dos colas

H0 : = 0 vs. H1 : 6= 0
Rechazar H0 si W w/2 o W n(m + n + 1) w/2 .

Estandarizacin del estadstico

W n(m + n + 1)/2 d
W = p N (0, 1)
mn(m + n + 1)/12

Ejemplos de implementacin en R.

Funcin de distribucin emprica

Graficar la funcin de distribucin emprica asociada a la siguiente muestra aleatoria: (1.3, 4.25, 2.93, 6.27, 19.34, 8.61)
# Declarar el vector de la muestra
muestra <- c(1.3, 4.25, 2.93, 6.27, 19.34, 8.61)

# Calcular la funcin de distribucin emprica


fde <- ecdf(muestra)
# Graficar
plot(fde)

ecdf(muestra)
1.0
0.8
0.6
Fn(x)

0.4
0.2
0.0

0 5 10 15 20

x
Calcular el estimador plugin de la probabilidad de que la variable aleatoria asociada a la muestra observada
sea mayor que 5.

6
La probabilidad de que X > 5 es 1 F (5), por lo que el estimador plug-in de esta probabilidad es 1 F (5)
# Evaluar la funcin de distribucin emprica en el punto x = 5
1-fde(5)

## [1] 0.5
El estimador de esta probabilidad es 0.5.

Cuantiles empricos

Supongamos que el siguiente conjunto de datos corresponde al consumo de Coca-Cola diario (en litros) de
una muestra de 200 personas en una poblacin de inters.
consumo <- c(0.5, 1.5, 1.25, 0, 0.5, 1, 0.5, 2.25, 2, 1.25, 0, 1.75, 0.25, 0.75,
1.5, 2, 0, 0.75, 1.5, 2, 3, 0.5, 2, 0.25, 0.5, 0.25, 3.75, 1.5,
1, 1.25, 0.25, 0.25, 3, 0.25, 2.25, 0.75, 0.25, 0.75, 1.25, 0, 0.75,
0.75, 0.25, 3.25, 0.25, 0.5, 0.5, 1.25, 2.75, 2.25, 0, 2.5, 0.75, 1,
2.75, 1.75, 2.75, 0.25, 2.75, 1.5, 2.5, 2, 3.5, 2, 1, 2.75, 4, 0.5, 0,
0, 2.5, 0.5, 4, 2, 1.25, 0, 3, 1.5, 2.5, 0.5, 1.5, 1.5, 0.75, 2.5,
3.5, 1.5, 2, 1.25, 0.25, 2, 2.25, 1, 0.25, 0.25, 2, 0.75, 0.5, 0.75,
2.25, 2.25, 0.5, 1.25, 1, 0.5, 0.5, 0.75, 1, 1.5, 0.25, 3, 3.25, 1, 1,
1.5, 0, 2.5, 0.5, 1, 0.5, 3, 0.25, 3.5, 2, 1, 0.5, 2.5, 1.25, 2, 3.5,
1.5, 2.25, 0.75, 2.75, 3.75, 0, 1.25, 1.5, 2.25, 1.75, 2.5, 1.25, 1.25,
2, 0, 0.75, 3.5, 0.25, 0.25, 0, 0.5, 0.5, 3, 1.5, 1.25, 0.25, 2, 2.25,
0.25, 2, 3.75, 0.25, 0.5, 1, 2.5, 2.25, 2.5, 0, 0.25, 1, 0.5, 2.5,
0.75, 1.75, 2, 2.25, 1, 3.5, 1.75, 3.25, 1, 0, 0.75, 1.5, 2, 1.5,
0.25, 1.25, 1.75, 2, 1.25, 1.25, 1.75, 0.5, 2, 0, 2, 1.25, 0.25, 0.5,
0.5)

Programar la funcin de cuantiles emprica y estimar los cuartiles empricos de la distribucin.


A continuacin se muestra el cdigo donde se programa la funcin de cuantiles empricos:
Q_hat <- function(p, muestra = consumo){
# Obs: p debe ser 0 < p < 1.
# Calcular el tamao de muestra
n <- length(muestra)
# Ordenar la muestra
muestra_ord <- sort(muestra)
# Hacer una rejilla cada 1/n (que es donde salta la FDE)
intervalos <- seq(0, 1, by = 1/n)
# Encontrar el ndice i tal que (i-1)/n < p < i/n
i <- max(which((p>intervalos)))
# Regresar el i-simo estadstico de orden
return(muestra_ord[i])
}

Ahora se calculan los cuartiles


(cuartiles <- sapply(c(0.25, 0.5, 0.75), Q_hat))

## [1] 0.50 1.25 2.00


Conclusiones: El 25% de la poblacin consume al menos 1/2 l de Coca-Cola al da, el 75% consume al menos
dos litros y la mediana del consumo es 1.25 litros.

7
Cuantiles de la distribucin de Kolmogorov

Programar una funcin que calcule el valor crtico de la distribucin de Kolmogorov para contrastar H0 : F =
exp(tasa) vs. H1 : F 6= exp(tasa). La funcin debe tener como argumentos el tamao de muestra, nmero
de simulaciones, nivel de significancia y la tasa de la distribucin exponencial.
cuantil_ks <- function (tam.muestra, num.sim = 10000, alfa = 0.05, tasa){
#
# Simular num.sim el estadstico KS
# bajo Ho: F = exp(K) para un tam.muestra especificado
# y calcular el valor crtico de la distribucin de Kolmogorov para un alfa dado
#
# Salida: valor crtico con el cuantil (1-alpha) para K
#
# Observacin: es necesario instalar el paquete goftest
#
library(goftest)
K <- NULL
for (j in 1:(num.sim)) {
datos <- rexp(tam.muestra, rate = tasa)
K <- c(K, sqrt(tam.muestra)*ks.test(datos,"pexp",rate=tasa)$statistic)
}
umbral <- quantile(K, 1 - alfa)
return(umbral)
}

Comprobar variando la tasa de la distribucin exponencial para un tamao de muestra fijo, que la distribucin
de Kolmogorov (y en consecuencia, el cuantil asociado) es invariante a la distribucin de la cual provengan
los datos.
Calculamos el cuantil para un tamao de muestra 200 y distintas tasas de la exponencial
set.seed(93)
cuantil_ks(tam.muestra = 500, alfa = 0.05, tasa = 0.1)

## 95%
## 1.355681
cuantil_ks(tam.muestra = 500, alfa = 0.05, tasa = 5)

## Warning in ks.test(datos, "pexp", rate = tasa): ties should not be present


## for the Kolmogorov-Smirnov test
## 95%
## 1.359006
cuantil_ks(tam.muestra = 500, alfa = 0.05, tasa = 9)

## 95%
## 1.356769
Redondeando a dos dgitos, obtenemos el mismo cuantil en los tres casos.

Prueba de Mann-Whitney-Wilcoxon

Los siguientes datos corresponden a la flexibilidad del brazo derecho (en grados) de 15 personas sedentarias y
15 nadadores.

8
# Slo correr la primera vez para instalar el paquete
# install.packages("PairedData")

# Cargar la librera
library("PairedData")

## Loading required package: MASS


## Loading required package: gld
## Loading required package: mvtnorm
## Loading required package: lattice
## Loading required package: ggplot2
##
## Attaching package: 'PairedData'
## The following object is masked from 'package:base':
##
## summary
# Extraer la base de datos
data("Shoulder")

# Armar la base tomando slo la flexibilidad en el hombro derecho


(datos_nadadores <- Shoulder[,c(2,4)])

## Group Right
## 1 Swimmer 192
## 2 Swimmer 207
## 3 Swimmer 198
## 4 Swimmer 203
## 5 Swimmer 194
## 6 Swimmer 193
## 7 Swimmer 214
## 8 Swimmer 207
## 9 Swimmer 195
## 10 Swimmer 198
## 11 Swimmer 198
## 12 Swimmer 206
## 13 Swimmer 200
## 14 Swimmer 204
## 15 Swimmer 205
## 16 Control 197
## 17 Control 187
## 18 Control 180
## 19 Control 175
## 20 Control 192
## 21 Control 189
## 22 Control 185
## 23 Control 168
## 24 Control 204
## 25 Control 181
## 26 Control 182
## 27 Control 172
## 28 Control 183

9
## 29 Control 189
## 30 Control 198
# Obs: Encerrar entre parntesis la declaracin de una variable hace que salga como output

Se desea ver si los datos aportan evidencia de que los nadadores han desarrollado mayor flexibilidad en el
brazo que las personas sedentarias. Realiza una prueba de hiptesis fijando un nivel de significancia = 0.05
para evaluar lo anterior.
Se usar la prueba de Mann-Whitney-Wilcoxon, ya que se trata de dos muestras de datos no pareados que
queremos evaluar si provienen de la misma poblacin. Traduciendo al problema estadstico, se desea contrastar
el siguiente juego de hiptesis:
H0 : = 0 vs. H1 : > 0,
La alternativa es de cola derecha (upper).
wilcox.test(datos_nadadores[datos_nadadores$Group == 'Swimmer', ]$Right, datos_nadadores[datos_nadadores

## Warning in wilcox.test.default(datos_nadadores[datos_nadadores$Group == :
## cannot compute exact p-value with ties
##
## Wilcoxon rank sum test with continuity correction
##
## data: datos_nadadores[datos_nadadores$Group == "Swimmer", ]$Right and datos_nadadores[datos_nadadore
## W = 205.5, p-value = 6.084e-05
## alternative hypothesis: true location shift is greater than 0
La prueba de Mann-Whitney-Wilcoxon arroja un p-valor menor a la significancia, por lo que rechazamos la
hiptesis nula a favor de que hay un efecto que aumenta la flexibilidad cuando la persona nada.

10

También podría gustarte