You are on page 1of 11

Escuela Politécnica Nacional Fac.

de Ciencias

Escuela Politécnica Nacional

Control Estadı́stico
de la Calidad

Informe No.4

Intervalos de confianza
basados en remuestreos

Profesor:
Autor: Miguel Flores, MSc.
Germán Herrera L.

Quito - Ecuador
12 de noviembre de 2018

Ing. Matemática 1 Informe


Escuela Politécnica Nacional Fac. de Ciencias

Índice
1. Conceptos. 3

2. Resumen. 3

3. Metodologı́as. 3

4. Conclusiones. 9

5. Referencias 9

Apéndices 10

A. Algoritmos. 10

Ing. Matemática 2 Informe


Escuela Politécnica Nacional Fac. de Ciencias

1. Conceptos.
La Estadı́stica es una ciencia puramente experimental que aprende de la experiencia, especialmente de la
que aparece de manera secuencial. Se puede considerar que comienza alrededor del siglo XVII cuando Graunt
(UK) empezó a usar tablas de mortalidad. Actualmente se aplica en todas las ciencias que requieren tratamiento
de la información, desde ciencias biomédicas, psicologı́a,educación, economı́a, hasta el estudio de las partı́culas
en fı́sica cuántica o de galaxias extremadamente distantes. Pero la mayorı́a de las personas y los dispositivos
no son muy eficientes para encontrar patrones en un mar de datos con ruido , es decir, tenemos tendencia a
contemplar patrones inexistentes fuera que suceden para satisfacer nuestros propósitos. La teorı́a estadı́stica
intenta proporcionar métodos óptimos para la búsqueda de señales reales en ambientes ruidosos y también
proporciona controles estrictos contra la sobre-interpretación de patrones al azar.

2. Resumen.
Se realizo el estudio con una muestra de una base de datos, mismos que al no conocer su distribución se
verifico que no pertenecen a una normal, se asumió un tipo de distribución con el cual se logra calcular un
intervalo de confianza para la media pero al no ser una muestra grande se procede a aplicar TCL. Luego se
intenta aproximar a una normal basada en estimadores bootstrap para la media y la desviación estándar , con
lo cual se verifica que no se logra aproximar esta media a una normal.
Debido a los intervalos asintóticos que presentaba se construyen intervalos por aproximación bootstrap para
obtener intervalos simétricos alrededor del estimador del parámetro pero debido a la muestra pequeña presenta
un comportamiento erróneo con lo cual se procedió con intervalos tipo percentil el cual transforma de manera
adecuada los datos para mejorar los intervalos de confianza.
Debido a que los intervalos anteriores aun presentan ciertos ruidos en los errores se propone corregirlos
mediante intervalos de sesgo corregido y acelerado BCa el cual corrige el sesgo del estimador y corrige para el
caso en que el error estándar no sea constante.
Se procede a evaluar que para un n grande los intervalos bootstrap y los aproximados convergen.

3. Metodologı́as.
Hemos tomado datos del tiempo de impacto de una simulación de un accidente en motocicleta (medidos
en milisegundos) y verificamos que los datos no tienen una distribución normal.
1 #d a t o s de un a c c i d e n t e de m o t o c i c l e t a s i m u l a d o
2 dat<−r e a d . c s v ( ” motor . c s v ” )
3 y<−dat $ t i m e s [ 1 : 1 5 ]
4 p l o t ( e c d f ( y ) , main =” ” , x l a b=” tiempo d e s d e e l impacto ( ms ) ” )

Ing. Matemática 3 Informe


Escuela Politécnica Nacional Fac. de Ciencias

y observemos la gráfica qqplot;


1 qqnorm ( y , main = ” QQplot no normal ” , x l a b=” C u a n t i l e s t e r i c o s ”)
2 q q l i n e ( y , c o l =3)

