consulte el siguiente script de Python para Python2.
La respuesta está inspirada en la respuesta de David C.
Mi respuesta final sería la probabilidad de encontrar al menos cinco Jacobs en una clase, siendo Jacob el nombre más probable según los datos de https://www.ssa.gov/oact/babynames/limits.html "Datos nacionales "desde 2006.
La probabilidad se calcula de acuerdo con una distribución binomial con la probabilidad de Jacob como la probabilidad de éxito.
import pandas as pd
from scipy.stats import binom
data = pd.read_csv(r"yob2006.txt", header=None, names=["Name", "Sex", "Count"])
# count of children in the dataset:
sumCount = data.Count.sum()
# do calculation for every name:
for i, row in data.iterrows():
# relative counts of each name being interpreted as probabily of occurrence
data.loc[i, "probability"] = data.loc[i, "Count"]/float(sumCount)
# Probabilites being five or more children with that name in a class of size n=25,50 or 100
data.loc[i, "atleast5_class25"] = 1 - binom.cdf(4,25,data.loc[i, "probability"])
data.loc[i, "atleast5_class50"] = 1 - binom.cdf(4,50,data.loc[i, "probability"])
data.loc[i, "atleast5_class100"] = 1 - binom.cdf(4,100,data.loc[i, "probability"])
maxP25 = data["atleast5_class25"].max()
maxP50 = data["atleast5_class50"].max()
maxP100 = data["atleast5_class100"].max()
print ("""Max. probability for at least five kids with same name out of 25: {:.2} for name {}"""
.format(maxP25, data.loc[data.atleast5_class25==maxP25,"Name"].values[0]))
print
print ("""Max. probability for at least five kids with same name out of 50: {:.2} for name {}, of course."""
.format(maxP50, data.loc[data.atleast5_class50==maxP50,"Name"].values[0]))
print
print ("""Max. probability for at least five kids with same name out of 100: {:.2} for name {}, of course."""
.format(maxP100, data.loc[data.atleast5_class100==maxP100,"Name"].values[0]))
Max. probabilidad de al menos cinco niños con el mismo nombre de 25: 4.7e-07 para el nombre Jacob
Max. probabilidad de al menos cinco niños con el mismo nombre de 50: 1.6e-05 para el nombre de Jacob, por supuesto.
Max. probabilidad de al menos cinco niños con el mismo nombre de 100: 0.00045 para el nombre de Jacob, por supuesto.
Por un factor de 10 el mismo resultado que el de David C. Gracias. (Mi respuesta no suma todos los nombres, debería discutirse)