Серйозна поглиблена проблема ймовірностей гортання монет


10

Скажімо, я роблю 10 000 фліп монети. Мені хотілося б знати ймовірність того, скільки обертів потрібно, щоб отримати 4 і більше поспіль головок поспіль.

Підрахунок буде працювати наступним чином, ви вважаєте, що один наступний раунд фліп - це лише голови (4 голови і більше). Коли хвостик вдарить і розірве смугу голови, граф почнеться з наступного перевороту. Потім це повториться на 10000 обертів.

Мені хотілося б знати ймовірність не лише 4-х і більше голів підряд, але 6 і більше та 10 і більше. Для уточнення, якщо досягається смуга з 9 голів, вона буде розміщена як 1 смужка 4 або більше (та / або 6 і більше), а не 2 окремі смуги. Наприклад, якщо монета прийшла THTHTHTHHHHHH /// THAHTHT .... кількість буде 13, і почнеться знову на наступних хвостах.

Скажімо, дані виявляються сильно перекошеними праворуч; середній показник - 40 літрів у середньому, потрібно, щоб досягти смуги 4 або більше, а розподіл - u = 28. Очевидно, перекошений.

Я роблю все можливе, щоб знайти спосіб вияснити описові дані, за винятком випадків, коли я нічого не знайшов.

Я хочу знайти якийсь спосіб отримати певну розумну ймовірність з цього. Як звичайна крива, де +/- 1 SD становить 68% і т.д.

Мені сказали бета-дистрибуції, але кожна моя пропозиція була досить заплутаною. Я задавав це питання рік тому і отримав деяке розуміння, але, на жаль, досі не маю відповіді. Дякую будь-кому з вас, хто має ідеї.


Напевно, варто трохи уточнити. 1) Я шукаю, щоб зрозуміти описові дані про кількість послідовних головок вище 4 на 1000 фліп (подібне до щось на зразок нормальної ймовірності кривої +/- 1 SD = 68%) зі скасованого набору даних. 2) Рекомендовано використовувати бета-розподіл, але будь-які інші пропозиції були б чудовими!
День

1
Ден, я щойно помітив, що твій приклад набору голів та хвостів включає «A».
Glen_b -Встановіть Моніку

Ви внесені зміни - це велике вдосконалення, але нам потрібно внести ще кілька змін. Де ви говорите «а розподіл - u = 28», що саме ви маєте на увазі? Ви говорите про медіану?
Glen_b -Встановіть Моніку