Para nuestros datos hemos supuesto que el tiempo de impacto tiene una distribución de Poissson con lo
que el tiempo entre impactos sigue una distribución exponencial;

Ing. Matemática 4 Informe


Escuela Politécnica Nacional Fac. de Ciencias

1 n <−l e n g t h ( y )
2 lambda<−l e n g t h ( y ) /sum ( y )
3 p l o t ( e c d f ( y ) , main=” ” , x l a b=” t i e m p o s e n t r e i m p a c t o s ” )
4 with ( l i s t ( x=s e q ( 0 , 5 0 0 , 1 0 ) ) , l i n e s (1− exp(−lambda ∗x ) ˜x , l t y =” d o t t e d ” ) )

Asumida ésta distribución se calcula el intervalo de confianza.


1 n<−l e n g t h ( y )
2 media<−sum ( y ) / l e n g t h ( y )
3 a l f a =0.05
4 s a p p l y ( c (1− a l f a / 2 , a l f a / 2 ) , f u n c t i o n ( a l f a ) ( 2 ∗n∗ media ) / q c h i s q ( a l f a , 2 ∗n ) )

y obtenemos el siguiente intervalo:


1 [1] 4.282743 11.982772

La media muestral se distribuye asintoticamente como una normal aplicado el teorema del lı́mite central;
1 c o n f i n t ( lm ( t i m e s ˜ 1 , data=motor [ 1 : 1 5 , ] ) )

con lo que es una aproximación normal basada en estimadores (modelo lineal) dándonos lo siguiente:
1 2.5 % 97.5 %
2 ( Intercept ) 5.089762 8.323571

Aproximacion normal basada en estimadores bootstrap de µ y σ


1 mediasdboot=with ( motor [ 1 : 1 5 , ] , r e p l i c a t e ( 5 0 0 0 , { guy=sample ( t i m e s ,
2 r e p l a c e=TRUE) ; c ( media=mean ( guy ) , s d e v=sd ( guy ) ) } ) )
3 mean ( mediasdboot [ ” media ” , ] )+
4 c (1 , −1) ∗qnorm ( a l f a / 2 ) ∗ sd ( mediasdboot [ ” media ” , ] )

entonces el intervalo calculado:


1 [ 1 ] 5.252902 8.131893

Ing. Matemática 5 Informe


Escuela Politécnica Nacional Fac. de Ciencias

Vemos que tampoco funciona el ajuste de la distribucion de la media a la normal


1 #v e r i f i c a m o s q a j u s t e de l a media a l a N tampoco f u n c i o n a
2 qqnorm ( mediasdboot )
3 q q l i n e ( mediasdboot )

Ahora usamos intervalos Bootstrap la cual genera muchas muestras y luego calcula el estadıstico t para
cada uno de ellos
1 #b o o t s t r a p t
2 N<−n
3 t h e t a H a t=mean ( motor $ t i m e s [ 1 : 1 5 ] )
4 bT=( mediasdboot [ ” media ” ,] − t h e t a H a t ) /
5 ( mediasdboot [ ” s d e v ” , ] / s q r t (N) )
6 i n s t a l l . p a c k a g e s ( ” RColorBrewer ” )
7 i n s t a l l . packages ( ” l a t t i c e E x t r a ” )
8 library ( latticeExtra )
9 e c d f p l o t (bT , x l i m=c ( −3 ,3) , x l a b=” t ” ,
10 key=simpleKey ( c ( ” b o o t s t r a p −t ” , e x p r e s s i o n ( t [ 1 1 ] ) ) ,
11 p o i n t s=FALSE, l i n e s=FALSE, columns =2) )+
12 l a y e r ( p a n e l . c u r v e ( pt ( x , N−1) , c o l= ’ r e d ’ , l t y =2 , lwd =3) )

Ing. Matemática 6 Informe


Escuela Politécnica Nacional Fac. de Ciencias

