Professional Documents
Culture Documents
de Ciencias
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
Índice
1. Conceptos. 3
2. Resumen. 3
3. Metodologı́as. 3
4. Conclusiones. 9
5. Referencias 9
Apéndices 10
A. Algoritmos. 10
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 ) ” )
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;
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 ” ) )
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
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) )
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
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
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
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
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
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 )
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)