@Dan бета-версія може призвести до цієї проблеми лише в тому випадку, якщо ви використовуєте байєсівський підхід і оцінюєте ймовірність голов, а потім застосуйте це розподіл (і пов'язану з цим невизначеність) в математичний результат заданої вами проблеми.
АдамО

Відповіді:


12

Якщо я правильно зрозумів, то проблема полягає у пошуку розподілу ймовірностей на час, на який закінчується перший пробіг з або більше головок.n

Редагування ймовірностей можна точно і швидко визначити за допомогою матричного множення, також можна аналітично обчислити середнє значення як а дисперсію як де , але, мабуть, не існує простої закритої форми для самого розподілу. Над певною кількістю монет перевертає, по суті, розподіл - це геометричний розподіл: було б доцільно використовувати цю форму для більших .σ 2 = 2 n + 2 ( μ - n - 3 ) - μ 2 + 5 μ μ = μ - + 1 tμ=2n+11σ2=2n+2(μn3)μ2+5μμ=μ+1t

Еволюція в часі розподілу ймовірностей у просторі станів може бути змодельована за допомогою перехідної матриці для станів, де кількість послідовних переворотів монети. Держави такі:n =k=n+2n=

  • Штат , голови немаєH0
  • Стан , голови, i 1 i ( n - 1 )Hii1i(n1)
  • Штат , або більше голів nHnn
  • Штат , або більше головок з наступним хвостом nHn

Як тільки ви перейдете в стан ви не зможете повернутися до жодного з інших штатів.H

Ймовірність переходу в стан потрапити до штатів є наступною

  • Стан : ймовірність від , , тобто включаючи себе, але не стан1H0 Hii=0,,n-1Hn12Hii=0,,n1Hn
  • Стан : ймовірність від1Hi Hi-112Hi1
  • Стан : ймовірність від , тобто від стану з головами та себе1Hn Hn-1,Hnn-112Hn1,Hnn1
  • Стан : ймовірність від та ймовірність 1 від (сама)1H HnH12HnH

Так, наприклад, при це дає матрицю переходуn=4

X={H0H1H2H3H4HH01212121200H11200000H20120000H30012000H400012120H0000121}

Для випадку початковий вектор ймовірностей дорівнює . Взагалі початковий вектор має p p = ( 1 , 0 , 0 , 0 , 0 , 0 ) p i = { 1 i = 0 0 i > 0n=4pp=(1,0,0,0,0,0)

pi={1i=00i>0

Вектор - розподіл ймовірностей у просторі за будь-який даний час. Необхідний cdf - це cdf у часі , і це ймовірність побачити щонайменше переворотів монети за часом . Його можна записати як , зауваживши, що ми досягаємо стану 1-й часовий крок після останнього під час послідовного перегортання монети. n t ( X t + 1 p ) k H pnt(Xt+1p)kH

Необхідний час pmf можна записати як . Однак чисельно це включає вилучення дуже малої кількості від набагато більшого числа ( ) і обмежує точність. Тому в обчисленнях краще встановити а не 1. Тоді записуючи для отриманої матриці , pmf є . Це те, що реалізовано в простій програмі R нижче, яка працює для будь-якого ,1 X k , k = 0 X X = X | X k , k = 0 ( X t + 1 p ) k n 2(Xt+1p)k(Xtp)k1Xk,k=0XX=X|Xk,k=0(Xt+1p)kn2

n=4
k=n+2
X=matrix(c(rep(1,n),0,0, # first row
           rep(c(1,rep(0,k)),n-2), # to half-way thru penultimate row
           1,rep(0,k),1,1,rep(0,k-1),1,0), # replace 0 by 2 for cdf
         byrow=T,nrow=k)/2
X

t=10000
pt=rep(0,t) # probability at time t
pv=c(1,rep(0,k-1)) # probability vector
for(i in 1:(t+1)) {
  #pvk=pv[k]; # if calculating via cdf
  pv = X %*% pv;
  #pt[i-1]=pv[k]-pvk # if calculating via cdf
  pt[i-1]=pv[k] # if calculating pmf
}

m=sum((1:t)*pt)
v=sum((1:t)^2*pt)-m^2
c(m, v)

par(mfrow=c(3,1))
plot(pt[1:100],type="l")
plot(pt[10:110],type="l")
plot(pt[1010:1110],type="l")

Верхній графік показує pmf між 0 і 100. Нижній два графіки показують pmf між 10 і 110, а також між 1010 і 1110, ілюструючи подібність і те, що, як говорить @Glen_b, розподіл виглядає таким, яким він може бути наближений геометричним розподілом після періоду відстоювання.

введіть тут опис зображення

Можна досліджувати таку поведінку в подальшому , використовуючи розкладання власних векторів з . Це показує, що для досить великого , , де є рішенням рівняння . Це наближення стає кращим із збільшенням і є чудовим для в діапазоні приблизно від 30 до 50, залежно від значення , як показано на графіку помилки журналу нижче для обчислення (кольори веселки, червоний на зліва заt p t + 1c ( n ) p t c ( n ) 2 n + 1 c n ( c - 1 ) + 1 = 0 n t n p 100 n = 2 tXtpt+1c(n)ptc(n)2n+1cn(c1)+1=0ntnp100n=2). (Насправді з числових причин було б насправді краще використовувати геометричне наближення для ймовірностей, коли більший.)t

введіть тут опис зображення

Я підозрюю, що (ред.) Може бути закрита форма, доступна для розповсюдження, оскільки засоби та відхилення, як я їх обчислював, наступним чином

nMeanVariance2724315144431736563339261271472072556169685112534409102310291201020474151296

(Мені довелося збільшити число вгору за часовий горизонт, щоб t=100000досягти цього, але програма все ще працювала на всі менш ніж за 10 секунд.) Зокрема, засоби дотримуються дуже очевидної схеми; відхилення менш. У минулому я вирішив простішу, 3-державну систему переходу, але поки що мені не пощастило з простим аналітичним рішенням цього. Можливо, є якась корисна теорія, про яку я не знаю, наприклад, що стосується перехідних матриць.n=2,,10

Редагувати : після безлічі помилкових стартів я придумав формулу рецидиву. Нехай - ймовірність перебування в стані в момент . Нехай - сукупна ймовірність перебування в стані , тобто кінцевий стан, в момент . NB H i t q , t H tpi,tHitq,tHt

  • Для будь-якого заданого , і - розподіл ймовірностей на простір , і одразу нижче я використовую той факт, що їхні ймовірності додаються до 1.p i , t , 0 i n q , t itpi,t,0inq,ti
  • tp,t утворюють розподіл ймовірностей за часом . Пізніше я використовую цей факт у виведенні засобів та відхилень.t

Імовірність перебування в першому стані в момент часу , тобто немає голов, задається ймовірністю переходу зі станів, які можуть повернутися до нього з часу (використовуючи теорему загальної ймовірності). Але щоб дістатися зі стану до виконує кроків, отже, і Ще раз теоремою про повну ймовірність вірогідність перебуваючи в станіt p 0 , t + 1t+1t

p0,t+1=12p0,t+12p1,t+12pn1,t=12i=0n1pi,t=12(1pn,tq,t)
H0Hn1n1pn1,t+n1=12n1p0,t
pn1,t+n=12n(1pn,tq,t)
Hnв момент часу є і використовуючи той факт, що , Отже, змінивши , t+1
pn,t+1=12pn,t+12pn1,t=12pn,t+12n+1(1pn,tnq,tn)()
q,t+1q,t=12pn,tpn,t=2q,t+12q,t
2q,t+22q,t+1=q,t+1q,t+12n+1(12q,tn+1+q,tn)
tt+n
2q,t+n+23q,t+n+1+q,t+n+12nq,t+112n+1q,t12n+1=0

Ця формула повторення перевіряє випадки і . Наприклад, для графік цієї формули з використанням дає точність замовлення машини.n=4n=6n=6t=1:994;v=2*q[t+8]-3*q[t+7]+q[t+6]+q[t+1]/2**6-q[t]/2**7-1/2**7

введіть тут опис зображення

Редагувати Я не бачу, куди звернутися, щоб знайти закриту форму з цього відношення. Тим НЕ менше, це можливо , щоб отримати замкнуту форму для середнього.

Починаючи з і відзначаючи, що , Взяти суми від до та застосувати формулу для середнього та зазначити, що є розподіл ймовірностей дає ()p,t+1=12pn,t

pn,t+1=12pn,t+12n+1(1pn,tnq,tn)()2n+1(2p,t+n+2p,t+n+1)+2p,t+1=1q,t
t=0E[X]=x=0(1F(x))p,t
2n+1t=0(2p,t+n+2p,t+n+1)+2t=0p,t+1=t=0(1q,t)2n+1(2(112n+1)1)+2=μ2n+1=μ
Це значення для досягнення стану ; середнє значення для кінця прогону голів на одну менше, ніж це.H

Редагувати Аналогічний підхід, використовуючи формулувід цього питання виходить дисперсія. E[X2]=x=0(2x+1)(1F(x))

t=0(2t+1)(2n+1(2p,t+n+2p,t+n+1)+2p,t+1)=t=0(2t+1)(1q,t)2t=0t(2n+1(2p,t+n+2p,t+n+1)+2p,t+1)+μ=σ2+μ22n+2(2(μ(n+2)+12n+1)(μ(n+1)))+4(μ1)+μ=σ2+μ22n+2(2(μ(n+2))(μ(n+1)))+5μ=σ2+μ22n+2(μn3)+5μ=σ2+μ22n+2(μn3)μ2+5μ=σ2

Засоби та відхилення можна легко створити програмно. Наприклад, для перевірки засобів та відхилень із таблиці, що застосовується вище

n=2:10
m=c(0,2**(n+1))
v=2**(n+2)*(m[n]-n-3) + 5*m[n] - m[n]^2

Нарешті, я не впевнений, чого ти хотів, коли писав

коли хвостик вдарить і розірве смугу голови, граф почнеться з наступного перевороту.

Якщо ви мали на увазі, що таке розподіл ймовірностей в наступний раз, коли закінчується перший запуск або більше голів, то вирішальний момент міститься в цьому коментарі від @Glen_b , який полягає в тому, що процес починається знову після одного хвоста (див. початкова проблема, коли ви могли негайно отримати пробіг з або більше голів).nn

Це означає, що, наприклад, середній час до першої події становить , але середній час між подіями завжди (дисперсія однакова). Можливо також використовувати перехідну матрицю для дослідження довгострокових ймовірностей перебування в стані після того, як система "оселилася". Для отримання відповідної матриці переходу встановіть і щоб система негайно повернулася у стан зі стану . Тоді масштабований перший власний вектор цієї нової матриці дає стаціонарні ймовірності . При ці стаціонарні ймовірності єμ1μ+1Xk,k,=0X1,k=1H0Hn=4

probabilityH00.48484848H10.24242424H20.12121212H30.06060606H40.06060606H0.03030303
Очікуваний час між станами визначається зворотною ймовірністю. Тож очікуваний час між відвідуваннями .H=1/0.03030303=33=μ+1

Додаток : Програма Python, яка використовується для генерування точних ймовірностей для n= кількості послідовних передач голосів над перекиданнями N.

import itertools, pylab

def countinlist(n, N):
    count = [0] * N
    sub = 'h'*n+'t'
    for string in itertools.imap(''.join, itertools.product('ht', repeat=N+1)):
        f = string.find(sub)
        if (f>=0):
            f = f + n -1 # don't count t, and index in count from zero 
            count[f] = count[f] +1
            # uncomment the following line to print all matches
            # print "found at", f+1, "in", string
    return count, 1/float((2**(N+1)))

n = 4
N = 24
counts, probperevent = countinlist(n,N)
probs = [count*probperevent for count in counts]

for i in range(N):
    print '{0:2d} {1:.10f}'.format(i+1,probs[i]) 
pylab.title('Probabilities of getting {0} consecutive heads in {1} tosses'.format(n, N))
pylab.xlabel('toss')
pylab.ylabel('probability')
pylab.plot(range(1,(N+1)), probs, 'o')
pylab.show()

7

Я не впевнений, що бета-версія, ймовірно, буде особливо підходящою як спосіб вирішення цієї проблеми - "Кількість відтворень до ..." явно підрахунок. Це ціле число, і немає верхньої межі значень, де ви отримуєте позитивну ймовірність.

Навпаки, бета-розподіл є безперервним і з обмеженим інтервалом, тому це може здатися незвичним вибором. Якщо ви збігаєтесь із масштабованою бета-версією, функції накопичувального розподілу, можливо, наближаються не так погано до центральної частини дистрибутива. Однак якийсь інший вибір, ймовірно, буде значно кращим в будь-який хвіст.

Якщо у вас є або вираз для ймовірностей, або симуляції з розподілу (яке, імовірно, потрібно для того, щоб знайти приблизну бета-версію), чому б ви не використовували їх безпосередньо?


Якщо ваш інтерес полягає у пошуку виразів для ймовірностей або розподілі ймовірностей на кількість необхідних тостів, можливо, найпростішою ідеєю є робота з функціями, що генерують ймовірність. Вони корисні для виведення функцій з рекурсивних зв’язків між ймовірностями, які функції (pgf), в свою чергу, дозволяють нам витягувати всі необхідні ймовірності.

Ось публікація з хорошою відповіддю з алгебраїчним підходом, який пояснює як складнощі, так і добре використовує pgfs та рецидиви. Він містить конкретні вирази для середнього значення та відмінності у випадку "два успіхи поспіль":

/math/73758/probability-of-n-success-in-a-row-at-the-k-th-bernoulli-trial-geometric

Зрозуміло, чотири випадки успіху будуть значно складнішими. З іншого боку, дещо спрощує речі.p=12

-

Якщо ви просто хочете числові відповіді, моделювання є відносно простим. Оцінки ймовірності можна використовувати безпосередньо, або в якості альтернативи було б розумно згладити модельовані ймовірності.

Якщо вам потрібно використовувати приблизний розподіл, ви, ймовірно, можете вибрати щось добре.

Можливо, суміш негативних двочленів (версія «кількість випробувань», а не «кількість успіхів») може бути розумною. Слід очікувати, що два-три компоненти дадуть хороший наближення у всіх, крім крайнього хвоста.

Якщо ви хочете отримати єдиний безперервний розподіл для наближення, може бути кращий вибір, ніж бета-розподіл; було б щось дослідити.


Гаразд, я з тих пір зробив трохи алгебри, дехто грав із відносинами рецидивів, дещо моделював і навіть трохи думав.

До дуже хорошого наближення, я думаю, що ви можете піти, просто вказавши перші чотири ненульові ймовірності (що легко), обчисливши наступні кілька жмень значень за допомогою повторення (також просто), а потім використовувати геометричний хвіст, коли відношення рецидиву має згладжував спочатку менш плавне просування ймовірностей.

Схоже, ви можете використовувати геометричний хвіст з дуже високою точністю минулого k = 20, хоча, якщо ви переживаєте лише про скажімо, 4 точність фігури, ви могли б ввести її раніше.

Це дозволить вам обчислити pdf та cdf з хорошою точністю.

Я трохи стурбований - мої розрахунки дають, що середня кількість кидок становить 30,0, а стандартне відхилення - 27,1; якби я зрозумів, що ви маєте на увазі під «х» та «у», у вашому киданні ви отримали 40 та 28. 28 виглядає гаразд, але 40 здається зовсім далеким від того, що я отримав ... що змушує мене хвилюватися, я зробив щось не так.

====

ПРИМІТКА: Враховуючи складності між першим та наступним часом, з якими ми стикалися, я просто хочу бути абсолютно впевненим, що зараз ми рахуємо те саме.

Ось коротка послідовність із позначенням кінців послідовності '4 або більше Н' (вказує на проміжок між фліпками відразу після останнього Н)

       \/                     \/
TTHHHHHHTTHTTTTTHHTTHTTHHTHHHHHT...
       /\                     /\

Між цими двома знаками я налічую 23 обертання; тобто як тільки попередня послідовність (6 у цьому випадку) закінчується Н, ми починаємо рахувати одразу після Т, а потім підраховуємо право до кінця послідовності 5 H (у даному випадку), що закінчує наступну послідовність , що дає рахунок у даному випадку 23.

Так ви їх рахуєте?


З огляду на сказане вище, саме така ймовірна функція кількості кидків після одного запуску щонайменше 4 голів не буде завершена до наступного запуску щонайменше 4 голів.

Монети пробу

На перший погляд це здається, що він перших кількох значень рівний, потім має геометричний хвіст, але таке враження не зовсім точне - потрібен певний час, щоб влаштуватися на ефективно геометричний хвіст.

Я працюю над створенням відповідного наближення, яке ви можете використовувати, щоб відповісти на будь-які питання щодо ймовірностей, пов’язаних з цим процесом, з хорошою точністю, яка одночасно є максимально простою. Я маю досить гарне наближення, яке повинно спрацювати (що я вже перевірив на моделювання мільярдів кидків монет), але є певний (невеликий, але послідовний) ухил щодо ймовірностей, який наближає в частині діапазону, і я хотів би подивіться, чи можу я отримати додаткову цифру точності.

Можливо, найкращий спосіб зробити це просто надати вам таблицю функції ймовірності та cdf до точки, за якою можна використовувати геометричний розподіл.

Однак, це допоможе, якщо ви зможете дати деяке уявлення про коло речей, для чого потрібно використовувати наближення.


Я сподіваюся дотримуватися підходу pgf, але можливо, хтось із них буде більш досвідченим, ніж я, і може робити не лише чотири випадки, але й інші випадки.


Щоб, можливо, далі прояснити речі. Ідеальним буде розподіл, що регулює або моделює аппроміксат, що враховує флюксуацію ще 4-х успішних головок. Наприклад, якщо середній показник популяції становить 150 фліпів на 4 голови поспіль. Якщо 4 або більше голів прийшли на 8-ий фліп. Малоймовірно, що ще 4 або більше голів не потраплять ще на 20 або більше фліп (я просто здогадуюсь) і, можливо, буде ближче до середнього. Щось, що спричинило б мені ймовірність, коли його вірогідні 4 послідовних голови будуть відбуватися в межах певного діапазону кидок, було б ДУМОВО.
День

Коли у вас щойно було 4 голови, якщо ви отримуєте 5-ту голову, чи останній набір з 4 вважається ще одним набором 4, або чисельність скидається, тому ви починаєте знову з першої голови (як тільки побачите один)?
Glen_b -Встановити Моніку

(Я припускав, що якщо ви генеруєте багато послідовностей з чотирьох, то перекриття не буде - як тільки ви отримаєте 4, підрахунок перезавантаження S до 0.)
Glen_b -Встановіть Моніку

Його 4 голови або більше, як тільки ви отримаєте хвіст після 4 голів, смужка припиниться. Тоді підрахунок перезавантажиться, доки знову не з’явиться 4 голови чи більше.
День

4 голови або більше - я бачу, що це насправді те, що йдеться у питанні, я просто не зрозумів це цілком правильно. Отже, 9 голів не вважатимуться двома партіями по 4 голови. Це повністю змінює розрахунки, які я робив. Відношення рецидиву я використовував неправильно. Основне поняття - що у нього повинен бути геометричний хвіст, - але це все одно буде дотримуватися.
Glen_b -Встановіть Моніку

0

Ви хочете геометричного розподілу . З Вікіпедії:

Розподіл вірогідності числа випробувань Бернуллі, необхідних для досягнення одного успіху, підтримується на множині {1, 2, 3, ...}.X

Нехай голови Н - невдача, а хвости Т - успіх. Випадкова величина - це кількість обертів монети, необхідних для перегляду перших хвостів. Наприклад, буде послідовністю HHHT. Ось розподіл ймовірностей для :XX=4X

P(X=x)=(1p)x1p

Однак ми хочемо лише кількість голів. Давайте натомість визначимо як кількість голів. Ось його розподіл:Y=X1

P(Y+1=x)=(1p)x1pP(Y=x1)=(1p)x1pP(Y=y)=(1p)yp

для . Припускаємо справедливу монету, роблячи . Тому: y=0,1,2,3...p=0.5

P(Y=y)=(0.5)y(0.5)=0.5y+1

Це припускає, що кількість обертів досить велика (як 10 000). Для менших (кінцевих) нам слід додати коефіцієнт нормалізації до виразу. Простіше кажучи, нам потрібно переконатися, що загальна сума дорівнює 1. Ми можемо це зробити, поділивши на суму всіх ймовірностей, визначених тут як :nnα

α=i=0n1P(Y=i)

Це означає, що виправлена ​​форма , позначена , буде:YZ

P(Z=z)=1α(1p)zp=1i=0n1(1p)ip(1p)zp

Знову ж таки, , ми можемо зменшити це ще більше, використовуючи підсумок геомометричного ряду :p=0.5

P(Z=z)=1i=0n10.5i+10.5z+1=110.5n0.5z+1=0.5z+110.5n

І ми можемо бачити, що як , наша модифікована версія наближається до з попередньої.Z YnZY


2
Я думаю, що є деякі деталі питання, яке ви, можливо, пропустили. Якщо я погано не зрозумів питання, це не просто геометричне.
Glen_b -Встановіть Моніку

Я оновив його для обробки скінченних n. І так, зараз я бачу, що він хотів перемістити вікно, а не точні підрахунки. Шахта працює лише для ланцюгів, а не часу між ними.
Clintonmonk

Хороший перший крок - ознайомитись з графіком у публікації @ Glen_b і побачити, чи можна це повторити. Я також додав програму Python, яку я написав, щоб перевірити точні ймовірності. Якщо ви зможете це запустити, скаментуйте рядок, що друкує збіги, зменшуючи приблизно Nдо 5 до 7, і ви відчуєте добре події, які потрібні (примітка pylabпотрібна лише для побудови графіку).
TooTone

На жаль, у мене немає комп'ютера, на якому я можу це перевірити. Я почав використовувати процес Маркова, щоб показати, що стаціонарний sol'n був геометричним (і E [час повернутися] = 1 / ), але я не встиг його повністю . πi
Clintonmonk

Так, якщо в стаціонарному рішенні ви говорите про відношення послідовних ймовірностей хвоста, що сходяться до константи, то стаціонарне рішення справді є геометричним, як говорили обидві попередні відповіді.
Glen_b -Встановіть Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.