class: center, middle, inverse, title-slide #
Laboratorio 1 ## Problemas de Probabilidad ###
Juvenal Campos ### CIDE-LNPP ### 2020-02-26 --- <style> </style> # Presentación: Mi nombre es Juvenal Campos, y trabajo para el Laboratorio Nacional de Políticas Públicas del CIDE. Programo en **R** desde hace más de tres años, y me enfoco en trabajos de creación de bases de datos, visualizaciones, visualización web y productos basados en datos. ### Datos de contacto: • LinkedIn: https://www.linkedin.com/in/jorge-juvenal-campos-ferreira-5532b7160/ • GitHub: https://github.com/JuveCampos • Twitter: https://twitter.com/JuvenalCamposF • Blog Personal: https://juvenalcampos.com • Medium: https://medium.com/@jorgejuvenalcamposf --- background-image: url(https://cdn1.iconfinder.com/data/icons/social-media-vol-1-1/24/_github-512.png) background-size: 100px background-position: 98% 5% # Github Github es una plataforma para programadores. Sirve como: - Almacén de código y archivos (repositorio de proyectos). - Control de versiones. - Plataforma de colaboración. - Red social para programadores. - Parte de tu portafolio de trabajo <br> -- <br> El curso tiene un repositorio en linea, **en el cual voy a estar subiendo el contenido que vayamos creando a lo largo del laboratorio**, el cual pueden consultar en el momento que deseén (oyentes bienvenidos). -- <br><br> Enlace: https://github.com/JuveCampos/MetodosCuantitativosAplicados2020 --- # 2. Preguntas Todas las sesiones las iniciaremos con las siguientes preguntas: -- * **¿Qué han hecho durante las semanas pasadas, referente a la materia?** -- * **¿Que piensan hacer respecto a la materia durante esta semana?** -- * **¿En qué les podemos ayudar para que logren sus objetivos con el menor sufrimiento posible?** --- --- # 3. Problemas <br> <p style = 'font-size:30px;'>A continuación vamos a repasar algunos problemas para tener claros los conceptos básicos de la probabilidad a través de simulaciones con R.</p> --- ## Problema 1. <p style = 'font-size:25px;'>Calcula la probabilidad de que, dado que una mujer tiene tres hijos, al menos dos de estos sean del sexo femenino.</p> -- **Pregunta 1.** ¿Cuál es la variable aleatoria en este problema? -- _La variable aleatoria es X, donde esta representa el número de hijas que va a tener una madre._ -- **Pregunta 2.** ¿Qué valores puede tomar dicha variable? -- _La variable puede tomar valores que van desde 0 hasta 3 hijas, dado el número de intentos._ -- **Pregunta 3.** Matemáticamente, ¿cómo distribuye esa variable? -- La variable distribuye de la siguiente manera: `$$X \sim Binom(n = 3, p = 0.5)$$` --- ### Generamos los datos ```r library(tidyverse) num_obs <- 1e6 # Experimento aleatorio (1e6 simulaciones) experimento <- rbinom(n = 1e6, size = 3, prob = 0.5) ``` --- ### Generamos la gráfica ```r # Grafica tibble(valores = experimento) %>% count(valores) %>% mutate(prop = n/sum(n)) %>% ggplot(aes(x = valores, y = prop)) + geom_col() + geom_text(aes(y = prop + 0.01, label = prop)) ``` --- <img src="Presentacion1_files/figure-html/unnamed-chunk-3-1.png" height="550" /> --- ### Obtenemos la probabilidad: ```r # Probabilidad acumulada que deseamos! tibble(valores = experimento) %>% summarise(num_cumplen_condicion = sum(valores %in% c(1,2)), prop_cumplen_condicion = num_cumplen_condicion/num_obs) ``` ``` ## # A tibble: 1 x 2 ## num_cumplen_condicion prop_cumplen_condicion ## <int> <dbl> ## 1 750384 0.750 ``` --- ## Problema 2. Compré tres cachitos de la lotería del avión presidencial. En total, se emitieron 6 millones de cachitos, y habrán 100 cachitos premiados. **¿Cuál es la probabilidad de ganar al menos con uno de los cachitos?** ```r num_obs <- 1e6 # Calculamos la probabilidad probabilidad <- 100/6e6 # Experimento aleatorio (1e6 simulaciones) experimento <- rbinom(n = 1e6, size = 3, prob = probabilidad) table(experimento) ``` ``` ## experimento ## 0 1 ## 999946 54 ``` --- ### Obtenemos la gráfica: ```r # Grafica tibble(valores = experimento) %>% count(valores) %>% mutate(prop = n/sum(n)) %>% ggplot(aes(x = valores, y = prop)) + geom_col() + geom_text(aes(y = prop + 0.01, label = prop)) ``` --- ### Obtenemos la gráfica: <img src="Presentacion1_files/figure-html/unnamed-chunk-7-1.png" height="550" /> --- ### Obtención de proporciones. ```r # Probabilidad acumulada que deseamos! tibble(valores = experimento) %>% summarise(num_cumplen_condicion = sum(valores %in% c(1:3)), prop_cumplen_condicion = num_cumplen_condicion/num_obs) ``` ``` ## # A tibble: 1 x 2 ## num_cumplen_condicion prop_cumplen_condicion ## <int> <dbl> ## 1 54 0.000054 ``` --- ## Problema 3 En una encuesta realizada en el estado de Michigan por CNN el mes pasado para la elección general a presidente de los Estados Unidos, los resultados arrojaron que un 57% apoya a Bernie Sanders, y que un 43% apoya a Donald Trump. Si selecciono una muestra aleatoria de 20 personas de todo el estado de Michigan.... **¿Cuál es la probabilidad de que todas las personas apoyen a Bernie Sanders?** ```r # Experimento aleatorio (1e6 simulaciones) experimento <- rbinom(n = 1e6, size = 20, prob = 0.57) ``` --- ### Elaboración de las gráficas ```r # Grafica tibble(valores = experimento) %>% count(valores) %>% mutate(prop = n/sum(n)) %>% ggplot(aes(x = valores, y = prop)) + geom_col() + geom_text(aes(y = prop + 0.01, label = prop)) ``` --- ### Elaboración de las gráficas <img src="Presentacion1_files/figure-html/unnamed-chunk-11-1.png" height="550" /> --- ### Probabilidad acumulada que deseamos obtener ```r tibble(valores = experimento) %>% summarise(num_cumplen_condicion = sum(valores %in% c(20)), prop_cumplen_condicion = num_cumplen_condicion/num_obs) ``` ``` ## # A tibble: 1 x 2 ## num_cumplen_condicion prop_cumplen_condicion ## <int> <dbl> ## 1 12 0.000012 ``` --- ## Problema 4 Un pais tiene una población adulta cuya estatura promedio es de 1.70 m, con una desviación estándar de 15 cm (0.15 m). ¿Cuál es la probabilidad de seleccionar una persona que mida 1.95 m o más? ```r # Experimento aleatorio (1e6 simulaciones) media <- 1.7 desv.est <- 0.15 Z <- 1.95 experimento <- rnorm(n = 1e6, mean = media, sd = desv.est) ``` --- ### Grafica de contínuas ```r # Grafica de continuas tibble(valores = experimento) %>% ggplot() + geom_density(aes(x = valores)) + geom_vline(xintercept = media, color="salmon", linetype = "dashed") + geom_vline(xintercept = Z, color="navyblue") ``` --- <img src="Presentacion1_files/figure-html/unnamed-chunk-15-1.png" height="550" /> --- ### Probabilidad que deseamos ```r # Probabilidad acumulada que deseamos! tibble(valores = experimento) %>% summarise(num_cumplen_condicion = sum(valores >= 1.95), prop_cumplen_condicion = num_cumplen_condicion/num_obs) ``` ``` ## # A tibble: 1 x 2 ## num_cumplen_condicion prop_cumplen_condicion ## <int> <dbl> ## 1 47633 0.0476 ``` --- ## Problema 5. En un pequeño pueblo del Estado de Morelos, fallece una persona cada 2 semanas, por cualquier causa. Suponiendo que la muerte de una persona no influye en la muerte de otra, ¿cual es la probabilidad de que mueran 1, 2 o 3 personas en una semana dada? ```r # Experimento aleatorio (1e6 simulaciones) experimento <- rpois(n = 1e6, lambda = 0.5) table(experimento) ``` ``` ## experimento ## 0 1 2 3 4 5 6 7 8 ## 606640 303394 75289 12865 1639 157 14 1 1 ``` --- ### Elaboración de gráficas ```r # Grafica tibble(valores = experimento) %>% count(valores) %>% mutate(prop = n/sum(n)) %>% ggplot(aes(x = valores, y = prop)) + geom_col() + geom_text(aes(y = prop + 0.01, label = prop)) ``` --- <img src="Presentacion1_files/figure-html/unnamed-chunk-19-1.png" height="550" /> --- ### Obtención de probabilidades ```r # Probabilidad acumulada que deseamos! tibble(valores = experimento) %>% count(valores) %>% mutate(prop = n/sum(n), cumsum = cumsum(prop)) ``` ``` ## # A tibble: 9 x 4 ## valores n prop cumsum ## <int> <int> <dbl> <dbl> ## 1 0 606640 0.607 0.607 ## 2 1 303394 0.303 0.910 ## 3 2 75289 0.0753 0.985 ## 4 3 12865 0.0129 0.998 ## 5 4 1639 0.00164 1.000 ## 6 5 157 0.000157 1.000 ## 7 6 14 0.000014 1.000 ## 8 7 1 0.000001 1.000 ## 9 8 1 0.000001 1 ``` --- ## Problema 6. Es viernes, son las 10 de la noche y trabajas en un Oxxo. Sabes que la tasa promedio de asistencia durante esta hora es de 100 clientes por hora. A pesar de saber esto, ninguno de tus compañeros acudió para ayudarte a abrir la segunda caja. Si el Oxxo se sale de control si llegan más de 120 clientes... cual es la probabilidad de que pases un mal momento este viernes? (i.e., que lleguen mas de 120 clientes). --- ### Simulacion ```r # Experimento aleatorio (1e6 simulaciones) # Experimento 1 experimento <- rpois(n = 1e6, lambda = 100) # Experimento 2 experimento2 <- rnorm(n = 1e6, mean = 100, sd = 10) %>% as_tibble() ``` --- ### Gráfica ```r # Grafica tibble(valores = experimento) %>% count(valores) %>% mutate(prop = n/sum(n)) %>% ggplot() + geom_col(aes(x = valores, y = prop)) + geom_text(aes(x = valores, y = prop + 0.01, label = prop)) + geom_density(data = experimento2, aes(x = value), color = 'red', size = 2) ``` --- <img src="Presentacion1_files/figure-html/unnamed-chunk-23-1.png" height="550" /> --- ### Resultados ```r # Probabilidad acumulada que deseamos! tibble(valores = experimento) %>% summarise(num_cumplen_condicion = sum(valores >= 120), prop_cumplen_condicion = num_cumplen_condicion/num_obs) ``` ``` ## # A tibble: 1 x 2 ## num_cumplen_condicion prop_cumplen_condicion ## <int> <dbl> ## 1 28205 0.0282 ```