Ahora comparamos los cuantiles de la distribucion original t de Student con los cuantiles bootstrap.
Para los cuantiles de la distribucion original tenemos:
1 a l f a =0.05
2 ( e x t r e m o s=q u a n t i l e (bT , c (1− a l f a / 2 , a l f a / 2 ) ) )

1 97.5 % 2.5 %
2 2 . 2 8 7 1 0 6 −2.122746

y el intervalo generado
1 ( t . s t a n d a r d=q t ( c (1− a l f a / 2 , a l f a / 2 ) ,N−1) )

1 2 . 1 4 4 7 8 7 −2.144787

Para los cuantiles bootstrap:


1 # I n t e r v a l o b o o t s t r a p −t
2 mean ( mediasdboot [ ” media ” , ] )−e x t r e m o s ∗ sd ( mediasdboot [ ” media ” , ] )

1 97.5 % 2.5 %
2 5.012633 8.251448

y el intervalo generado
1 # I n t e r v a l o t Student o r i g i n a l
2 mean ( mediasdboot [ ” media ” , ] )−t . s t a n d a r d ∗ sd ( mediasdboot [ ” media ” , ] )

1 [ 1 ] 5.117159 8.267636

Usando la libreria Bootstrap:


1 # Con l a l i b r e r i a b o o t s t r a p
2 l i b r a r y ( bootstrap )
3 l a m e d i a = f u n c t i o n ( x ) {mean ( x ) }
4 r e s u l t a = b o o t t ( y , lamedia , VS=TRUE, p e r c=c ( 0 . 0 2 5 , 0 . 9 7 5 ) )
5 resulta $ confpoints

Ing. Matemática 7 Informe


Escuela Politécnica Nacional Fac. de Ciencias

Obtenemos lo siguiente:
1 0.025 0.975
2 [ 1 , ] 5.554319 8.271302

Debido a las deventajas respecto a Bootstrap con muestras pequeñas usamos intervalos tipo percentil;
1 #i n t e r v a l o s t i p o p e r c e n t i l
2 data ( motor , package=” boot ” )
3 a l f a = 0.05
4 meansdboot=with ( motor [ 1 : 1 5 , ] , r e p l i c a t e ( 5 0 0 0 , c ( mean=mean ( sample ( y , r e p l a c e=TRUE) ) , sd=sd (
sample ( y , r e p l a c e=TRUE) ) ) ) )
5 q u a n t i l e ( meansdboot [ ”mean” , ] , c ( a l f a / 2 ,1 − a l f a / 2 ) )

obteniendo :
1 2.5 % 97.5 %
2 5.226667 8.107000

en donde vemos que los intervalos percentil y normal estándar coinciden.


Debido a que los intervalos anteriores pueden conducir a intervalos de confianza erráticos, se recurre a
una versión mejorada del intervalo percentil el cual es conocido como Bias Corrected Accelerated o por
sus siglas BCa.
Aplicando el algoritmo implementado en R obtenemos la estimacion del parametro y el intervalo.
1 $ ‘ est ‘
2 [ 1 ] −0.0713061
3
4 $BCa
5 3.929137 % 98.54037 %
6 −0.2220671 0 . 2 0 6 9 4 6 3

Ası́ como tambien haciendo uso de la libreria ”Bootstrap”.


1 a l p h a bca p o i n t
2 [ 1 , ] 0 . 0 2 5 −0.3883892
3 [ 2 , ] 0.975 0.3778471

Con uso de la libreria ”Boot”.


1 BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
2 Based on 1000 b o o t s t r a p r e p l i c a t e s
3
4 CALL :
5 boot . c i ( boot . out = eso , i n d e x = 1 )
6
7 Intervals :
8 Level Normal Basic
9 95 % (28.93 , 83.33 ) (24.45 , 79.66 )
10
11 Level Percentile BCa
12 95 % (32.78 , 88.00 ) (36.00 , 93.07 )
13 C a l c u l a t i o n s and I n t e r v a l s on O r i g i n a l S c a l e
14 Some BCa i n t e r v a l s may be u n s t a b l e

