Предположим, что честная монета подбрасывается несколько раз, пока голова не будет получена впервые.
- Какое ожидаемое количество бросков потребуется?
- Какое ожидаемое количество хвостов будет получено до получения первой головы?
Предположим, что честная монета подбрасывается несколько раз, пока голова не будет получена впервые.
Ответы:
На это можно ответить, используя геометрическое распределение следующим образом:
Количество неудач k - 1 до первого успеха (головы) с вероятностью успеха p («головы») определяется как:
где k - общее количество бросков, включая первые «головы», которые заканчивают эксперимент.
И ожидаемое значение X для данного p составляет .
Вывод ожидаемого значения можно найти здесь . Последние оставленные неявные шаги должны быть следующими:
включить в выражение:
. Приr=1-pэто упрощает
, оправдывая его использование выше.]
В качестве альтернативы, мы могли бы использовать отрицательное биномиальное распределение, интерпретируемое как число сбоев до первого успеха. Массовая функция вероятности задается как p (число отказов, n , до достижения r успехов | при определенной вероятности, p , успеха в каждом испытании Бернулли):
Ожидание количества испытаний, n + r определяется по общей формуле:
Учитывая наши известные параметры: г = 1 и р = 0,5 ,
Следовательно, мы можем ожидать двух бросков, прежде чем получим первую голову с ожидаемым количеством хвостов .
Мы можем запустить симуляцию Монте-Карло, чтобы доказать это:
set.seed(1)
p <- 1/2
reps <- 10000 # Total number of simulations.
tosses_to_HEAD <- 0 # Setting up an empty vector to add output to.
for (i in 1:reps) {
head <- 0 # Set the variable 'head' to 0 with every loop.
counter <- 0 # Same forlocal variable 'counter'.
while (head == 0) {
head <- head + rbinom(1, 1, p) # Toss a coin and add to 'head'
counter <- counter + 1 # Add 1 to 'counter'
}
tosses_to_HEAD[i] <- counter # Append number in counter after getting heads.
}
mean(tosses_to_HEAD)
[1] 2.0097
And the expected value of
p 1 / p и как это можно доказать? for a given
is
Смоделируйте игру, нарисовав билет из коробки. Есть два вида билетов. На одном написано «Стоп, ты бросил головы»; на другом написано «Продолжай, ты подбрасывай хвосты». Ожидаемое количество дополнительных бросков в первом случае равно то время как ожидаемое количество дополнительных бросков во втором случае равно x , скажем - мы еще этого не знаем и должны это выяснить.
Запишите эти ожидания на соответствующих билетах: это значения билетов.
Мы знаем три вещи:
Ожидание этого единственного розыгрыша, по определению, является суммой взвешенных по вероятности значений для всех видов билетов:
Давайте интерпретируем это число: это ожидаемое количество дополнительных бросков, которые потребуются до появления головы. Поскольку розыгрыши билетов соответствуют броскам монет, добавление в один розыгрыш, необходимый для получения билета, дает нам ожидаемое количество бросков, которое простосам. Приравнивая эти два выражения,
Решение для отвечает на первый вопрос. Поскольку число хвостов всегда на единицу меньше количества розыгрышей, ожидаемое количество хвостов также должно быть на единицу меньше ожидаемого числа розыгрышей. Следовательно отвечает на второй вопрос.
Второе интуитивно понятное решение можно получить, рассматривая очень длинную последовательностьподбрасывает. Сколько игр было сыграно? Ответ: количество голов (плюс еще одна незавершенная игра, если последовательность заканчивается серией хвостов). Сколько голов ожидается? Ответ:, Позвоните на этот номер, Слабый закон больших чисел утверждает , что фактическое количество головок, весьма вероятно, будет очень близко к при условии is sufficiently large. Therefore the average game length , given by some number between and , will be arbitrarily close to , whence it must equal itself.
This leads to an extremely efficient way to simulate the distribution of game lengths. Here is R
code. It records "heads" as true values in a boolean array and computes the tosses between successive true values.
p <- 1/3 # Set the chance of heads
tosses <- runif(1e6) < p # Make a million tosses
sim <- diff(c(TRUE, which(tosses))) # Compute game lengths
hist(sim, xlab="Game length", main="Distribution") # Graph their distribution
mean(sim) # Report the average length
When I ran this code after setting the seed to (set.seed(17)
), the output differed from by only a tiny amount.
Let X be the number of coin flips required until a head is obtained. So, we need to calculate E(X) (i.e. expected value of X).
We can condition E(X) on whatever our first flip is. Let E(X|H) denote the number of remaining coin flips given I got a head on the first flip. Similarly, let E(X|T) denote the number of remaining coin flips given I got a tail on the first flip.
By first step conditioning, we have
Now, as denoted the remaining flips after receiving head on the first, it will be equal to 0 as I don't need to flip after getting 1 head.
And, , as we did not make any progress towards getting 1 head.
So,
=>