Simulación de probabilidades

Aunque R no puede físicamente lanzar dados por usted, si es posible simular un proceso equivalente realizando extracciones aleatorias, de igual probabilidad, provenientes del conjunto de números \(\left\{1, 2, 3, 4, 5, 6\right\}\) por medio del uso de la función sample()

1 Escriba una función simple para simular el lanzamiento de k dados con seis caras cada uno que reporte la suma de las caras que quedan mirando hacía arriba; dicha función deberá permitir al usuario elegir cuántos dados desea lanzar.

# Elija como semilla su número de documento, si son dos lance una moneda y decida cual
set.seed(1007403814)

# Complete la función que simula el lanzamiento de k dados
lanzar.dados <- function(k){
  dados.lanzados <- sample(c(1,2,3,4,5,6), 
                      size = k, 
                      replace = TRUE)
  resultado <- sum(dados.lanzados)
  return(resultado)}

Interpretación: La función creada anteriormente puede ser vista desde dos perspectivas: en primer lugar, podría determinar el lanzamiento de un dado k veces o, como dice el enunciado, el lanzamiento de k dados una vez.

En este caso, de acuerdo a lo solicitado, es posible destacar el uso de esta función por medio de la segunda interpretación que se le otorga. Por lo tanto, determinamos que la función sample() permite la obtención de números aleatorios enteros que representan el número de caras posibles que pueden tomar los dados al ser lanzados \(\left\{1, 2, 3, 4, 5, 6\right\}\), la descripción size=k alude al número de dados, mientras que replace=TRUE permite que dentro del vector hayan remplazamientos. Por último, la función sum proporciona la suma de los componenetes, lo que permite observar la adición de las caras que salen al lanzar k dados.

Entonces, esta función base permitirá que el usuario pueda escoger a libertad el número de dados que desee lanzar sin impedimento alguno y genera, como resultado, la sumatoria de las caras obtenidas.

2 Complete y ejecute la función simple creada para el lanzamiento de 5 dados

# Ejecute la función para el lanzamiento de 5 dados
lanzar.dados(5)
## [1] 15

Interpretación: Al trabajar con la función creada en el punto uno es posible observar que, en este ejercicio, esta se evalua en 5, es decir, k=5. Esto significa que se han lanzado 5 dados y que la sumatoria de las caras que se han obtenido es igual a 15. En este caso, siempre que se lancen dos dados la sumatoria de sus caras dará 15. Esto se debe a que, en principio, se estableció una semilla que permite la replicabilidad de los datos. No obstante, en la vida real, si se lanzan dos dados una vez y da quince no necesariamente en el segundo lanzamiento se obtendrá el mismo resultado.

Es importante destacar que con esta función no es posible obtener el resultado sobre que cara saco cada dado, solamente la sumatoria de las mismas.

Realización de un bucle simple

3 Escriba un bucle para repetir el anterior proceso varias veces, que guarde los resultados en un vector y haga uso de la función anteriormente creada

# Inicialice un vector donde guardar la salida de 10000 lanzamientos
resultados <- rep(NA, 10000)

Interpretación: La función rep() esta compuesta por dos componentes: \[ \text{rep(valor a repetir, número de repeticiones)} \] En este caso, para fines del ejercicio, el valor a repetir esta evidenciado a través de NA que representa un valor “no disponible”, mientras que 10000 representa el número de veces que se repetirá este valor. Lo anterior permite crear un bucle sencillo que de la posibilidad de repetir un vector cualquiera 10000 veces. Este guardará los resultados en la base, es decir, que irá registrando los datos obtenidos con cada lanzamiento.

Cálculo de probabilidades al lanzar un par de dados

4

a. Complete y ejecute la función que lanza 10000 veces un par de dados y guarda los resultados

# Complete el bucle para que realiza 10000 iteraciones
for(i in 1:10000){
  # Rellene el vector con el resultado del lanzamiento de un par de dados
  resultados[i] <- lanzar.dados(2)}

Interpretación: En este caso, la anterior permite, a través de la función lanzar.dados inicialemente establecida, registrar el lanzamiento de dos dados 10000 veces. Esto gracias a la condición planteada por medio de la estructura for que permite ejecutar un bucle realizando una operación para cada elemento de un conjunto de datos de la siguiente manera:

