Jika saya mengerti dengan benar, maka masalahnya adalah menemukan distribusi probabilitas untuk waktu di mana proses pertama atau lebih kepala berakhir.n
Sunting Peluang dapat ditentukan secara akurat dan cepat menggunakan perkalian matriks, dan juga dimungkinkan untuk secara analitik menghitung rata-rata sebagai dan variansnya sebagai σ 2 = 2 n + 2 ( μ - n - 3 ) - μ 2 + 5 μ di mana μ = μ - + 1μ−=2n+1−1σ2=2n+2(μ−n−3)−μ2+5μμ=μ−+1, tetapi mungkin tidak ada bentuk tertutup sederhana untuk distribusi itu sendiri. Di atas sejumlah koin membalik distribusi pada dasarnya adalah distribusi geometrik: masuk akal untuk menggunakan formulir ini untuk lebih besar .t
Evolusi dalam waktu distribusi probabilitas dalam ruang keadaan dapat dimodelkan menggunakan matriks transisi untuk negara , di mana n = jumlah membalik koin berturut-turut. Negara-negara adalah sebagai berikut:k=n+2n=
- Status , tanpa kepalaH0
- Sebutkan , i heads, 1 ≤ i ≤ ( n - 1 )Hii1≤i≤(n−1)
- Sebutkan , n atau lebih kepalaHnn
- Sebutkan , n atau lebih kepala diikuti oleh ekorH∗n
Setelah Anda masuk ke kondisi Anda tidak dapat kembali ke negara bagian lain.H∗
Probabilitas transisi negara untuk masuk ke negara adalah sebagai berikut
- Status : probabilitas 1H0 dariHi,i=0,…,n-1, yaitu termasuk sendiri tetapi tidak menyatakanHn12Hii=0,…,n−1Hn
- Status : probabilitas 1Hi dariHi-112Hi−1
- Status : probabilitas 1Hn dariHn-1,Hn, yaitu dari negara dengankepalan-1dan dirinya sendiri12Hn−1,Hnn−1
- Status : probabilitas 1H∗ dariHndan probabilitas 1 dariH∗(sendiri)12HnH∗
Jadi misalnya, untuk , ini memberikan matriks transisin=4
X=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪H0H1H2H3H4H∗H012120000H112012000H212001200H312000120H400001212H∗000001⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪
Untuk kasus , vektor probabilitas awal p adalah p = ( 1 , 0 , 0 , 0 , 0 , 0 ) . Secara umum vektor awal memiliki
p i = { 1 i = 0 0 i > 0n=4pp=(1,0,0,0,0,0)
pi={10i=0i>0
Vektor adalah distribusi probabilitas dalam ruang untuk waktu tertentu. Cdf yang dibutuhkan adalah cdf dalam waktu , dan merupakan probabilitas untuk melihat setidaknya n koin membalik pada saat t . Hal ini dapat ditulis sebagai ( X t + 1 p ) k , mencatat bahwa kita mencapai keadaan H * 1 timestep setelah terakhir dalam jangka koin berturut-turut membalik.pnt(Xt+1p)kH∗
PMF yang diperlukan pada waktunya dapat ditulis sebagai . Namun secara numerik ini melibatkan pengambilan angka yang sangat kecil dari angka yang jauh lebih besar ( ≈ 1 ) dan membatasi presisi. Oleh karena itu dalam perhitungan lebih baik untuk set X k , k = 0 bukan 1. Kemudian menulis X ' untuk menghasilkan matriks X ' = X | X k , k = 0(Xt+1p)k−(Xtp)k≈1Xk,k=0X′X′=X|Xk,k=0, PMF adalah . Inilah yang diterapkan dalam program R sederhana di bawah ini, yang berfungsi untuk setiap n ≥ 2 ,(X′t+1p)kn≥2
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")
Plot atas menunjukkan pmf antara 0 dan 100. Dua plot yang lebih rendah menunjukkan pmf antara 10 dan 110 dan juga antara 1010 dan 1110, menggambarkan kemiripan diri dan fakta bahwa seperti yang dikatakan @Glen_b, distribusi sepertinya bisa didekati dengan distribusi geometrik setelah periode pengendapan.
Ini mungkin untuk menyelidiki perilaku ini lebih lanjut menggunakan dekomposisi eigen dari . Melakukan hal menunjukkan bahwa untuk cukup besar t , p t + 1 ≈ c ( n ) p t , di mana c ( n ) adalah solusi dari persamaan 2 n + 1 c n ( c - 1 ) + 1 = 0 . Perkiraan ini menjadi lebih baik dengan meningkatnya n dan sangat baik untuk tXtpt+1≈c(n)ptc(n)2n+1cn(c−1)+1=0ntdalam kisaran dari sekitar 30 hingga 50, tergantung pada nilai , seperti yang ditunjukkan dalam plot kesalahan log di bawah ini untuk menghitung p 100 (warna pelangi, merah di kiri untuk n = 2 ). (Bahkan untuk alasan numerik, sebenarnya akan lebih baik menggunakan perkiraan geometri untuk probabilitas ketika t lebih besar.)np100n=2t
Saya menduga (ed) mungkin ada bentuk tertutup yang tersedia untuk distribusi karena cara dan varians seperti yang telah saya hitung sebagai berikut
n2345678910Mean715316312725551110232047Variance241447363392147206169625344010291204151296
(Saya harus menaikkan angkanya ke cakrawala waktu t=100000
untuk mendapatkan ini tetapi program masih berjalan untuk semua dalam waktu kurang dari sekitar 10 detik). Sarana khususnya mengikuti pola yang sangat jelas; varians kurang begitu. Saya telah memecahkan sistem transisi 3-negara yang lebih sederhana di masa lalu, tetapi sejauh ini saya tidak beruntung dengan solusi analitik sederhana untuk yang satu ini. Mungkin ada beberapa teori berguna yang tidak saya sadari, misalnya berkaitan dengan matriks transisi.n=2,…,10
Sunting : setelah banyak kesalahan awal saya membuat rumus perulangan. Biarkan menjadi probabilitas berada dalam keadaan H i pada waktu t . Misalkan q ∗ , t menjadi probabilitas kumulatif berada dalam keadaan H ∗ , yaitu keadaan akhir, pada waktu t . NBhalsaya , tHsayatq∗ , tH∗t
- Untuk setiap , p i , t , 0 ≤ i ≤ n dan q ∗ , t adalah distribusi probabilitas di atas ruang i , dan segera di bawah ini saya menggunakan fakta bahwa probabilitasnya menambah 1.thalsaya , t, 0 ≤ i ≤ nq∗ , tsaya
- membentuk distribusi probabilitas dari waktu ke waktu t . Kemudian, saya menggunakan fakta ini untuk menurunkan cara dan varians.hal∗ , tt
Probabilitas berada pada keadaan pertama pada waktu , yaitu tanpa kepala, diberikan oleh probabilitas transisi dari keadaan yang dapat kembali ke sana dari waktu t (menggunakan teorema total probabilitas).
p 0 , t + 1t + 1t
Tetapi untuk pergi dari keadaanH0keHn-1membutuhkann-1langkah, makapn-1,t+n-1=1
hal0 , t + 1= 12hal0 , t+ 12hal1 , t+ ... 12haln - 1 , t= 12∑i = 0n - 1halsaya , t= 12( 1 - haln , t- q∗ , t)
H0Hn - 1n - 1dan
pn-1,t+n=1haln - 1 , t + n - 1= 12n - 1hal0 , t
Sekali lagi dengan teorema total probabilitas, probabilitas berada pada keadaan
Hnpada waktu
t+1adalah
p n , t + 1haln - 1 , t + n= 12n( 1 - haln , t- q∗ , t)
Hnt + 1
dan menggunakan fakta bahwa
q∗,t+1-q∗,t=1haln , t + 1= 12haln , t+ 12haln - 1 , t= 12haln , t+ 12n + 1( 1 - haln , t - n- q∗ , t - n)( † )
,
2 q ∗ , t + 2 - 2 q ∗ , t + 1q* , T + 1- q∗ , t= 12haln , t⟹haln , t= 2 q* , T + 1- 2 q∗ , t
Maka, mengubah
t→t+n,
2q∗,t+n+2-3q∗,t+n+1+q∗,t+n+12 q∗ , t + 2- 2 q* , T + 1= q* , T + 1- q∗ , t+ 12n + 1( 1 - 2 q∗ , t - n + 1+ q∗ , t - n)
t → t + n2 q∗ , t + n + 2- 3 q∗ , t + n + 1+ q∗ , t + n+ 12nq* , T + 1- 12n + 1q∗ , t- 12n + 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
Sunting Saya tidak bisa melihat ke mana harus mencari formulir tertutup dari relasi perulangan ini. Namun, adalah mungkin untuk mendapatkan bentuk tertutup untuk mean.
( † )hal* , T + 1= 12haln , t
haln , t + 12n + 1( 2 hal∗ , t + n + 2- hal∗ , t + n + 1) +2 p* , T + 1= 12haln , t+ 12n + 1( 1 - haln , t - n- q∗ , t - n)( † )= 1 - q∗ , t
t = 0∞E[ X] = ∑∞x = 0( 1 - F( x ) )hal∗ , t2n + 1∑t = 0∞( 2 hal∗ , t + n + 2- hal∗ , t + n + 1) +2 ∑t = 0∞hal* , T + 12n + 1( 2 ( 1 - 12n + 1) -1) +22n + 1= ∑t = 0∞( 1 - q∗ , t)= μ= μ
H∗
E[ X2] = ∑∞x = 0( 2 x + 1 ) ( 1 - F( x ) )
∑t = 0∞( 2 t + 1 ) ( 2n + 1( 2 hal∗ , t + n + 2- hal∗ , t + n + 1) +2 p* , T + 1)2 ∑t = 0∞t ( 2n + 1( 2 hal∗ , t + n + 2- hal∗ , t + n + 1) +2 p* , T + 1) +μ2n + 2( 2 ( μ - ( n + 2 ) + 12n + 1) -(μ-(n+1)) ) +4(μ-1)+ μ2n + 2( 2 ( μ - ( n + 2 ) ) - ( μ - ( n + 1 ) ) ) + 5 μ2n + 2( μ - n - 3 ) + 5 μ2n + 2( μ - n - 3 ) - μ2+ 5 μ= ∑t = 0∞( 2 t + 1 ) ( 1 - q∗ , t)= σ2+ μ2= σ2+ μ2= σ2+ μ2= σ2+ μ2= σ2
Sarana dan varians dapat dengan mudah dihasilkan secara programatik. Misal untuk mengecek nilai mean dan varians dari tabel di atas
n=2:10
m=c(0,2**(n+1))
v=2**(n+2)*(m[n]-n-3) + 5*m[n] - m[n]^2
Akhirnya, saya tidak yakin apa yang Anda inginkan ketika Anda menulis
ketika ekor menyentuh dan mematahkan garis-garis kepala, hitungan akan mulai lagi dari flip berikutnya.
nn
μ - 1μ + 1Xk , k ,= 0X1 , k= 1H0H∗n = 4
H0H1H2H3H4H∗kemungkinan0.484848480,242424240,121212120,060606060,060606060,03030303
H∗= 1 / 0,03030303 = 33 = μ + 1
Lampiran : Program Python yang digunakan untuk menghasilkan probabilitas yang tepat untuk n
= jumlah N
lemparan kepala berturut-turut .
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()