Doğru anladıysam, sorun veya daha fazla başın ilk çalışmasının bittiği zaman için bir olasılık dağılımı bulmaktır .n
Düzenle Olasılıklar matris çarpımı kullanılarak doğru ve hızlı bir şekilde belirlenebilir ve ortalamayı ve varyans olarak analitik olarak hesaplamak da mümkündür. burada , ancak muhtemelen dağıtımın kendisi için basit bir kapalı form yoktur. Belirli bir bozuk para sayısında, dağıtım esasen geometrik bir dağılımdır: bu formu daha büyük için kullanmak mantıklı olacaktır .σ 2 = 2 n + 2 ( μ - n - 3 ) - μ 2 + 5 μ μ = μ - + 1 tμ−=2n+1−1σ2=2n+2(μ−n−3)−μ2+5μμ=μ−+1t
Durum uzayındaki olasılık dağılımı zamanındaki evrim, durumları için bir geçiş matrisi kullanılarak modellenebilir , burada ardışık madeni paraların sayısı. Devletler aşağıdaki gibidir:n =k=n+2n=
- Devlet , kafa yokH0
- Devlet , kafaları, i 1 ≤ i ≤ ( n - 1 )Hii1≤i≤(n−1)
- Devlet , veya daha fazla kafa nHnn
- Devlet , veya daha fazla kafaları kuyruk izledi nH∗n
durumuna girdikten sonra diğer eyaletlere geri .H∗
Devletlere girebilecek devlet geçiş olasılıkları aşağıdaki gibidir
- Devlet : olasılığı gelen , , yani kendisi de dahil olmak üzere, ancak durum değil1H0 Hii=0,…,n-1Hn12Hii=0,…,n−1Hn
- Devlet : olasılığı gelen1Hi Hi-112Hi−1
- Devlet : olasılığı gelen ile durumundan, yani, kafaları ve kendisi1Hn Hn-1,Hnn-112Hn−1,Hnn−1
- Devlet : olasılık gelen gelen ve olasılık 1 (kendisi)1H∗ HnH∗12Hn'H*
Örneğin, için bu, geçiş matrisini verirn = 4
X= ⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪'H0'H1'H2'H3'H4'H*'H012120000'H112012000'H212001200'H312000120'H400001212'H*000001⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪
Durum için , olasılıkların ilk vektör olan . Genelde ilk vektörde
p p = ( 1 , 0 , 0 , 0 , 0 , 0 ) p i = { 1 i = 0 0 i > 0n = 4pp =(1,0,0,0,0,0)
pben= { 10i = 0i > 0
vektörü , belirli bir süre için uzayda olasılık dağılımıdır . Gerekli cdf zaman içinde bir cdf'dir ve en az jeton dönüşünü bitirmiş olma olasılığıdır . Bu aşağıdaki gibi ifade edilebilir Devletin ulaşmak belirterek, ardışık para döndürür ve vadede verilmesinin ardından 1 timestep. n t ( X t + 1 p ) k H ∗pnt( Xt + 1p )k'H*
Zaman içinde gerekli pmf olarak yazılabilir . Ancak sayısal olarak bu, çok daha küçük bir sayıyı ( ) çok küçük bir sayıdan ayırmayı içerir ve hassasiyeti kısıtlar. Bu nedenle hesaplamalarda yerine daha iyidir. Sonra ortaya çıkan matrisi için yazmak , pmf . Herhangi bir için çalışan aşağıdaki basit R programında uygulanan şey budur , ≈ 1 X k , k = 0 X ′ X ′ = X | X k , k = 0 ( X ′ t + 1 p ) k n ≥ 2( Xt + 1p )k- ( Xtp )k≈ 1Xk , k= 0X'X'= X| Xk , k= 0( 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")
Üst grafik pmf'yi 0 ile 100 arasında gösterir. Alt iki grafik pmf'yi 10 ile 110 arasında ve ayrıca 1010 ile 1110 arasında gösterir, öz benzerliği ve @Glen_b'in dediği gibi dağılımın olabileceği gibi görünür çökme döneminden sonra geometrik bir dağılım ile yaklaşmıştır.
bir özvektör dekompozisyonu kullanılarak bu davranışı daha da araştırmak mümkündür . Bunu yapmak, yeterince büyük , , burada , denkleminin çözümü olduğunu gösterir. . Bu yaklaşım, artan ile daha iyi hale gelir ve hesaplaması için aşağıdaki günlük hatası grafiğinde gösterildiği gibi değerine bağlı olarak yaklaşık 30 ila 50 aralığında için mükemmeldir (gökkuşağı renkleri, kırmızı için solt p t + 1 ≈ c ( n ) p t c ( n ) 2 n + 1 c n ( c - 1 ) + 1 = 0 n t n p 100 n = 2 tXtpt + 1≈ c ( n ) ptc ( n )2n + 1cn( c - 1 ) + 1 = 0ntnp100n = 2). (Aslında sayısal nedenlerden dolayı, daha büyük olduğunda olasılıklar için geometrik yaklaşımı kullanmak daha iyi olur .)t
Dağıtım için kullanılabilir kapalı bir form olabileceğinden şüpheleniyorum (ed) çünkü bunları aşağıdaki gibi hesapladığım araçlar ve varyanslar
n2345678910Anlamına gelmek715316312725551110232047Varyans241447363392147206169625344010291204151296
(Bunu elde etmek için zaman ufkunu artırmak t=100000
zorunda kaldım, ancak program hala tüm için yaklaşık 10 saniyeden daha kısa sürede koştu .) Özellikle çok açık bir örüntü izler; varyanslar daha az. Geçmişte daha basit, 3 durumlu bir geçiş sistemini çözdüm, ancak şimdiye kadar bu sisteme basit bir analitik çözümle şansım yok. Belki farkında olmadığım bazı yararlı teoriler vardır, örneğin geçiş matrisleriyle ilgili.n = 2 , … , 10
Düzenleme : çok yanlış başlar sonra ben bir yineleme formülü ile geldi. Let durum olma ihtimali olduğu süre içinde . Let halde olma olasılığı toplu olarak süre içinde, örneğin, son durum, . NBpben , t'Hbentq∗ , t'H*t
- Verilen herhangi bir , ve , alanı üzerinde bir olasılık dağılımıdır ve hemen altında olasılıklarının 1 eklediği gerçeğini kullanıyorum.tpi,t,0≤i≤nq∗,ti
- p∗,t zaman içinde bir olasılık dağılımı oluşturur . Daha sonra bu gerçeği araç ve varyansları elde etmede kullanıyorum.t
zamanında birinci durumda olma olasılığı , yani kafa yok, zamanından dönebilen durumlardan (toplam olasılık teoremini kullanarak) geçiş olasılıkları tarafından verilir .
Ancak durumundan e ulaşmak için adım alır , bu nedenle ve
Bir kez daha toplam olasılık teoremi ile durumundat+1t
p0,t+1=12p0,t+12p1,t+…12pn−1,t=12∑i=0n−1pi,t=12(1−pn,t−q∗,t)
H0Hn−1n−1pn−1,t+n−1=12n−1p0,tpn−1,t+n=12n(1−pn,t−q∗,t)
Hnzaman olduğunu
ve gerçeğini kullanarak ,
Bu nedenle, ,
t+1pn,t+1=12pn,t+12pn−1,t=12pn,t+12n+1(1−pn,t−n−q∗,t−n)(†)
q∗,t+1−q∗,t=12pn,t⟹pn,t=2q∗,t+1−2q∗,t2q∗,t+2−2q∗,t+1=q∗,t+1−q∗,t+12n+1(1−2q∗,t−n+1+q∗,t−n)
t→t+n2q∗,t+n+2−3q∗,t+n+1+q∗,t+n+12nq∗,t+1−12n+1q∗,t−12n+1=0
Bu nüks formülü ve vakalarını kontrol eder . Örneğin için bu formülün bir grafiği kullanarak makine siparişi doğruluğu verir.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
Düzenle Bu yineleme ilişkisinden kapalı bir form bulmak için nereye gideceğini göremiyorum. Ancak, bir ortalama için kapalı bir form elde etmek mümkün.
den başlayarak ve ,
gelen miktarda alarak için ortalama formülü uygulamak ve çekerek olasılık dağılımını verir
(†)p∗,t+1=12pn,t
pn,t+12n+1(2p∗,t+n+2−p∗,t+n+1)+2p∗,t+1=12pn,t+12n+1(1−pn,t−n−q∗,t−n)(†)=1−q∗,t
t=0∞E[X]=∑∞x=0(1−F(x))p∗,t2n+1∑t=0∞(2p∗,t+n+2−p∗,t+n+1)+2∑t=0∞p∗,t+12n+1(2(1−12n+1)−1)+22n+1=∑t=0∞(1−q∗,t)=μ=μ
Bu, durumuna ulaşmanın ortalamasıdır ; kafaların çalışmasının sonu için ortalama bundan daha azdır.
H∗
Düzenleme formülünü kullanarak benzer bir yaklaşımbu sorudan sapma verir.
E[X2]=∑∞x=0(2x+1)(1−F(x))
∑t=0∞(2t+1)(2n+1(2p∗,t+n+2−p∗,t+n+1)+2p∗,t+1)2∑t=0∞t(2n+1(2p∗,t+n+2−p∗,t+n+1)+2p∗,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∞(2t+1)(1−q∗,t)=σ2+μ2=σ2+μ2=σ2+μ2=σ2+μ2=σ2
Araçlar ve varyanslar programlı olarak kolayca oluşturulabilir. Örneğin, yukarıdaki tablodan ortalamaları ve sapmaları kontrol etmek için
n=2:10
m=c(0,2**(n+1))
v=2**(n+2)*(m[n]-n-3) + 5*m[n] - m[n]^2
Sonunda, yazarken ne istediğinden emin değilim
bir kuyruk vurduğunda ve kafa çizgisini kırarsa, sayı bir sonraki kapaktan tekrar başlar.
veya daha fazla başın ilk çalışmasının bittiği bir sonraki olasılık dağılımının ne olduğunu kastediyorsanız , önemli nokta @Glen_b tarafından bu yorumda yer almaktadır, bu da sürecin bir kuyruktan sonra tekrar başlamasıdır (cf hemen veya daha fazla kafa çalıştırabileceğiniz ilk sorun ).nn
Bu, örneğin, ilk olayın ortalama süresinin , ancak olaylar arasındaki ortalama sürenin her zaman olduğu anlamına gelir (varyans aynıdır). Sistem "yerleştikten" sonra bir durumda bulunma ihtimalini araştırmak için bir geçiş matrisi kullanmak da mümkündür. Uygun geçiş matrisi elde etmek için, set ve yüzden derhal durum sistem geri durumundan . Sonra bu yeni matrisin ölçekli ilk özvektörü sabit olasılıklar verir . İle , bu sabit olasılıklarμ−1μ+1Xk,k,=0X1,k=1H0H∗n=4
H0H1H2H3H4H∗probability0.484848480.242424240.121212120.060606060.060606060.03030303
Durumlar arasında beklenen süre, olasılığın karşılıklı değeri tarafından verilir. Dolayısıyla ziyaretler arasında beklenen süre .
H∗=1/0.03030303=33=μ+1
Ek : Kesin olasılıklar üretmek için kullanılan Python programı n
= N
fırlatmalar üzerinde ardışık kafa sayısı .
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()