\[ \text{for(elemento in objeto) {operacion_con_elemento}} \] Así mismo, cabe destacar que a pesar de ejetucar el lanzamiento de dos dados 10000 veces no existe una proyección de los resultados debido a que la programación de esta estuctura (for) no devuelve de manera automática los datos a menos que estos sean pedidos de manera explicita; sin embargo, estos si quedan registrados en la base.

b. Guarde sus resultados en un objeto tipo data.frame

resultados <- as.data.frame(resultados)
resultados

Interpretación: La función as.data.frame permite representar el vector por medio de un data frame que, en síntesis, es una estructura de datos de dos dimensiones que puede contener datos de diferentes tipos. En este ejercicio, nos permite ver los resultados de las sumas de las caras de dos dados lanzados 10000 veces obteniendo en el primer lanzamiento un 6, en el segundo un 5, en el tercero un 3 y así sucesivamente hasta llegar al lanzamiento número 10000 donde la suma de las caras es igual a 9.

Los lanzamientos deberían variar con cada ejecución del código, pero gracias a la semilla existe una replicabilidad de estos datos. Por lo tanto, en el primer lanzamiento siempre obtendremos el mismo valor, al igual que en el segundo, tercero, cuarto, etc. Cosa que no pasa en la vida real.

c. Elabore una tabla de frecuencias haciendo uso de la librería dplyr con los resultados

# Realice una tabla de frecuencias
library(dplyr)
tabla.frecuencias.dados <- resultados %>%
     count(resultados) %>%
     mutate(resultados = as.factor(resultados), p = prop.table(n))
x <- as.data.frame(tabla.frecuencias.dados)
x

Interpretación: Por medio de esta gráfica de frecuencias podemos determinar cuantas veces la suma de las caras de los dos dados da 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 o 12 con base en los lanzamientos simulados en el ejercicio anterior.

En ese sentido, es posible evidenciar que la suma de las caras que más se repite es siete debido a que las combinaciones compatibles con “sumar 7” son \(\left\{(1,6),(2,5),(3,4),(4,3),(5,2),(6,1)\right\}\). Lo que significa que la probabilidad de que este evento suceda es de \(\left\{(6 / 36)\right\}\) ya que hay 36 posibles combinaciones de números del 1 al 6 en dos dados.

Por lo tanto, la probabilidad debe ser equivalente a 0.166666 periódico, que es superior a la probabilidad de que la sumatoria sea 2, 3, 4 u otro número entre los establecidos. No obstante, este resultado es un resultado teórico, por ello, en la práctica, como podemos observar, la probabilidad no es 0.16666 pero tiende a serlo: 0,1595.

De lo anterior se puede concluir que: en primer lugar, la suma de las caras probablemente sea siete debido a que existen mayores combinaciones que permitan obtener esta cifra y, en segundo lugar, que conforme se aumente el número de lanzamientos es más probable que la probabilidad tienda a ser la encontrada por la teoría, en este caso, que la probabilidad de sumar siete tienda a 0,1666.

d. Elabore un gráfico por medio de la librería ggplot2 e interprete. Para lo anterior deberá instalar de antemano dichas librerias antes de usarlas.

# Realice un gráfico haciendo uso de la libraria ggplot2

ggplot(tabla.frecuencias.dados, aes(x=resultados, y=p, label=p)) + 
  geom_point(stat='identity', fill="black", size=8)  +
  geom_segment(aes(x = resultados, 
                   xend = resultados, 
                   y = 0, 
                   yend = p), 
               color = "black") +
  geom_text(color="white", size=2) +
  labs(title="Distribución de probabilidades", 
       subtitle="tabla de frecuencias ")

Interpretación: A partir de esta gráfica es posible interpretar un planteamiento similar al anterior pero con evidencias visuales. En este caso, es posible observar que los resultados de las sumatorias de las caras tienden, efectivamente, a ser siete. Sin embargo, también es posible identificar otros elementos de la función como la tendencia de los datos y la disperción de los mismos para determinar su simetría.

Recordemos en principio la existencia de unas medidas de tendencia central, donde las más utilizadas son la media aritmética, la mediana y la moda que miden, respectivamente, el promedio de los datos, el valor intermedio y la variable más frecuente.

En este ejercicio coinciden los valores de la media, la mediana y la moda. Lo anterior permite inferir que existe una símetria entre los datos y que, por ende, aparece una distribución normal a la cual, en términos estadísticos, se le conoce como la Campana de Gauss, ya que tiene forma de campana.

Fijación de una semilla

5 ¿Cuál es el propósito de fijar una semilla, por ejemplo, por medio del uso de la función set.seed? en la primera línea de código? señale y argumente su respuesta.

  1. Sin esta, el código no funciona.

b. Por replicabilidad de los resultados.

  1. Los computadores por defecto general números pseudo aleatorios, pero fijando una semilla se logra que realmente sean aleatorios.

  2. Los computadores en realidad generan números aleatorios que son impredecibles, pero fijando una semilla se consigue que sean pseudoaleatorios y entonces predecibles.

Argumentación: Es imposible para una computadora generar números aleatorios y, por lo tanto, generar cualquier evento con esta característica, lo que permite descartar la opción d. En ese sentido, es plausible determinar que esta tecnología, gracias a la semilla, sí genera números pseudoaleatorios; no obstante, como su nombre lo indica, estos no son realmente aleatorios, pero lo parecen, lo que permite entender que la computadora nunca generará números verdaderamente aleatorios, sino una aproximación cercana a los mismos. Esto lleva a descartar de manera inmediata la opción c. Por último, el código si funciona sin necesidad de establecer una semilla, lo que enmarca como incorrecta la opción a.

En conclusión, la respuesta más apropiada es la resaltada en negrita, es decir, la opción b ya que la finalidad de la semilla es reproducir datos idénticos que es lo mismo que permitir la replicabilidad de estos.

Obtención de probabilidades

6 Supongase que los cumpleaños de las personas pueden ocurrir con igual probabilidad en cualquiera de los 365 días del año. (Ignorar años bisiestos y el hecho de que las tasas de natalidad no son uniformes durante el año). Calcule la probabilidad de que en un grupo de 100 personas y un grupo de 50 personas, que trabajan en una misma compañía, no haya personas que cumplan años el mismo día.

A continuación se presentan las situaciones para ambos casos, un grupo de 100 personas y un grupo de 50, para al final hacer una interpretación de los resultados

100 personas

a. Fije como semilla su número de documento y complete el código, note que su contador inicia en cero.

set.seed(1007403814)
personas <- 100
contador <- 0

b Complete la función haciendo que el contador aumente cuando encuentre el caso de que haya más de una persona que cumpla el mismo día en este grupo de cien trabajadores.

# Simule 10000 escenarios y revise los resultados en cada caso
for(i in 1:10000){
  natalicios <- sample(365, personas, replace = TRUE)
  if(length(unique(natalicios)) < personas){
    contador <- contador + 1}}
  1. Calcule e imprima la probabilidad estimada de por lo menos un par de personas de dicha compañia que cumplan el mismo día del año.
# Calcule e imprima la probabilidad estimada
probabilidad <- contador/10000
print(probabilidad)
## [1] 1

50 personas

a. Fije como semilla su número de documento y complete el código, note que su contador inicia en cero (50 personas).

set.seed(1007403814)
personas <- 50
contador <- 0

b Complete la función haciendo que el contador aumente cuando encuentre el caso de que haya más de una persona que cumpla el mismo día en este grupo de 50 trabajadores.

# Simule 10000 escenarios y revise los resultados en cada caso
for(i in 1:10000){
  natalicios <- sample(365, personas, replace = TRUE)
  if(length(unique(natalicios)) < personas){
    contador <- contador + 1}}

c. Calcule e imprima la probabilidad estimada de por lo menos un par de personas de dicha compañia que cumplan el mismo día del año (50 personas).

# Calcule e imprima la probabilidad estimada
probabilidad <- contador/10000
print(probabilidad)
## [1] 0.9712

Interpretación y respuesta del ejercicio: Por medio de los incisos a, b y c fue posible crear una función que permitiera hallar, en el primer caso, la probabilidad de que al menos dos personas de 100 cumplan años el mismo día; y, en el segundo caso, que sean 2 pero de un grupo de 50 personas. Esta función también permite inferir lo establecido en el enunciado: la probabilidad de que ninguna persona cumpla el mismo día para ambos casos.

En primer lugar, se ven algunas consideraciones intuitivas donde se piensa que n (número de personas) influye directamente con la probabilidad obtenida, cuando n > 365 es evidente que la probabilidad será de 1. No obstante, esta misma intuición lleva a pensar que si n=100, es decir, n < 365, la probailidad debería ser menor que 1. Por ello, este ejercicio se considera una “paradoja” debido a que va en contra de lo que intuitivamente se llega a creer.

