Práctica 8 (2016)

Pràctica Español
Universidad Universidad Autónoma de Barcelona (UAB)
Grado Estadística Aplicada - 3º curso
Asignatura Simulació, Remostreig i Aplicacions
Año del apunte 2016
Páginas 11
Fecha de subida 27/04/2016
Descargas 5
Subido por

Vista previa del texto

Pra´ctica 8: Bootstrap no param´etrico (I) Anna Olmo, 1363013 April 25, 2016 1 Ejercicio 1: Intervalos de confianza Bootstrap Para comparar diferentes m´etodos de ense˜ nanza, 20 ni˜ nos fueron asignados de manera aleatoria a dos grupos de trabajo. Se obtuvieron las siguientes notas en la prueba evaluadora: 1.1 Usando Bootstrap, estima la media de las puntuaciones para ambas pruebas y representa la distribuci´ on de las medias Boostrap con un histograma. ¿Son sim´etricas? Calcula un intervalo de confianza al 95% bas´andote en el m´etodo de los cuantiles, el m´etodo simple y el m´etodo Bootstrap-t para cada media (progr´amalo t´ u mismo). Comenta los resultados.
> > + + > > require(boot) mean.boot<-function(x,i){ mean(x[i]) } B.Conv<-boot(Conv,mean.boot,1000) B.New<-boot(New,mean.boot,1000) > > + + > + + > > > > ## Intervalos m´ etodo Bootstrap-t int.Conv<-c(mean(B.Conv$t), mean(B.Conv$t)-1.96*sd(B.Conv$t), mean(B.Conv$t)+1.96*sd(B.Conv$t)) int.New<-c(mean(B.New$t), mean(B.New$t)-1.96*sd(B.New$t), mean(B.New$t)+1.96*sd(B.New$t)) int<-rbind(int.Conv,int.New) colnames(int)<-c("B-t.media","sup","inf") rownames(int)<-c("Convencional","Nuevo") int Convencional Nuevo > > + + > + + > > > > B-t.media sup inf 80.6135 73.07635 88.15065 86.4635 81.77789 91.14911 ## Intervalos m´ etodo Simple/Cuantiles int2.Conv<-c(mean(B.Conv$t), 2*mean(B.Conv$t)-quantile(B.Conv$t,0.975), 2*mean(B.Conv$t)-quantile(B.Conv$t,0.025)) int2.New<-c(mean(B.New$t), 2*mean(B.New$t)-quantile(B.New$t,0.975), 2*mean(B.New$t)-quantile(B.New$t,0.025)) int2<-rbind(int2.Conv,int2.New) colnames(int2)<-c("S.media","sup","inf") rownames(int2)<-c("Convencional","Nuevo") int2 S.media sup inf Convencional 80.6135 73.322 88.0295 Nuevo 86.4635 81.827 91.0270 1 0.25 Bootstrap 0.15 0.10 0.00 0.05 Density 0.20 Convencional Nuevo 65 70 75 80 85 90 95 100 Medias Bootstrap Ambas muestras son m´ as o menos sim´etricas.
Los estimadores de la media tienen intervalos que no se cruzan entre s´ı, por lo tanto, aunque son parecidos y pr´ oximos, no se puede considerar que las dos muestras tengan la misma media.
1.2 Usando Bootstrap, calcula un intervalo de confianza al 95% para la diferencia de medias y comp´aralo con el obtenido usando la prueba cl´ asica de T de Student. Para calcular dicho intervalo de confianza usa el m´etodo basado en los cuantiles, el m´etodo simple y el m´etodo boostrap-t (progr´amalo t´ u mismo). Comenta los resultados.
> > > + + > + + ## Con Bootstrap B.dif<-B.New$t-B.Conv$t int.dif1<-c(mean(B.dif), mean(B.dif)-1.96*sd(B.dif), mean(B.dif)+1.96*sd(B.dif)) int.dif2<-c(mean(B.dif), 2*mean(B.dif)-quantile(B.dif,0.975), 2*mean(B.dif)-quantile(B.dif,0.025)) 2 > > > > int.dif<-rbind(int.dif1,int.dif2) colnames(int.dif)<-c("dif.media","sup","inf") rownames(int.dif)<-c("Bootstrap-t","Simple") int.dif Bootstrap-t Simple dif.media sup inf 5.85 -2.904443 14.60444 5.85 -2.902500 14.30000 > ## Con t de Student > t.test(B.New$t,B.Conv$t,alternative="two.sided") Welch Two Sample t-test data: B.New$t and B.Conv$t t = 40.8554, df = 1670.827, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 5.569153 6.130847 sample estimates: mean of x mean of y 86.4635 80.6135 El test con Bootstrap dice que las medias no son iguales (dif.medias no es 0), pero que se puede considerar que lo son con un 95% de confianza (el 0 est´a en el intervalo).
El test de la T de Student dice que las medias no son iguales y que se puede afirmar al 95% de confianza que no lo son (el 0 est´ a fuera del intervalo y el pvalor rechaza).
Por tanto, se podria decir que el test de la T de Student es m´as estricto que el de Bootstrap.
1.3 Usa la librer´ıa boot para obtener los intervalos de confianza al 95% que has obtenido en 1. y 2., y compara los resultados.
> ## Resultados anteriores > int;int2 Convencional Nuevo B-t.media sup inf 80.6135 73.07635 88.15065 86.4635 81.77789 91.14911 S.media sup inf Convencional 80.6135 73.322 88.0295 Nuevo 86.4635 81.827 91.0270 > ## Con la librer´ ıa boot > options(warn=-1) > boot.ci(B.Conv) BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS Based on 1000 bootstrap replicates 3 CALL : boot.ci(boot.out = B.Conv) Intervals : Level Normal 95% (72.85, 87.92 ) Basic (72.91, 87.90 ) Level Percentile BCa 95% (73.10, 88.09 ) (72.50, 87.50 ) Calculations and Intervals on Original Scale > boot.ci(B.New) BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS Based on 1000 bootstrap replicates CALL : boot.ci(boot.out = B.New) Intervals : Level Normal 95% (81.65, 91.02 ) Basic (81.70, 90.90 ) Level Percentile BCa 95% (81.9, 91.1 ) (81.7, 90.8 ) Calculations and Intervals on Original Scale > options(warn=0) En general los intervalos de la librer´ıa son un poco m´as peque˜ nos, pero aproximadamente iguales.
4 2 Ejercicio 2: Bootstrapeando muestras peque˜ nas En este ejercicio vamos a estudiar c´ omo afecta el tama˜ no de la muestra a la hora de hacer bootstrap.
2.1 Genera una muestra de tama˜ no n = 10 de una Normal con media 8.4 y desviaci´ on est´ andar 14.7 Obt´en una estimaci´ on Bootstrap para x ¯ a partir de 1000 muestras con remplazamiento de la anterior.
> B.X10<-boot(X10,mean.boot,1000) Dibuja la distribucion Bootstrap de x ¯ a partir de un histograma, calcula su error est´andar Boostrap y un intervalo de confianza al 95% basado en el m´etodo de los cuantiles.
> B.X10.se<-sd(B.X10$t) > int.X10<-c(mean(B.X10$t), + mean(B.X10$t)-1.96*B.X10.se, + mean(B.X10$t)+1.96*B.X10.se) 0.15 0.10 0.05 0.00 Density 0.20 0.25 0.30 Normal n=10,40,160 −10 0 10 20 Normal Distr.
5 30 Realiza el mismo experimento para n = 40 y n = 160.
> > > > + + X40<-rnorm(40,mean=8.4,sd=14.7) B.X40<-boot(X40,mean.boot,1000) B.X40.se<-sd(B.X40$t) int.X40<-c(mean(B.X40$t), mean(B.X40$t)-1.96*B.X40.se, mean(B.X40$t)+1.96*B.X40.se) 0.15 0.00 0.05 0.10 Density 0.20 0.25 0.30 Normal n=10,40,160 −10 0 10 20 Normal Distr.
> > > > + + X160<-rnorm(160,mean=8.4,sd=14.7) B.X160<-boot(X160,mean.boot,1000) B.X160.se<-sd(B.X160$t) int.X160<-c(mean(B.X160$t), mean(B.X160$t)-1.96*B.X160.se, mean(B.X160$t)+1.96*B.X160.se) 6 30 0.15 0.00 0.05 0.10 Density 0.20 0.25 0.30 Normal n=10,40,160 −10 0 10 20 30 Normal Distr.
Interpreta los resultados cuidadosamente. ¿Cu´ales son los efectos de incrementar el tama˜ no de la muestra? media sup inf n=10 12.136443 3.134920 21.13797 n=40 7.373692 2.808814 11.93857 n=160 8.562538 6.126978 10.99810 Con la muestra de tama˜ no 10, la estimacion ni si quiera se acerca al valor real, y el intervalo es muy grande. Entre las otras dos, la estimaci´ on es pr´acticamente la misma.
En cuanto a los intervalos, el de 160 es m´ as peque˜ no y, por tanto, se ajusta m´as a la realidad y es mejor.
7 2.2 La base de datos verizon.csv contiene informaci´ on sobre los tiempos de reparaci´ o a clientes de Verizon, una compa˜ n´ıa telef´ onica local. Es bastante evidente que estos tiempos no proceden de una poblaci´ on Normal, y sabemos adem´ as que la media poblacional es µ = 8.5 y la desviaci´ on t´ıpica es σ = 14.7. Repite los puntos del apartado anterior para estos datos.
Calculos de las distribuciones Boostrap para n = 10, 40, 160, N donde N es el tama˜ no de la muestra de todos los datos (N = 1687): B.V10<-boot(V[1:10],mean.boot,1000) B.V40<-boot(V[1:40],mean.boot,1000) B.V160<-boot(V[1:160],mean.boot,1000) B.VTODO<-boot(V,mean.boot,1000) Histograma de las distribuciones de las diferentes muestras Boostrap: 0.8 Verizon 0.4 0.6 n=10 n=40 n=160 n=N 0.0 0.2 Density > > > > 0 5 10 15 Distr. Bootstrap Errores est´ andar: 8 20 25 > > > > B.V10.se<-sd(B.V10$t) B.V40.se<-sd(B.V40$t) B.V160.se<-sd(B.V160$t) B.VTODO.se<-sd(B.VTODO$t) Intervalos de confianza: > + + > + + > + + > + + int.V10<-c(mean(B.V10$t), mean(B.V10$t)-1.96*B.V10.se, mean(B.V10$t)+1.96*B.V10.se) int.V40<-c(mean(B.V40$t), mean(B.V40$t)-1.96*B.V40.se, mean(B.V40$t)+1.96*B.V40.se) int.V160<-c(mean(B.V160$t), mean(B.V160$t)-1.96*B.V160.se, mean(B.V160$t)+1.96*B.V160.se) int.VTODO<-c(mean(B.VTODO$t), mean(B.VTODO$t)-1.96*B.VTODO.se, mean(B.VTODO$t)+1.96*B.VTODO.se) media sup inf n=10 7.979222 1.820316 14.138128 n=40 11.178949 5.580262 16.777637 n=160 14.666833 11.054679 18.278986 n=1687 8.504715 7.813876 9.195554 Al incrementar el tama˜ no de la muestra el estimador de la media se aproxima m´as al valor real, y el intervalo se hace m´ as peque˜ no, por lo tanto es mejor.
2.3 La poblaci´ on en a. y b. tiene la misma media y desviaci´ on tipica, sin embargo una es Normal y la otra es extremadamente no Normal.
Bas´ andote en los resultados de los apartados anteriores, ¿c´omo crees que afecta la no Normalidad a la distribuci´ on Boostrap de x ¯? media sup inf n=10 12.136443 3.134920 21.13797 n=40 7.373692 2.808814 11.93857 n=160 8.562538 6.126978 10.99810 media sup inf n=10 7.979222 1.820316 14.138128 n=40 11.178949 5.580262 16.777637 n=160 14.666833 11.054679 18.278986 n=1687 8.504715 7.813876 9.195554 No creo que la normalidad afecte a la distribuci´on de Bootstrap ya que en ambos casos la media aproxima relativamente bien, y los intervalos son mejores cuanto mayor es la muestra (pero van mejorando del mismo modo en los dos casos).
9 ¿C´ omo afecta la no Normalidad al error est´andar Boostrap? n=10 n=40 n=160 n=1687 X 4.592614 2.329019 1.242632 0.0000000 Verizon 3.142299 2.856473 1.842935 0.3524689 Menos en el caso de muestra peque˜ na, los errores de la no normalidad son mayores que los de la normalidad.
¿Disminuyen estos efectos cuando aumentamos la muestra? La diferencia de errores entre la normalidad y la no normalidad se mantiene m´as o menos estable independientemente del tama˜ no de la muestra.
10 ...

Tags: