コインが他のコインよりも優れている確率はどれくらいですか?


8

2つのバイアスされたコインがC1あり、C2どちらも頭を向ける確率が異なるとします。

私たちはC1 n1時間を投げてH1頭を出し、C2 n2時間をかけてH2頭を出します。そして、1つのコインの表の比率が他のコインよりも高いことがわかります。

あるコインが他のコインよりも優れていると言える確率はどのくらいですか?(ここでの方が良いということは、実際に頭を回す可能性が高いということです)


2
これは、コインの頭を上げる確率の推定値が異なるかどうかをテストしなければならないという仮説テストの問題ではありません。
2018

3
あるコインが別のコインよりも良い確率が必要な場合は、ベイジアンアプローチでそれを行うことができます。必要なのは、確率の事前分布だけです。これはかなり簡単な計算です。
Glen_b-モニカを復活させる

2
このデータが、一方のコインがもう一方のコインよりも優れている可能性を与える方法はありません。コインの配布方法については、以前の配布に関する追加情報/前提条件が必要です。ベイジアンアプローチで言うが、結果は異なります多くのことを、あなたの前の仮定に基づいて。たとえば、それらのコインが(アプリオリ)である場合よりも通常のコインである場合、等しい可能性が非常に高く、一方が他方よりも「より良い」というまともな確率を見つけるには大量の試行が必要になります(確率が高いため)誤って異なる2つのテストを行った2つの類似のコインを取得した)
Sextus Empiricus

1
@katosh、以前と同じです。コインがp = 0.49からp = 0.51の間にあるとします。そのような場合、コインが0と1の間で均一に分布しているという仮定を使用すると、割り当てる確率は、更新された確率ではなく、更新された悪い仮定に似ています。間違ったコインに「より良い」という高い確率を割り当てることが多すぎます。結果をコインの「可能性」が他のコインよりも「優れている」と考えることは間違っています。悪いデータの入力=悪い結果の出力。この問題では、数学を解くことに取り組むのではなく、知識を解くことに取り組むべきです。
Sextus Empiricus

1
そのようにそれは正しく述べられています。それは「信じる」ことであり、これは「確率」とそれほど簡単には同じではありません。
Sextus Empiricus

回答:


7

2つのコインが等しいという事実を考えると、その観測を行う確率を計算するのは簡単です。これはフィッシャーの正確確率検定によって行うことができます。これらの観察を考えると

coin 1coin 2headsH1H2tailsn1H1n2H2

試行回数、、および頭の合計数が与えられた場合にコインが等しいときにこれらの数を観察する確率は、 n1n2H1+H2

p(H1,H2|n1,n2,H1+H2)=(H1+H2)!(n1+n2H1H2)!n1!n2!H1!H2!(n1H1)!(n2H2)!(n1+n2)!.

しかし、あなたが求めているのは、1枚のコインがより良い確率です。コインの偏りについての信念について議論するので、結果を計算するためにベイジアンアプローチを使用する必要があります。ベイズ推定では、「信念」という用語は確率としてモデル化され、2つの用語は同じ意味で使用されます(ベイズ確率)。コインが頭を投げる確率をと呼びます。このため、観察後に事後分布、によって与えられるベイズの定理: 確率密度関数(pdf)ipipi f p i | H in i= f H i | p in if p i

f(pi|Hi,ni)=f(Hi|pi,ni)f(pi)f(ni,Hi)
f(Hi|pi,ni)個々の試行はベルヌーイ実験であるため、二項確率によって与えられます: 私は仮定しますに関する事前の知識は、がと間のどこかに等しい確率で存在する可能性があるため、です。したがって、はです。
f(Hi|pi,ni)=(niHi)piHi(1pi)niHi
fpipi01fpi=1fHi|pinifpi=fHi|pinif(pi)pi01f(pi)=1f(Hi|pi,ni)f(pi)=f(Hi|pi,ni)

を計算するために、pdfの積分は1つのなければならないという事実を使用します。したがって、分母はそれを達成するための一定の要素になります。既知のpdfがあり、これは、ベータ分布である定数因子のみがノミネーターと異なります。したがって、 f(ni,Hi)01f(p|Hi,ni)dp=1、F P I | H 、IN I= 1

f(pi|Hi,ni)=1B(Hi+1,niHi+1)piHi(1pi)niHi.

独立したコインの確率のペアのpdfは、

f(p1,p2|H1,n1,H2,n2)=f(p1|H1,n1)f(p2|H2,n2).

今度は、ケースでこれを統合して、コイン方がコインよりも優れていることを確認する必要があります。 p1>p212

P(p1>p2)=010p1f(p1,p2|H1,n1,H2,n2)dp2dp1=01B(p1;H2+1,n2H2+1)B(H2+1,n2H2+1)f(p1|H1,n1)dp1

