Припустимо, що справедлива монета кидається неодноразово, поки вперше не вийде голова.
- Яка очікувана кількість кидок, які знадобляться?
- Яка очікувана кількість хвостів, які будуть отримані до отримання першої голови?
Припустимо, що справедлива монета кидається неодноразово, поки вперше не вийде голова.
Відповіді:
На це можна відповісти, використовуючи геометричний розподіл наступним чином:
Кількість відмов k - 1 до першого успіху (голови) з вірогідністю успіху p ("голови") задається:
причому k - загальна кількість кидків, включаючи перші «голови», які припиняють експеримент.
І очікуване значення X для заданого p дорівнює .
Виведення очікуваного значення можна знайти тут . Останні кроки, що залишилися неявними, повинні бути такими:
підключити до виразу:
. З , це спрощується до
, виправдовуючи його використання вище.]
Крім того, ми могли б використати негативний біноміальний розподіл, інтерпретований як кількість відмов до першого успіху. Функція маси ймовірностей задається як p (кількість відмов, n , перш ніж досягти r успіхів | з урахуванням певної ймовірності, p , успіху в кожному випробуванні Бернуллі):
Очікування на кількість випробувань, n + r задається загальною формулою:
З огляду на наші відомі параметри: r = 1 і p = 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
і як слід це довести?
Моделюйте гру, намалювавши квиток з коробки. Є два види квитків. На одному написано «Стоп, ти кинув голови»; з іншого написано "Продовжуй, ти кинув хвости". Очікувана кількість додаткових закидів у першому випадку дорівнює тоді як очікувана кількість додаткових кидок у другому випадку - , скажімо - ми цього ще не знаємо і мусимо це з'ясувати.х
Запишіть ці очікування у відповідні квитки: це значення квитків.
Ми знаємо три речі:
Шанс оформлення квитка "Стоп" (зі значенням ) становить .р
Шанс оформлення квитка «Продовжити» (зі значенням ) становить .1 - с
Очікування цього єдиного розіграшу - це, за визначенням, сума значень, зважених на вірогідність, для всіх видів квитків:
Давайте інтерпретуємо це число: це очікувана кількість додаткових закидів, які знадобляться до появи голови. Оскільки розіграші квитків відповідають викидам монет, додавання в одному розіграші, необхідному для отримання квитка, дає нам очікувану кількість кидків - що саме . Рівняючи ці два вирази,
Розв’язування для відповідає на перше запитання. Оскільки кількість хвостів завжди на одну меншу, ніж кількість малюнків, очікувана кількість хвостів також повинна бути на одну меншу, ніж очікувана кількість малюнків. Тому відповідає на друге питання.
Друге інтуїтивно зрозуміле рішення можна отримати, розглядаючи дуже довгу послідовність яток. Скільки ігор було зіграно? Відповідь: кількість голів (плюс ще одна неповна гра, якщо послідовність закінчується серією хвостів). Скільки голів очікують? Відповідь: . Зателефонуйте на це число . Слабкий закон великих чисел стверджує , що фактичне кількість головок, досить імовірно, буде дуже близько до при умови досить велике. Тому середня довжина гри , задана деякою кількістю між та , буде довільно близькою до , при цьому вона повинна дорівнювати себе.
Це призводить до надзвичайно ефективного способу моделювання розподілу тривалості гри . Ось R
код. Він записує "голови" як істинні значення в булевому масиві і обчислює топки між послідовними істинними значеннями.
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
Коли я запустив цей код після встановлення насіння в ( ), вихід відрізнявся від лише невеликим числом.set.seed(17)
Нехай X - кількість обертів монети, необхідних до отримання головки. Отже, нам потрібно обчислити E (X) (тобто очікуване значення X).
Ми можемо умовити E (X) на будь-якому першому перевороті. Нехай E (X | H) позначає кількість решти монет, що залишилися, якщо я отримав голову на першому фліпі. Аналогічно, нехай E (X | T) позначає кількість решти монет, що залишилися, якщо я отримав хвіст на першому фліпі.
Першим кроком кондиціонування у нас є