En primer lugar, se va a presentar la demostración matemática que indica que la probabilidad de que, en un grupo de 100 personas, al menos dos cumplan en un mismo día es equivalente a 1 (veáse el resultado del inciso c).

Haciendo la interpretación matemática, la probabilidad de que una persona no coincida con otra en su cumpleaños es igual a los casos favorables, entre los casos posibles:\(\left\{(364 / 365)\right\}\). Si se incluye una persona más, la probablidad de que coincidan será entonces de \(\left\{(363 / 365)\right\}\) y así sucesivamente.

En este mismo caso, recordando la regla del producto, se dice que la probabilidad para dos o más sucesos independientes es igual al producto de sus probabilidades individuales,lo que indica que, si queremos hallar la probabilidad de que no coincida el cumpleaños de dos personas debemos usar la siguiente expresión:

\[ {p(n´)=(365!)/((365^n)*(365-n)!)} \] Obtenida del razonamiento realizado con anterioridad donde la probabilidad es obtenida de este proceso:

\[ {p(n´)= (365/365)*(364/365)*(364/365)* ...* ((365-n+1)/365)} \] Gracias a este razonamiento, sabemos que si p(n´) representa la probabilidad de que ninguna persona cumpla el mismo día que otra, entonces 1-p(n´) representará la probabilidad de que al menos dos personas cumplan el mismo día p(x).

Bajo estas condiciones es posible determinar que con 100 personas la probabilidad de que dos cumplan el mismo día tiende a ser 1. Debido a que nada más para n=23 la probabilidad es equivalente a 0,507, para n=40 la probabilidad ya es de 0,9409 y para n=50, como pudimos ver en el segundo ejercicio, la probabilidad ya alcanza el 0,9712. Por lo tanto, cuando hablamos de n=100 obtenemos una probabilidad de aproximadamente 1.

De acuerdo a lo anterior y recordando que p(x)=1-p(n´), es plausible determinar que si p(x) es igual a 1, despejando la ecuación, entonces p(n´) es igual a 0. Lo que quiere decir que la probabilidad de que ninguna persona cumpla el mismo día que otra es nula.

Mientras que, en el grupo de 50 personas, bajo el mismo concepto, la probabilidad de que ninguna persona cumpla el mismo día que otra es equivalente a 0.0288.

Juego de televisión de Monty Hall

Es un juego muy famoso en donde un concursante debe elegir una puerta entre tres (todas cerradas); el premio consiste en llevarse lo que se encuentra detrás de la puerta que es elegida. Se sabe con certeza que tras una de ellas se oculta un automóvil y tras las otras dos hay cabras. Una vez que el concursante haya elegido una puerta y comunicado su elección a los presentes, el presentador, que sabe lo que hay detrás de cada puerta, abrirá una de las otras dos en la que haya una cabra; y a continuación, le da la opción al concursante de cambiar, si lo desea, de puerta (tiene dos opciones). ¿Debe el concursante mantener su elección original o escoger la otra puerta? ¿Hay alguna diferencia?

7 Escriba un código que simule el famoso juego de televisión de Monty Hall. En este ejercicio, deberá elegir de entre tres puertas, por ahora, la número uno y hallar la probabilidad de ganar después de 10000 juegos simulados.

a. Fije una semilla y defina un vector que represente cada una de las puertas a elegir

# Fije como semilla su número de celular
set.seed(322483513)
puertas <- c(1,2,3)

b. Seleccione aleatoriamente una puerta que ha de ser la que contenga el premio del juego, es decir, el automóvil y elija la puerta se su elección entre las número uno, dos y tres puerta.elegida. Recuerde su elección

# Aleatoriamente elija una puerta para que contenga el premio
puerta.del.premio <- sample(x = puertas, size = 1)
puerta.elegida <- 1

c. Complete el código para establecer si la puerta elegida fue o no la del premio ganador.

# Revise si la puerta elegida por el concursante y la del premio son o no iguales
if(puerta.elegida == puerta.del.premio){
  print("¡La puerta elegida fue la correcta!")}

print(puerta.elegida)
## [1] 1