この最後の積分を解析的に解くことはできませんが、数値を接続した後、コンピュータで数値的に解くことができます。はベータ関数で、は不完全なベータ関数です。ことに注意してくださいこれは、が継続変数であり、とまったく同じになることはないためです。B(,)B(;,)P(p1=p2)=0p1p2


に関する以前の仮定とその備考に関して:多くの考えをモデル化するための良い代替案は、ベータ分布です。これは、最終的な確率 このようにして、、が大きくても等しい通常のコインへの強いバイアスをモデル化できます。これは、コインを回追加で投げ、頭を受け取ることと同じです。したがって、より多くのデータを持っていることと同じです。は、作成する必要のないトスの量ですf(pi)Beta(ai+1,bi+1)

P(p1>p2)=01B(p1;H2+1+a2,n2H2+1+b2)B(H2+1+a2,n2H2+1+b2)f(p1|H1+a1,n1+a1+b1)dp1.
aibiai+biaiai+bi これを事前に含めると。

OPは、2枚のコインは両方とも未知の程度に偏っていると述べました。だから私はすべての知識が観察から推測されなければならないことを理解しました。これが、例えば通常のコインのように結果にバイアスをかけないようにする前に、情報がないことを選択した理由です。

すべての情報はコインごとに形式で伝達できます。有益な事前情報がないということは、どのコインが高い確率でより良いかを決定するために、より多くの観察が必要であることを意味します。(Hi,ni)


Rのコードは、均一な事前を使用して関数を提供します。 P(n1, H1, n2, H2) =P(p1>p2)f(pi)=1

mp <- function(p1, n1, H1, n2, H2) {
    f1 <- pbeta(p1, H2 + 1, n2 - H2 + 1)
    f2 <- dbeta(p1, H1 + 1, n1 - H1 + 1)
    return(f1 * f2)
}

P <- function(n1, H1, n2, H2) {
    return(integrate(mp, 0, 1, n1, H1, n2, H2))
}

さまざまな実験結果に対してを描画し、次のコードを切り抜いて、、を固定できます。例::P(p1>p2)n1n2n1=n2=4

library(lattice)
n1 <- 4
n2 <- 4
heads <- expand.grid(H1 = 0:n1, H2 = 0:n2)
heads$P <- apply(heads, 1, function(H) P(n1, H[1], n2, H[2])$value)
levelplot(P ~ H1 + H2, heads, main = "P(p1 > p2)")

P(p1> p2)、n1 = n2 = 4の場合

install.packages("lattice")最初にする必要があるかもしれません。

とが十分に異なる場合、事前分布が均一でサンプルサイズが小さい場合でも、1枚のコインの方が確率が高い、または信じられると、かなり堅実になります。とがさらに大きい場合は、さらに小さな相対差が必要です。以下は、およびプロットです。H1H2n1n2n1=100n2=200

ここに画像の説明を入力してください


Martijn Weterings 、と差の事後確率分布を計算すること提案しました。これは、セットのペアのpdfを積分することで実行できます: p1p2S(d)={(p1,p2)[0,1]2|d=|p1p2|}

f(d|H1,n1,H2,n2)=S(d)f(p1,p2|H1,n1,H2,n2)dγ=01df(p,p+d|H1,n1,H2,n2)dp+d1f(p,pd|H1,n1,H2,n2)dp

繰り返しますが、分析的に解決できる積分ではありませんが、Rコードは次のようになります。

d1 <- function(p, d, n1, H1, n2, H2) {
    f1 <- dbeta(p, H1 + 1, n1 - H1 + 1)
    f2 <- dbeta(p + d, H2 + 1, n2 - H2 + 1)
    return(f1 * f2)
}

d2 <- function(p, d, n1, H1, n2, H2) {
    f1 <- dbeta(p, H1 + 1, n1 - H1 + 1)
    f2 <- dbeta(p - d, H2 + 1, n2 - H2 + 1)
    return(f1 * f2)
}

fd <- function(d, n1, H1, n2, H2) {
    if (d==1) return(0)
    s1 <- integrate(d1, 0, 1-d, d, n1, H1, n2, H2)
    s2 <- integrate(d2, d, 1, d, n1, H1, n2, H2)
    return(s1$value + s2$value)
}

Iをプロットため、、との全ての値。f(d|n1,H1,n2,H2)n1=4H1=3n2=4H2

n1 <- 4
n2 <- 4
H1 <- 3
d <- seq(0, 1, length = 500)

get_f <- function(H2) sapply(d, fd, n1, H1, n2, H2)
dat <- sapply(0:n2, get_f)

