2015-05-29 2 views
3

Предположим, что у моего населения есть n мраморов, и только 1% из них являются красными. В примере из 30 ничьих, какова вероятность того, что я нарисую хотя бы 1 красный мрамор?R: вычисление вероятности рисования не менее 1 красного мрамора

Я знаю, что P (по крайней мере, 1 красный мрамор) = 1 - P (не красные шарики)

Я написал функцию в R

pMarble = function(n){ 
    1-(choose(n-ceiling(0.01*n), 30)/choose(n, 30)) 
} 

Функция принимает в 1 параметр, число мрамора в популяции, и я использую sapply перебирать различные значения п

n = 100:1000 
toplot = sapply(n, pMarble) 
plot(n, toplot) 

enter image description here

Почему участок прерывистый? Я думал, что это будет просто уменьшающаяся непрерывная функция. Поскольку общее количество мрамора увеличивается, учитывая, что я рисую только 30 мраморов, вероятность того, что хотя бы 1 красный мрамор (присутствует в популяции с частотой 1%) будет монотонно уменьшаться? Почему я вижу разрывы?

+1

Подсказка: Как вы можете иметь население больше, чем 100, но менее 200 шариков из которых ровно 1% являются красный? –

+1

Если пропорция всегда остается прежней, то график должен быть плоской линией в '1 - pbinom (0, 30, 0.01)'? – jenesaisquoi

ответ

1

Предположим, что у моего населения имеется n мраморов, и только 1% из них являются красными. В примере из 30 ничьих, какова вероятность того, что я нарисую хотя бы 1 красный мрамор?

Вы правы, что вероятность по крайней мере 1 красного мрамора равна 1-Pr(no marbles); для бинома, на самом деле это так, что (поскольку индивидуальный выбор мрамора в ничьей независим), что вероятность отсутствия мрамора в 30 ничьих из n мрамора такая же, как вероятность отсутствия мрамора в одиночной ничьей 30n мрамора ... поэтому у нас есть 1-(1-p)^(30n).

p <- 0.01 
par(las=1,bty="l") ## cosmetic 
curve(1-(1-p)^(30*x),from=0,to=100, 
     xlab="Number of 30-marble draws",ylab="prob(>0 marbles)") 

enter image description here

Давайте проверить это эмпирически для одного случая:

(1-(1-p)^(30*3)) ## 3 draws, 0.595 
set.seed(101) 
mean(replicate(100000, 
      any(rbinom(3,prob=0.01,size=30)>0))) 
## 0.59717 
+0

Что делать, если я рисую без замены? В таком случае у меня не было бы биномиального распределения, правильно? – Adrian

Смежные вопросы