Interpretación: Siguiendo lo establecido en el enunciado, la función que encotramos en el inciso a plantea una semilla que permite la replicabilidad de datos y, a través de la función sample(), genera la posibilidad de obtener ciertos números aleatorios enteros que representan el número de puertas. Por ello, ante tres puertas lo escrito dentro la función corresponde a \(\left\{1,2,3\right\}\).

Por su parte, el inciso b presenta una función específica que programa el juego para que este seleccione aleatoreamente la puerta ganadora, es decir, la puerta que contiene el automóvil. Así mismo, se plantea de manera inmediata la elección que el jugador realiza. Lo anterior en lo referente a puerta.elegida. De acuerdo al enunciado, se ha seleccionado la puerta número uno.

Por último, el inciso c atañe a una función que permite determinar si la puerta elegida es igual a la puerta ganadora que seleccionó el juego e imprime la puerta elegida para saber cual fue la elección del jugador. En este caso, la puerta uno fue la elección, pero infortunadamente esta no coincidio con la puerta del premio. Si esto hubiera pasado la aplicación hubiera generado el texto que dice:“¡La puerta elegida fue la correcta!”, como se muestra a continuación:

[1] “¡La puerta elegida fue la correcta!”

[1] número de la puerta ganadora

Esta función le permite al presentador saber que puerta revelar ya que, como indica el juego, este debe abrir una de las otras dos en la que haya una cabra.

En conlusión, más allá del funcionameinto de cada función, se puede interpretar que la primera elección referente a la puerta número uno no es la puerta ganadora y que, por lo tanto, el jugador, inconsiente de esto, tiene dos opciones mantenerse en ella o cambiar de puerta.

8 Mediante la simulación del juego estime la probabilidad de ganar, partiendo del hecho de que ya se ha tomado una decisión (recuerde la puerta.elegida).

a. Inicialice con un contador de su preferencia.

set.seed(322483513)
puertas <- c(1,2,3)

b. Defina un contador con el fin de guardar los resultados

# Define un contador
juegos.ganados <- 0

c. Complete el siguiente código que simula 10000 realizaciones del juego de este famoso show de televisión y estime la probabilidad de ganar; recuerde la puerta que ya eligida.

# Ejecute 10000 interaciones del juego

for(i in 1:10000){
  puerta.del.premio <- sample(x = puertas, size = 1)
  puerta.elegida <- 1
  if(puerta.elegida == puerta.del.premio){
    juegos.ganados <- juegos.ganados + 1}}

# Imprima la probabilidad estimada
print(juegos.ganados/ 10000)
## [1] 0.3326

Interpretación: Recordando la dinámica del juego y la conclusión de la interpretación del ejercicio anterior, el jugador, después de elegir una puerta, tiene dos opciones, permanecer con la puerta elegida o cambiarla. Gracias a la simulación realizada previamente es posible determinar que el jugador seleccionó la puerta número uno que resultó ser incorrecta. Por lo tanto, el jugador optará por cambiar la puerta. En sintesis, el jugador puede realizar este tipo de decisiones:

Árbol de decisión de Monty Hall

Árbol de decisión de Monty Hall

Como el jugador ya tomó su primera decisión y siendo consiente de que probablemente escogió una puerta con una cabra detrás, su opción podría ser cambiar de puerta para ganar. Bajo esta lógica, la probabilidad de que el jugador gane cambiando de puerta es de \(\left\{(2 / 3)\right\}\) como se puede observar en la gráfica anterior. Decimalmente, esta probilidad es quivalente a 0.666666 periódico. Por lo anterior, después de tomar una decisión, la probabilidad tiende a este número. No obstante, en ese caso el jugador no ha realizado ningun cambio, lo que implica que se quedará con la puerta inicalmente elegida y, en ese caso, sus probabilidades de ganar serán equivalentes a las de la situación inicial donde hay una puerta entre tres que le permitira ganar, es decir, donde la probabilidad sea \(\left\{(1 / 3)\right\}\) cosa que se evidencia en el inciso c, donde la probabilidad tiende a este número: 0,3326

9 Si inicialmente la puera elegida es incorrecta, entonces el presentador deberá elegir una de las otras dos puertas y revelar que hay detrás de ella. Si la que usted eligió puerta.elegida es la correcta el presentador simplemente deberá elegir alguna de las otras dos puertas para mostrarle su contenido; pero por el contrario si la puerta que usted eligió es la correcta, el presentador no podrá elegir cuál puerta abrir y se verá forzado a mostrarle la otra puerta incorrecta