donde nuestra variale de interes la especificamos con index=1.


1 BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
2 Based on 1000 b o o t s t r a p r e p l i c a t e s
3
4 CALL :
5 boot . c i ( boot . out = eso , i n d e x = 2 )
6
7 Intervals :
8 Level Normal Basic
9 95 % ( 27.5 , 412.3 ) ( 25.9 , 387.2 )

Ing. Matemática 8 Informe


Escuela Politécnica Nacional Fac. de Ciencias

10
11 Level Percentile BCa
12 95 % ( 13.7 , 375.0 ) ( 34.5 , 505.6 )
13 C a l c u l a t i o n s and I n t e r v a l s on O r i g i n a l S c a l e
14 Some BCa i n t e r v a l s may be u n s t a b l e

donde index=2 indica la posición de la varianza de nuestra variable de interés.


Usando regresión como un modelo lineal.
1 Call :
2 lm ( f o r m u l a = y ˜ x , data = d )
3
4 Coefficients :
5 ( Intercept ) x
6 0.78183 −0.01959

Y haciendo uso de la libreria ”Boot”;


1 BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
2 Based on 1000 b o o t s t r a p r e p l i c a t e s
3
4 CALL :
5 boot . c i ( boot . out = lmboot , i n d e x = 2 )
6
7 Intervals :
8 Level Normal Basic
9 95 % ( −0.0398 , 0.0001 ) ( −0.0403 , 0.0006 )
10
11 Level Percentile BCa
12 95 % ( −0.0397 , 0.0011 ) ( −0.0404 , 0.0005 )
13 C a l c u l a t i o n s and I n t e r v a l s on O r i g i n a l S c a l e

4. Conclusiones.
El remuestreo Bootstrap es un método de calculos intensivos para estimar el error muestral de un estadı́sti-
co. Como ventaja que posee es que puede emplearse para cualquier estimador por complejo que este sea. De
nuestra base hemos observado cómo de la única muestra dada (tiempo de impacto en milisegundos) se extraen
B muestras Bootstrap independientes formadas de la muestra principal (se recomienda generar 1000 muestras
Bootstrap).

Luego hemos computado nuestro estadı́stico de interés en cada una de las B muestras generadas.

Se estimo el error muestral mediante la desviación estándar de la funcion de distribución de los B muestras.

Hemos calculado intervalos de confianza Bootstrap y tipo percentil el cual nos mostró que existen errores
en su calculo debido a factores importantes entre ellos el tamaño de la muestra, para ello se uso una mejora de
estos dos intervalos en la cual corrige el sesgo del estimador y corrige en el caso en que el error estándar no sea
constante.

5. Referencias
http://halweb.uc3m.es/esp/Personal/personas/jmmarin/esp/Boots/tema1BooPres.pdf

http://halweb.uc3m.es/esp/Personal/personas/jmmarin/esp/Boots/tema6BooPres.pdf

Ing. Matemática 9 Informe


Escuela Politécnica Nacional Fac. de Ciencias

