es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Probabilidad mínima en R.

Estoy tratando de encontrar el número mínimo de personas con un cumpleaños muestreado en r de 0.9 (90%)

Estoy intentando hacer esto a través del muestreo y dos bucles for:

Mis resultados esperados son alrededor de 300 personas, creo

bus = 2

comenzar el contador de personas en 2

count = 0

crear un contador para contar cumpleaños iguales al 1 de enero, asumiendo que no hay 29 de febrero en años bisiestos

for (i in 1:400) {
sims = 1000
for (i in 1:sims) {
bday = sample(1:365, bus, replace = TRUE) # muestrear aleatoriamente cumpleaños, produciendo bus número de muestras
if (bday == 1) { # para ver si hay dos cumpleaños idénticos, agregar al contador
count = count + 1
}
}
p = count / sims
print(p)
if (p < 0.9) {bus = bus + 1}
if (p >= 0.9) {bus = bus}
}
print(bus)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para encontrar el número mínimo de personas con un cumpleaños muestreado en r de 0.9, podemos utilizar la simulación y los bucles for. En el código proporcionado, comenzamos con un autobús de 2 y lo aumentamos hasta que la probabilidad de que dos personas compartan cumpleaños sea al menos 0.9.

    El bucle for interno ejecuta una simulación de 1000 muestras para el tamaño actual del autobús. Se seleccionan dos cumpleaños de un rango de 1 a 365 (asumiendo que no hay años bisiestos). Si los dos cumpleaños coinciden (iguales a 1, ya que asumimos el 1 de enero como punto de referencia), incrementamos el contador.

    Al final del bucle interno, calculamos la proporción de simulaciones en las que dos personas tenían el mismo cumpleaños y la almacenamos en la variable p. Si p es menor que 0.9, aumentamos el tamaño del autobús en 1 y repetimos la simulación. Si p es mayor o igual a 0.9, imprimimos el tamaño mínimo del autobús necesario para lograr esta probabilidad.

    Basándonos en los resultados esperados, la salida debería ser alrededor de 300 personas. Sin embargo, ten en cuenta que este es un proceso estocástico, por lo que el resultado puede variar cada vez que se ejecute el código.

Comments are closed.