a. En el caso en que su elección inicial fuese la correcta, use la función sample para elegir aleatoriamente cualquiera de las otras dos puertas para mostrar su contenido. En el siguiente apartado comente el cógido en cada caso.

puerta.revelada <- function(puertas, puerta.del.premio, puerta.elegida){
  if(puerta.del.premio == puerta.elegida){
    # Escriba aquí que hace esta línea de código: indica que la puerta revelada será igual a la funcion de (puertas, puerta.del.premio, puerta.elegida) solo si la puerta.del.premio es igual a la puerta.elegida
    puerta.a.revelar <- sample(x = puertas[-puerta.del.premio], size = 1)
  } else {
    
    # Escriba aquí que hace esta línea de código: la función anterior indica wue la puerta.a.revelar se obtendrá aleatoriamente de las puertas sin tener en cuenta la puerta.del.premio y que esta será solamente una puerta 
    puerta.a.revelar <- puertas[-c(puerta.del.premio,puerta.elegida)]}}

b. Elija como semilla la fecha del día de entrega de su parcial así: ddmmaaaa, y seleccione aleatoriamente una puerta para que contenga el automóvil

set.seed(29042020)
puerta.del.premio <- sample(x= puertas, size= 1)
puerta.elegida <- 1

c. Use la funcion anteriormente construida en el inciso a. con el fin de elgir una puerta para ser abierta; complete el código y ejecutelo.

# use la función anteriormente construida para mostrar la elección del presentador
puerta.a.mostrar <- puerta.revelada(puertas, puerta.del.premio, puerta.elegida)
puerta.a.mostrar
## [1] 2

d. Cambie su elección de la puerta por la que le queda y de la cual no conoce su contenido y muestre cual sería

# Cambie a la puerta restante
puerta.cambiada <- puertas[-c(puerta.elegida, puerta.a.mostrar)]
print(puerta.cambiada)
## [1] 3

e. Revise si la puerta finalmente elegida puerta.cambiada y la puerta ganadora puerta.del.premio son o no iguales

# Revise si las puertas del premio y la finalmente seleccionada son iguales
if(puerta.cambiada == puerta.del.premio){
  print("!La elección final fue la correcta!")
}
## [1] "!La elección final fue la correcta!"
# Inicialice el contador
juegos.ganados <- 0

for(i in 1:10000){
  puerta.del.premio <- sample(puertas,1)
  puerta.elegida <- 1
  puerta.a.revelar <- puerta.revelada(puertas, puerta.del.premio, puerta.elegida)
  puerta.cambiada <- puertas[-c(puerta.elegida, puerta.a.revelar)]
  if(puerta.cambiada == puerta.del.premio){
    
    # Comente el código
    juegos.ganados <- juegos.ganados + 1
  }
}

# Imprima la probabilidad estimada de ganar cambiando de puerta
print(juegos.ganados / 10000)
## [1] 0.6632

Interpretacion y respuesta del ejercicio: El juego de Monty Hall es una paradoja muy conocida dentro de la estadística que contradice lo que intiuitivamente podría pensarse. En principio, lo realizado con anterioridad a través de los códigos ejecutados en el inciso a, b, c, d y e respecta simplemente a una simulación del mismo juego que permite entender las probabilidades existentes de ganar.

Recordando lo establecido en el punto 8, es plausible entender que, en simples palabras, el juego consiste en que un jugador selecciona una puerta, el presentador le muestra el contenido de otra puerta (este contenido debe ser una cabra) y, con esta información, el jugador debe enfrentarse a dos opciones: mantenerse en su decisión o cambiar de puerta.

Para responder las preguntas planteadas al principio del ejercicio de Monty Hall: “¿Debe el concursante mantener su elección original o escoger la otra puerta? ¿Hay alguna diferencia?” debemos tener en cuenta el análisis obtenido a lo largo del ejercicio número nueve.

En primer lugar, en consciencia de lo dicho anteriormente, se sabe que si se toma la primera decisión, es decir, no cambiar de puerta hay una implicación que es la no modificación de las posibilidades de ganar. Por lo tanto, estas siguen siendo \(\left\{(1/3)\right\}\) que representa la situación inicial: una puerta ganadora sobre tres. A partir de esto se infiere que se hace la primera elección sin tener información y luego no hay cambios, lo que hace que el hecho de que el presentador abra una puerta no cambie las probabilidades aunque parezca lo contrario.