matplot(d, dat, type = "l", ylab = "Density",
        main = "f(d | 4, 3, 4, H2)")
legend("topright", legend = paste("H2 =", 0:n2),
       col = 1:(n2 + 1), pch = "-")

ここに画像の説明を入力してください

確率を計算できます 値の上方にあることがによって。数値積分を二重に適用すると、多少の数値誤差が生じることに注意してください。たとえば、常にと間の値を取るので、常に必要があります。しかし、結果はしばしば少しずれます。|p1p2|d1 d 0 1integrate(fd, d, 1, n1, H1, n2, H2)integrate(fd, 0, 1, n1, H1, n2, H2)1d01


私はp1の実際の値を知りません
Thirupathi Thangavel

1
私の悪い表記forは残念ですが、固定値をプラグインする必要はありません。積分の(現在変更されている)は、積分する変数です。ちょうどあなたが統合することができるようにための固定値がなく。、P ' 1 1 0 X 2 D X Xp1p101x2dxx
katosh

1
フィッシャーの正確確率検定は、より具体的には、コインには同じ確率があり、限界合計は固定されているという仮説についてです。これは、このコインの問題には当てはまりません。もう一度テストを行うと、他の総頭数を観察できます。
Sextus Empiricus

私の場合、@ MartijnWeterings、コインの頭を向ける確率は常に固定されています。それで十分ではありませんか?
Thirupathi Thangavel

1
@ThirupathiThangavelフィッシャーのテストの問題は、固定されていない限界合計についてです。正確なテストモデルでは、頭部の確率が同じで固定されていることを前提としていますが、限界値実験前に固定されています。その第二部はそうではありません。これは、極端な値に対して異なる条件付き確率を与えます。全体として、フィッシャーテストは保守的です。TRUE仮説が与えられた結果の確率(つまり、頭部の固定確率および類似確率ですが、必ずしも周辺合計が固定されているわけではありません)は、計算よりも小さくなります(p値が高くなります)。
Sextus Empiricus

2

私はで数値シミュレーションを行いましたがR、おそらく分析的な答えを探していますが、これを共有するのは興味深いと思いました。

set.seed(123)
# coin 1
N1 = 20
theta1 = 0.7

toss1 <- rbinom(n = N1, size = 1, prob = theta1)

# coin 2
N2 = 25
theta2 = 0.5

toss2 <- rbinom(n = N2, size = 1, prob = theta2)

# frequency
sum(toss1)/N1 # [1] 0.65
sum(toss2)/N2 # [1] 0.52

この最初のコードでは、2つのコイントスをシミュレートします。ここでは、もちろんそれがわかります。theta1 > theta2もちろん、その頻度はH1より高くなりH2ます。別の注意N1N2サイズを。

別ので何ができるか見てみましょうthetas。コードが最適ではないことに注意してください。全然。

simulation <- function(N1, N2, theta1, theta2, nsim = 100) {
  count1 <- count2 <- 0

  for (i in 1:nsim) {
    toss1 <- rbinom(n = N1, size = 1, prob = theta1)
    toss2 <- rbinom(n = N2, size = 1, prob = theta2)

    if (sum(toss1)/N1 > sum(toss2)/N2) {count1 = count1 + 1} 
    #if (sum(toss1)/N1 < sum(toss2)/N2) {count2 = count2 + 1} 
  }

  count1/nsim

}
set.seed(123)
simulation(20, 25, 0.7, 0.5, 100)
#[1] 0.93

したがって、0.93は、最初のコインがより多くの表を持っていた(100のうちの)時間の頻度です。これを見てtheta1theta2使用すると、問題ないようです。

の2つのベクトルを見てみましょうthetas

theta1_v <- seq(from = 0.1, to = 0.9, by = 0.1)
theta2_v <- seq(from = 0.9, to = 0.1, by = -0.1)

res_v <- c()
for (i in 1:length(theta1_v)) {

  res <- simulation(1000, 1500, theta1_v[i], theta2_v[i], 100)
  res_v[i] <- res

}

plot(theta1_v, res_v, type = "l")

100回のシミュレーションのうち、res_vがである頻度を思い出してくださいH1 > H2

ここに画像の説明を入力してください

したがって、theta1増加するにつれて、H1当然、より高い確率が増加します。

他のシミュレーションをいくつか実行しましたが、サイズはそれほど重要N1N2はないようです。

慣れているR場合は、このコードを使用して問題に光を当てることができます。これは完全な分析ではなく、改善できることは承知しています。


2
興味深いことにres_v、シータが交わると連続的に変化します。ただ一つの観察をしただけで、コインの本質的なバイアスについて尋ねていたので、私は質問を理解しました。あなたはバイアスを知った後にどんな観察をするのかと答えているようです。
katosh 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.