จำนวนที่คาดว่าจะโยนจนกว่าจะถึงหัวครั้งแรกขึ้นมา


18

สมมติว่าเหรียญยุติธรรมถูกโยนซ้ำ ๆ จนกว่าจะได้รับหัวเป็นครั้งแรก

  • จำนวนของการโยนที่คาดว่าจะต้องมีเท่าไหร่?
  • จำนวนหางที่คาดหวังที่จะได้รับก่อนที่จะได้รับหัวแรกคืออะไร?

2
ลิงค์นี้มีคำตอบสำหรับคำถามทั้งสอง: en.wikipedia.org/wiki/Geometric_distribution
swmo

2
หากนี่เป็นคำถามที่ศึกษาด้วยตนเองโปรดเพิ่มแท็ก
ซีอาน

คำตอบ:


17

สามารถตอบได้โดยใช้การแจกแจงเชิงเรขาคณิตดังนี้:

จำนวนความล้มเหลวk - 1ก่อนที่จะประสบความสำเร็จครั้งแรก (หัว) ด้วยความน่าจะเป็นของความสำเร็จp ("หัว") จะได้รับจาก:

p(X=k)=(1p)k1p

กับ kเป็นจำนวนทอยรวมถึง 'หัว' แรกที่ยุติการทดสอบ

และคาดว่าค่าตัวของXสำหรับรับหน้าเป็น 21/p=2

ความเป็นมาของมูลค่าที่คาดว่าจะสามารถพบได้ที่นี่ ขั้นตอนสุดท้ายที่เหลืออยู่โดยนัยควรเป็นดังนี้:

เพื่อเสียบเข้ากับนิพจน์:ddr11r=1(1r)2

2 ด้วยr=1-pทำให้ง่ายขึ้นE(X)=p1px=1x rx=p1p r (ddr11r)=p1p r 1(1r)2r=1p

แสดงให้เห็นถึงการใช้งานข้างต้น]E(X)=1p

อีกวิธีหนึ่งเราสามารถใช้การแจกแจงทวินามลบที่ตีความว่าเป็นจำนวนความล้มเหลวก่อนที่จะประสบความสำเร็จครั้งแรก ฟังก์ชันมวลความน่าจะเป็นจะได้รับเป็นp (จำนวนความล้มเหลว, n , ก่อนที่จะบรรลุความสำเร็จr | ได้รับความน่าจะเป็นที่แน่นอน p , ของความสำเร็จในการทดลองแต่ละครั้งของเบอร์นูลลี):

p(n;r,p)=(n+r1r1)pr(1p)n

ความคาดหวังสำหรับจำนวนการทดลองn + rได้รับจากสูตรทั่วไป:

r(1p)

รับพารามิเตอร์ที่เรารู้จัก: r = 1และp = 0.5 ,

E(n+r;1,0.5)=r1p=110.5=2

ดังนั้นเราสามารถคาดหวังที่จะทำให้ทั้งสองโยนก่อนที่จะได้รับหัวครั้งแรกกับจำนวนที่คาดหวังของหางเป็น 1E(n+r)r=1

เราสามารถใช้การจำลอง Monte Carlo เพื่อพิสูจน์ได้:

   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

1
G(p)

And the expected value of X for a given p is 1/p and how is one supposed to prove that?
Dilip Sarwate

There is a nice derivation on math.stackexchange.com/questions/235927/… But I can include the end of that derivation on my response.
Antoni Parellada

4

Model the game by drawing a ticket out of a box. There are two kinds of tickets. On one is written "Stop, you tossed heads"; on the other is written "Continue, you tossed tails." The expected number of additional tosses in the first case is 0 while the expected number of additional tosses in the second case is x, say--we don't know it yet and have to figure it out.

Write these expectations on their respective tickets: these are the values of the tickets.

The three things we do know are:

  1. The chance of drawing a "Stop" ticket (with value 0) is p.

  2. The chance of drawing a "Continue" ticket (with value x) is 1p.

  3. The expectation of this single draw is, by definition, the sum of the probability-weighted values on all kinds of tickets:

    p×0+(1p)×x=(1p)x.

Let us interpret this number: it is the expected number of additional tosses that will be needed until a head appears. Since draws of tickets correspond to coin tosses, adding in the one draw needed to obtain a ticket gives us the expected number of tosses--which is just x itself. Equating these two expressions,

x=1+(1p)x.

Solving for x answers the first question. Since the number of tails is always one less than the number of draws, the expected number of tails also must be one less than the expected number of draws. Therefore x1 answers the second question.


A second intuitively clear solution can be obtained by contemplating a very long sequence of n tosses. How many games were played? Answer: the number of heads (plus one more incomplete game if the sequence ends with a series of tails). How many heads are expected? Answer: pn. Call this number h. The Weak Law of Large Numbers asserts that the actual number of heads is highly likely to be very close to pn provided n is sufficiently large. Therefore the average game length x, given by some number between n/h and n/(h+1), will be arbitrarily close to n/(pn), whence it must equal x 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 17 (set.seed(17)), the output differed from x by only a tiny amount.


Could you help me understand why the "x" of the drawing game and the "x" in the second equation represent the same thing? I have no idea how do you get the second equation. Thank you very much.
Light

@Light The second equation is explained in the paragraph preceding it.
whuber

♦ Thank u for ur reply. I've read the definition of x and the paragraph you said again and again, but I still don't understand. Let me say my understanding and pls help me know if I misunderstand sth. From my understanding, x is the "additional" expected number in the drawing tickets game, which is a different game from the original game, beacause the expectation(let me call it "E") of the coin game includes the first tossing. In my opinion, E should be "x + 1", but they're not the same thing. In the equation, you made the x and E the same thing that makes me confused. Thank u.
Light

2

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

E(X)=12(1+E(X|H))+12(1+E(X|T))

Now, as E(X|H) 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, E(X|T)=E(X), as we did not make any progress towards getting 1 head.

So, E(X)=12(1+0)+12(1+E(X))

=> E(X)=2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.