Por otro lado, como se demostró con anterioridad, la probailidad de que gane cambiando de puerta es equivalente a \(\left\{(2/3)\right\}\). Esto se debe a que, en la situacion inicial, la probalilidad de que escoja una puerta con una cabra equivale a \(\left\{(2/3)\right\}\) así como la probabilidad de que escoja de manera inmediata la puerta ganadora es solo de \(\left\{(1/3)\right\}\). Siendo más posible que escoja una puerta con una cabra, el presentador se verá obligado a revelar el contenido de la puerta con la otra cabra, lo que indica que, la puerta faltante es la puerta que contiene el automóvil.

Estos supuestos son demostrados por medio de los códigos ya ejecutados, como es evidente en primer lugar se seleccionó de manera aleatoria la puerta que contuviera el premio y se determinó que la puerta uno sería la primera elección (revise el inciso b). En segundo lugar, al escoger una puerta el presentador se vió obligado a revelar el contenido de otra, en este caso, como la puerta.elegida -> 1, el presentador podía optar por mostrar la dos o la tres; sin embargo, una condición del juego es que la puerta mostrada contenga cabras, por lo tanto, como el juego ya había seleccionado la puerta ganadora opto por mostrar la número dos (revise el inciso c). Lo anterior deja al jugador en la dualidad o duda sobre si debería quedarse con la puerta uno o escoger la puerta 3. Como ya lo establecimos en el párrafo anterior, era muy probable que en su primera elección hubiera escogido una cabra, por lo que, si cambia de puerta la probabilidad de ganar el automóvil será mayor.

Escogemos puerta con cabra, presentador muestra la otra cabra, cambiamos y ganamos Escogemos puerta con cabra, presentador muestra la otra cabra, cambiamos y ganamos Escogemos puerta con coche, presentador muestra la otra cabra, cambiamos y perdemos

En ese sentido, se toma la decisión de cambiar la puerta (revise inciso d); es decir, si ya habiamos elegido la uno y nos han mostrado la dos, puerta.cambiada -> 3. Finalmente, bajo la probabilidad anterior podemos ver que la puerta cambiada era, efectivamente, la puerta ganadora y que la probabilidad de ganar cambiando de puerta, por las razones lógicas ya explicadas resultan mayores cuando el jugador decide cambiar de puerta(revise inciso e).

En conclusión, la mejor estrategia es cambiar siempre, pues la probabilidad efectiva de ganar es el doble de la correspondiente al no cambiar nunca. Por lo tanto, si, el jugador si debe cambiar de puerta.

10 Haga un breve resumen de lo que pudo observar, en general usando tablas y gráficos; sera altamente valorado el uso de las librerías ggplot, dplyr o tidyverse en la resolución del parcial:

Con el objetivo de presentar gráficamente los resultados obtenidos y las interpretaciones realizadas a lo largo del taller se presentan las siguientes gráficas:

a. Para el lanzamiento de los dados.

Conclusión más relevante del ejercicio:

Por medio de estas gráficas, es posible ver desde otra perspectiva la distribución normal que existe a la hora de lanzar dos dados 10000 veces. Señalando, de acuerdo al análisis realizado, que la suma de las caras va a tender a siete ya que este tiene el mayor número de combinaciones posibles.

b. Para el grupo de personas.

100 personas

50 personas

Tendencia de la probabilidad

Conclusión más relevante del ejercicio:

De acuerdo al analisis realizado, referente a una mal llamada paradoja que contradice la intución, pero que matemáticamente es lógica. Es posible concluir que desde grupos pequeños como de 23 personas ya es posible casi con un 50% de certeza que más de dos personas cumplan el mismo día. Por ende, con grupos más elevados como de 50 y 100 personas la probabilidad empieza a tender a uno o se convierte en uno, como en el caso del grupo de 100 trabajadores.

c. Para el juego de Monty Hall.

Conclusión más relevante del ejercicio:

Con base en las simulaciones realizadas en los ejercicios 7,8 y 9 la conclusión más relevante indica que es mucho más probable ganar el juego al realizar un cambio en la eleccion que cuando se decide mantener la misma ya que las probabilidades cambian, llegando incluso a duplicar la probabilidad de ganar que se presentaba en un principio.

Bibliografía