class: center, middle, inverse, title-slide .title[ # Introducción al Lenguaje R ] .subtitle[ ## 5. Bootstrap ] .author[ ### Santiago Benitez-Vieyra ] --- class: center, middle background-color: #fbbbbf ### Bootstrap <img src="img/boot.png" width="60%" alt=""/> --- ### ¿Cómo crear los mundos posibles? * Muestreo aleatorio original. * Muestreo aleatorio con reposición de igual n.  --- class: center, middle ### La muestra-bootstrap es a la muestra, como la muestra es a la población. Utilizamos nuestra muestra como una nueva población de la que se extraen muestras-bootstrap. --- ### Entonces... Si calculamos un estadÃstico `\(t’\)` en cada muestra-bootstrap, su distribución alrededor del `\(t\)` en la muestra original es análoga a la distribución de `\(t\)` alrededor del parámetro poblacional `\(\theta\)`.  --- ### ¿Para qué se usan estas nuevas muestras?  --- background-color: #fbbbbf ### Estos "mundos posibles" no son al azar > Razonamiento inverso al de los modelos randomizados: La esperanza del estadÃstico obtenido en cada muestra-bootstrap es el valor del estadÃstico en la muestra original, *nunca* es un valor extremo. --- ### Ejemplo sencillo. ``` r X <- rgamma(10, 8) X ``` ``` ## [1] 10.701789 11.167175 8.324148 10.828911 10.956138 5.551918 5.240977 ## [8] 6.472159 12.033691 5.235956 ``` ``` r mean(X) ``` ``` ## [1] 8.651286 ``` ``` r sample(X, replace = T) # ejemplo ``` ``` ## [1] 12.033691 10.828911 8.324148 10.956138 5.240977 5.235956 10.828911 ## [8] 11.167175 5.551918 5.235956 ``` ``` r mean(sample(X, replace = TRUE)) # repetir miles de veces ... ``` ``` ## [1] 8.265887 ``` --- ``` r Bs <- replicate(100, mean(sample(X, replace = TRUE))) Bs ``` ``` ## [1] 8.524808 8.932938 9.439544 8.474279 7.177667 9.380283 8.037724 ## [8] 8.567859 8.650595 7.869823 9.157218 8.611173 8.584685 6.604049 ## [15] 9.029714 9.245235 8.502231 10.483192 8.901584 8.518086 9.145721 ## [22] 7.087942 9.855617 7.482750 8.531402 7.950993 9.664363 7.253457 ## [29] 10.103505 8.222491 9.312176 7.981223 9.334419 9.752606 7.768731 ## [36] 10.560323 9.095855 8.364386 8.981426 10.328261 8.530808 8.202197 ## [43] 8.157214 8.447349 8.254098 9.920769 8.901271 8.135328 7.544991 ## [50] 8.978926 9.286843 8.375375 9.360680 9.639458 8.852082 8.851848 ## [57] 9.303622 7.100654 7.727728 8.994084 8.466589 8.871003 10.028253 ## [64] 7.467870 9.439597 7.931800 8.806082 10.396228 8.181228 7.671252 ## [71] 7.410489 9.037603 8.600562 8.656417 8.220261 9.774624 8.111594 ## [78] 8.527806 8.628994 9.054770 9.385288 8.654710 7.993119 8.911333 ## [85] 10.921697 8.683919 7.435924 9.221203 5.969854 9.258486 8.104012 ## [92] 7.287981 9.077953 7.878975 9.483351 8.165005 8.075369 8.475030 ## [99] 7.397275 8.685929 ``` ``` r mean(X) ``` ``` ## [1] 8.651286 ``` ``` r mean(Bs) ``` ``` ## [1] 8.643851 ``` ``` r mean(X) - mean(Bs) # sesgo ``` ``` ## [1] 0.00743535 ``` --- <!-- --> --- ### ¿Qué hacemos después de obtener la distribución del estadÃstico? * La mayor parte de los métodos se enfocan en calcular intervalos de confianza válidos para los parámetros poblacionales a partir del bootstrap. * Podemos probar si un parámetro es distinto de cierto valor (por ejemplo de 0) probando si su intervalo incluye a ese valor. --- ### Intervalos de confianza * **Normales:** Asumen distribución normal del parámetro. * **Percentiles:** usan los percentiles observados de la distribución de los bootstraps. No asumen normalidad. * **Bias-corrected** accelerated percentile intervals. No asumen normalidad y tienen en cuenta el sesgo. ---