Apéndices
A. Algoritmos.
1 #i n t e r v a l o s BCa
2 boot . BCa =
3 f u n c t i o n ( x , th0 , th , s t a t , c o n f = 0. 95 ) {
4 #b o o t s t r a p c o n i n t e r v a l o s d e c o n f i a n z a B C a
5 #t h 0 e s e l e s t a d i s t i c o o b s e r v a d o
6 #t h e s e l v e c t o r d e r e p l i c a s b o o t s t r a p
7 #s t a t e s l a f u n c i o n q u e c a l c u l a e l e s t a d i s t i c o
8 x=a s . m a t r i x ( x )
9 n =nrow ( x )#o b s e r v a c i o n e s e n f i l a s
10 N=1:n
11 a l f a =(1+c(− c o n f , c o n f ) ) / 2
12 z a l f a=qnorm ( a l f a )
13 #F a c t o r d e c o r r e c c i o n d e l s e s g o
14 z0=qnorm ( sum ( th<th0 ) / l e n g t h ( th ) )
15 #f a c t o r d e a c e l e r a c i o n ( e s t . j a c k k n i f e )
16 th . j a c k=numeric ( n )
17 for ( i in 1: n){
18 J=N [ 1 : ( n−1) ]
19 th . j a c k [ i ]= s t a t ( x[− i , ] , J )
20 }
21 L= mean ( th . j a c k )−th . j a c k
22 a= sum (Lˆ 3 ) / ( 6 ∗sum (Lˆ 2 ) ˆ 1 . 5 )
23 #l i m i t e s c o n f i a n z a B C a
24 a d j . a l f a=pnorm ( z0 +( z0+z a l f a ) /(1−a ∗ ( z0+z a l f a ) ) )
25 l i m i t s=q u a n t i l e ( th , a d j . a l f a , t y p e =6)
26 r e t u r n ( l i s t ( ” e s t ”=th0 , ”BCa”=l i m i t s ) )
27 }
28
29 data ( patch , package=” b o o t s t r a p ” )
30 n=nrow ( patch )
31 B=2000
32 x=c b i n d ( patch $y , patch $ z )
33 t h e t a . b=numeric (B)
34 t h e t a . hat=mean ( patch $y ) /mean ( patch $ z )
35
36 f o r ( b i n 1 :B) {
37 i=sample ( 1 : n , s i z e=n , r e p l a c e=TRUE)
38 y=patch $y [ i ]
39 z=patch $ z [ i ]
40 t h e t a . b [ b]=mean ( y ) /mean ( z )
41 }
42 e s t a d i s=f u n c t i o n ( dat , i n d e x ) {
43 mean ( dat [ index , 1 ] ) /mean ( dat [ index , 2 ] ) }
44
45 boot . BCa( x , th0=t h e t a . hat , th=t h e t a . b , s t a t=e s t a d i s )

1 #con l i b r e r i a b o o t s t r a p
2 l i b r a r y ( bootstrap )
3 xdata=m a t r i x ( rnorm ( 3 0 ) , n c o l =2)
4 n=15
5 t h e t a=f u n c t i o n ( ind , xdata ) {
6 c o r ( xdata [ ind , 1 ] , xdata [ ind , 2 ] ) }
7 bcanon ( 1 : n , 1 0 0 , t h e t a , xdata , a l p h a=c ( 0 . 0 2 5 , 0 . 9 7 5 ) ) $ c o n f p o i n t s

1 #con l i b r e a r i a boot
2 x=c ( 1 0 , 2 7 , 3 0 , 4 0 , 4 6 , 5 1 , 5 2 , 1 0 4 , 1 4 6 )
3 l i b r a r y ( boot )
4 mean . boot=f u n c t i o n ( x , i n d ) {
5 r e t u r n ( c ( mean ( x [ i n d ] ) , v a r ( x [ i n d ] ) / l e n g t h ( i n d ) ) )
6 }
7 e s o=boot ( x , mean . boot , 1 0 0 0 )

Ing. Matemática 10 Informe


Escuela Politécnica Nacional Fac. de Ciencias

1 #con r e g r e s i o n
2 d=data . frame ( x = 1 : 2 0 , y=r u n i f ( 2 0 ) )
3 m1=lm ( y˜x , data=d )
4 l m c o e f=f u n c t i o n ( data , i ) {
5 d=data [ i , ]
6 d . r e g=lm ( y˜x , d )
7 c ( coef (d . reg ) ) }
8 m1

1 #l i b r e r i a boot y ###########################################
2 lmboot=boot ( d , l m c o e f ,R=1000)
3 boot . c i ( lmboot , i n d e x =2)

Ing. Matemática 11 Informe

You might also like