Probability
生日問題的真正答案是什麼?
“一個班級必須有多大才能使找到兩個生日相同的人的概率至少達到 50%?”
我在 facebook 上有 360 個朋友,而且,不出所料,他們的生日分佈根本不統一。我有一天有 9 個生日相同的朋友。(大假期和情人節之後的 9 個月似乎很重要,哈哈..)所以,鑑於有些日子更有可能是生日,我假設 23 的數字是一個上限。
對這個問題有更好的估計嗎?
幸運的是,有人發布了一些真實的生日數據,並對相關問題進行了一些討論(分佈均勻)。我們可以使用這個和重新採樣來表明您的問題的答案顯然是 23 - 與理論答案相同。
> x <- read.table("bdata.txt", header=T) > birthday <- data.frame(date=as.factor(x$date), count=x$count) > summary(birthday) date count 101 : 1 Min. : 325 102 : 1 1st Qu.:1266 103 : 1 Median :1310 104 : 1 Mean :1314 105 : 1 3rd Qu.:1362 106 : 1 Max. :1559 (Other):360 > results <- rep(0,50) > reps <-2000 # big number needed as there is some instability otherwise > for (i in 1:50) + { + count <- 0 + for (j in 1:reps) + { + samp <- sample(birthday$date, i, replace=T, prob=birthday$count) + count <- count + 1*(max(table(samp))>1) + } + results[i] <- count/reps + } > results [1] 0.0000 0.0045 0.0095 0.0220 0.0210 0.0395 0.0570 0.0835 0.0890 0.1165 [11] 0.1480 0.1770 0.1955 0.2265 0.2490 0.2735 0.3105 0.3350 0.3910 0.4165 [21] 0.4690 0.4560 0.5210 0.5310 0.5745 0.5975 0.6240 0.6430 0.6950 0.7015 [31] 0.7285 0.7510 0.7690 0.8025 0.8225 0.8280 0.8525 0.8645 0.8685 0.8830 [41] 0.8965 0.9020 0.9240 0.9435 0.9350 0.9465 0.9545 0.9655 0.9600 0.9665