回答:
これは、次のように幾何分布を使用して回答できます。
成功の確率p(「ヘッド」)を持つ最初の成功(ヘッド)の前の失敗数k-1は、次の式で与えられます。
kは実験を終了する最初の「ヘッド」を含む投げの合計数です。
そして、与えられたpに対するXの期待値はです。
ここで期待値の派生を見つけることができます。暗黙の最後の手順は次のとおりです。
は式にプラグインされます。
r=1−p。では、に簡素化
、上記の使用を正当化する。]
あるいは、最初の成功までの失敗数として解釈される負の二項分布を使用できます。確率質量関数は、p(rの成功を達成する前の失敗の数nとして与えられます| 各ベルヌーイ試行における成功の特定の確率pが与えられます):
試行回数n + rの予想は、次の一般式で与えられます。
既知のパラメーターr = 1およびp = 0.5が与えられた場合、
したがって、最初のヘッドを取得する前に2回のトスを行って、予想されるテールの数をます。
モンテカルロシミュレーションを実行して、それを証明できます。
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
そしてそれをどのように証明するのでしょうか?
チケットを箱から取り出してゲームをモデル化します。 チケットには2種類あります。1つには「やめて、頭を投げた」と書かれています。もう一方には「続けて、尻尾を投げた」と書かれています。最初のケースでの追加のトスの予想数はであり、2番目のケースでの追加のトスの予想数はです-まだわかりません。x
それぞれのチケットにこれらの期待を書きます。これらはチケットの値です。
私たちが知っている3つのことは:
「停止」チケット(値)を描く可能性はです。p
「継続」チケット(値)を描く可能性はです。1 − p
このシングルドローの期待値は、定義により、すべての種類のチケットの確率加重値の合計です。
この数を解釈してみましょう。頭が現れるまでに必要な追加のトスの予想数です。チケットのドローはコインのトスに対応するため、チケットを取得するために必要なドローを1つ追加すると、予想されるトスの数(自体)が得られます。これらの2つの式を等式化すると、
解くことで最初の質問に答えます。 テールの数は常にドローの数より1少ないため、テールの予想数もドローの予想数より1少なくなければなりません。 したがって、は2番目の質問に答えます。
トスの非常に長いシーケンスを検討することにより、2番目の直感的に明確なソリューションを得ることができます。いくつのゲームがプレイされましたか?回答:頭の数(シーケンスが一連の尾で終わる場合、さらに1つの不完全なゲーム)。ヘッドはいくつ必要ですか?回答:。この番号を呼びます。大数の弱法則は、と主張し、実際のヘッドの数が非常に近い可能性が高いことである提供十分な大きさです。したがって、と間の数で与えられる平均ゲーム長、任意に近いp n h p n n x n / h n /(h + 1 )n /(p n )x、そこから自体に等しくなければなりません。
これは、ゲームの長さの分布をシミュレートする非常に効率的な方法につながります。これが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
シードを()に設定した後にこのコードを実行すると、出力はとわずかな違いしかありませんでした。xset.seed(17)
Xを、頭が得られるまでに必要なコインフリップの数とします。したがって、E(X)(Xの期待値)を計算する必要があります。
最初のフリップが何であれ、E(X)を調整できます。E(X | H)が、最初のフリップで頭を獲得した場合の残りのコインフリップの数を示します。同様に、最初のフリップでテールを得た場合、E(X | T)は残りのコインフリップの数を示します。
最初のステップ調整により、
さて、は最初のヘッドを受け取った後の残りのフリップを示したので、1ヘッドを取得した後にフリップする必要がないので、0に等しくなります。
そして、です。これは、1頭の獲得に向けて何の進展もなかったためです。
したがって、
=>