Teniendo dificultades para resolver la simulación.
Tengo una pregunta relacionada con la teoría de probabilidad y traté de resolverlo simulándolo en R. Sin embargo, me encontré con un problema ya que el bucle while no parece romperse.
La pregunta es: ¿Cuántas personas se necesitan para que haya al menos un 70% de probabilidad de que una de ellas nazca el último día de diciembre?
Aquí está mi código:
prob <- 0
people <- 1
while (prob <= 0.7) {
people <- people + 1 # empezar la iteración con 2 personas en la habitación y aumentar 1 en cada iteración
birthday <- sample(365, size = people, replace = TRUE)
prob <- length(which(birthday == 365)) / people
}
return(prob)
Mi suposición es que nunca podría llegar al 70%, por lo tanto, el bucle while
nunca se rompe, ¿tengo razón? Si es así, ¿interpreté mal la pregunta?
No hice publicar esto en stats.stackexchange.com porque pensé que está más relacionado con el código que con las matemáticas en sí, pero lo moveré si es necesario, gracias.
davy.ai
Es posible que el bucle
while
nunca se detenga, ya que puede que no haya un número factible de personas que cumpla con la condición de tener al menos un 70% de probabilidad de que una de ellas nazca el último día de diciembre. Esto puede deberse a que la probabilidad de que una persona nazca el último día de diciembre es bastante baja (1/365) y la probabilidad de que esto suceda para al menos una persona en un grupo se vuelve cada vez más pequeña a medida que aumenta el tamaño del grupo.Para verificar si tu código funciona correctamente, puedes intentar cambiar la condición en el bucle
while
deprob <= 0.7
apeople <= 1000
(por ejemplo) para ver si el bucle se detiene en algún momento. Alternativamente, puedes usar un método de simulación diferente o una fórmula matemática para resolver el problema.