Memeriksa apakah koin itu adil

9

Saya ditanya pertanyaan berikut oleh seorang teman. Saya tidak bisa membantunya tetapi saya berharap seseorang dapat menjelaskannya kepada saya. Saya tidak dapat menemukan contoh serupa. Terima kasih atas bantuan dan penjelasannya.

T: Hasil dari 100 percobaan lemparan koin dicatat sebagai 0 = "Ekor" dan 1 = "Kepala". Output x adalah string 0 dan 1 dengan panjang 100. Dan berapa kali kita mendapatkan 1-0-0 dalam x dihitung dan itu adalah 20 (mis: jika x = (001001110100), 1-0-0 terjadi 2 kali). Apakah Anda pikir ini koin yang adil?

Jimmy Dur
sumber
1
Pertanyaan ini tidak terdengar seperti masalah nyata yang sebenarnya. Apakah ini pekerjaan rumah?
Sextus Empiricus
1
Saya tidak yakin. Seperti yang saya tunjukkan, itu ditanyakan oleh seorang teman. Saya tidak bisa membantunya, tetapi saya masih ingin belajar bagaimana memecahkan atau menjawab pertanyaan semacam ini. @ MartijnWeterings
Jimmy Dur
2
stats.stackexchange.com/questions/158490/… berisi akun yang cukup lengkap tentang situasi tersebut. Untuk lebih lanjut, lihat stats.stackexchange.com/…
whuber
1
@JimmyDur Anda tidak tahu tentang interpretasi atau makna pertanyaan. Contohnya. Anda frase pertanyaan sebagai "Apakah Anda pikir ini adalah koin yang adil?". Ini terdengar seperti pertanyaan jebakan.
Sextus Empiricus
1
... Namun, dari sudut pandang tertentu ini mungkin bukan cara yang tepat untuk mengatasinya, dan orang mungkin menginginkan pendekatan Bayesian, misalnya jika seseorang tahu sesuatu seperti probabilitas distribusi sebelumnya dari keadilan koin. Tanpa pengetahuan tentang latar belakang dan keadaan, perhitungan apa pun hanya akan menjadi latihan matematika dan bukan jawaban untuk pertanyaan eksplisit Anda "apakah Anda pikir ini adalah koin yang adil?".
Sextus Empiricus

Jawaban:

14

Memecahkan masalah dengan simulasi

Upaya pertama saya adalah mensimulasikan ini di komputer, yang dapat membalik banyak koin dengan sangat cepat. Di bawah ini adalah contoh dengan satu percobaan jutaan. Peristiwa 'bahwa berapa kali pola' 1-0-0 'terjadi dalam membalik koin adalah 20 atau lebih' terjadi kira-kira sekali setiap tiga ribu percobaan, jadi apa yang Anda amati sangat tidak mungkin (untuk pameran) koin).Xn=100

Perhatikan bahwa histrogram adalah untuk simulasi dan garis adalah perhitungan yang tepat dijelaskan lebih lanjut di bawah ini.

histogram

set.seed(1)

# number of trials
n <- 10^6

# flip coins
q <- matrix(rbinom(100*n, 1, 0.5),n)

# function to compute number of 100 patterns
npattern <- function(x) {
  sum((1-x[-c(99,100)])*(1-x[-c(1,100)])*x[-c(1,2)])
}

# apply function on data 
counts <- sapply(1:n, function(x) npattern(q[x,]))
hist(counts, freq = 0) 

# estimated probability
sum(counts>=20)/10^6
10^6/sum(counts>=20)

Memecahkan masalah dengan perhitungan yang tepat

Untuk pendekatan analitis, Anda dapat menggunakan fakta bahwa 'probabilitas untuk mengamati 20 atau lebih urutan' 1-0-0 'dalam 100 koin membalik sama dengan 1 minus probabilitas yang dibutuhkan lebih dari 100 membalik untuk membuat 20 urutan' . Ini dipecahkan dalam langkah-langkah berikut:

Waktu tunggu untuk kemungkinan membalik '1-0-0'

Distribusi, , dari berapa kali Anda perlu membalik sampai Anda mendapatkan tepat satu urutan '1-0-0' dapat dihitung sebagai berikut:fN,x=1(n)

Mari kita menganalisis cara untuk mencapai '1-0-0' sebagai rantai Markov. Kami mengikuti negara-negara yang dijelaskan oleh akhiran string flips: '1', '1-0', atau '1-0-0'. Misalnya, jika Anda memiliki delapan membalik berikut 10101100 maka Anda melewati, secara berurutan, delapan negara berikut: '1', '1-0', '1', '1-0', '1', '1', '1-0', '1-0-0' dan butuh delapan membalik untuk mencapai '1-0-0'. Perhatikan bahwa Anda tidak memiliki probabilitas yang sama untuk mencapai status '1-0-0' di setiap flip. Dengan demikian Anda tidak dapat memodelkan ini sebagai distribusi binomial . Sebaliknya, Anda harus mengikuti pohon probabilitas. Negara '1' bisa masuk ke '1' dan '1-0', negara '1-0' bisa masuk ke '1' dan '1-0-0', dan negara '1-0-0' adalah negara yang menyerap. Anda dapat menuliskannya sebagai:

           number of flips
           1   2   3   4   5   6   7   8   9   ....   n

'1'        1   1   2   3   5   8  13  21  34   ....   F_n
'1-0'      0   1   1   2   3   5   8  13  21          F_{n-1}
'1-0-0'    0   0   1   2   4   7   12 20  33          sum_{x=1}^{n-2} F_{x}

dan probabilitas untuk mencapai pola '1-0-0', setelah menggulung pertama '1' (Anda mulai dengan negara '0', belum membalik kepala), dalam membalik adalah setengah kali probabilitas berada dalam status '1-0' dalam membalik:nn1

fNc,x=1(n)=Fn22n1

di mana adalah nomor Fibonnaci ke- . Probabilitas non-kondisional adalah jumlahFii

fN,x=1(n)=k=1n20.5kfNc,x=1(1+(nk))=0.5nk=1n2Fk

Waktu tunggu untuk kemungkinan membalik kali '1-0-0'k

Ini dapat Anda hitung dengan konvolusi.

fN,x=k(n)=l=1nfN,x=1(l)fN,x=1(nl)

Anda akan mendapatkan probabilitas untuk mengamati 20 atau lebih pola '1-0-0' (berdasarkan hipotesis bahwa koin itu adil)

> # exact computation
> 1-Fx[20]
[1] 0.0003247105
> # estimated from simulation
> sum(counts>=20)/10^6
[1] 0.000337

Ini adalah kode-R untuk menghitungnya:

# fibonacci numbers
fn <- c(1,1)
for (i in 3:99) {
  fn <- c(fn,fn[i-1]+fn[i-2])
}

# matrix to contain the probabilities
ps <- matrix(rep(0,101*33),33)

# waiting time probabilities to flip one pattern
ps[1,] <- c(0,0,cumsum(fn))/2^(c(1:101))

#convoluting to get the others
for (i in 2:33) {
  for (n in 3:101) {
     for (l in c(1:(n-2))) {
       ps[i,n] = ps[i,n] + ps[1,l]*ps[i-1,n-l]
     }  
  }
}

# cumulative probabilities to get x patterns in n flips
Fx <- 1-rowSums(ps[,1:100])

# probabilities to get x patterns in n flips
fx <- Fx[-1]-Fx[-33]

#plot in the previous histogram
lines(c(1:32)-0.5,fx)

Menghitung koin yang tidak adil

Kita dapat menggeneralisasi perhitungan probabilitas untuk mengamati pola dalam flips di atas, ketika probabilitas '1 = head' adalah dan flips independen.xnp

Kami sekarang menggunakan generalisasi angka-angka Fibonacci:

Fn(x)={1if n=1xif n=2x(Fn1+Fn2)if n>2

probabilitasnya sekarang adalah:

fNc,x=1,p(n)=(1p)n1Fn2((1p)11)

dan

fN,x=1,p(n)=k=1n2p(1p)k1fNc,x=1,p(1+nk)=p(1p)n1k=1n2Fk((1p)11)

Ketika kami merencanakan ini, Anda mendapatkan:

berbeda p

Jadi, sementara p-value kecil untuk koin yang adil 0,0003247, kita harus perhatikan bahwa itu tidak jauh lebih baik (hanya satu urutan) untuk berbagai koin tidak adil. Rasio kemungkinan, atau faktor Bayes , adalah sekitar 11 ketika hipotesis nol ( ) dibandingkan dengan hipotesis alternatif . Ini berarti bahwa rasio odds posterior hanya sepuluh kali lebih tinggi daripada rasio odds sebelumnya.p=0.5p=0.33

Jadi jika Anda berpikir sebelum percobaan bahwa koin itu tidak mungkin tidak adil, maka sekarang Anda harus tetap berpikir koin itu tidak mungkin tidak adil.


Koin dengan tetapi tidak adil tentang kejadian '1-0-0'pheads=ptails

Seseorang bisa lebih mudah menguji probabilitas untuk koin yang adil dengan menghitung jumlah kepala dan ekor dan menggunakan distribusi binomial untuk memodelkan pengamatan ini dan menguji apakah pengamatan itu khusus atau tidak.

Namun mungkin bahwa koin tersebut membalik, rata-rata, jumlah kepala dan ekor yang sama tetapi tidak adil mengenai pola-pola tertentu. Misalnya koin mungkin memiliki beberapa korelasi untuk membalik koin yang berhasil (saya bayangkan beberapa mekanisme dengan rongga di dalam logam koin yang diisi dengan pasir yang akan mengalir seperti jam pasir ke arah berlawanan dari flip koin sebelumnya, yang memuat koin jatuh lebih mungkin di sisi yang sama dengan sisi sebelumnya).

Biarkan flip koin pertama menjadi kepala dan ekor probabilitas yang sama dan flips berikutnya adalah dengan probabilitas sisi yang sama dengan flip sebelumnya. Kemudian simulasi yang sama seperti awal posting ini akan memberikan probabilitas berikut untuk berapa kali pola '1-0-0' melebihi 20:p

koin berkorelasi

Anda dapat melihat bahwa dimungkinkan untuk membuatnya menjadi slighlty lebih mungkin untuk mengamati pola '1-0-0' (sekitar koin yang memiliki korelasi negatif), tetapi yang lebih dramatis adalah seseorang dapat membuatnya lebih sedikit kemungkinan mengabaikan pola '1-0-0'. Untuk rendah Anda mendapatkan berkali-kali ekor setelah kepala, bagian '1-0' pertama dari pola '1-0-0', tetapi Anda tidak mendapatkan begitu sering dua ekor berturut-turut '0-0' bagian dari polanya. Yang sebaliknya berlaku untuk nilai tinggi .p=0.45pp

# number of trials
set.seed(1)
n <- 10^6

p <- seq(0.3,0.6,0.02)
np <- length(p)
mcounts <- matrix(rep(0,33*np),33)

pb <- txtProgressBar(title = "progress bar", min = 0,
                     max = np, style=3)
for (i in 1:np) {
  # flip first coins
  qfirst <- matrix(rbinom(n, 1, 0.5),n)*2-1
  # flip the changes of the sign of the coin
  qrest <- matrix(rbinom(99*n, 1, p[i]),n)*2-1
  # determining the sign of the coins
  qprod <- t(sapply(1:n, function(x) qfirst[x]*cumprod(qrest[x,])))
  # representing in terms of 1s and 0s
  qcoins <- cbind(qfirst,qprod)*0.5+0.5
  counts <- sapply(1:n, function(x) npattern(qcoins[x,]))

  mcounts[,i] <- sapply(1:33, function(x) sum(counts==x))
  setTxtProgressBar(pb, i)
}
close(pb)

plot(p,colSums(mcounts[c(20:33),]),
     type="l", xlab="p same flip", ylab="counts/million trials", 
     main="observation of 20 or more times '1-0-0' pattern \n for coin with correlated flips")
points(p,colSums(mcounts[c(20:33),]))

Menggunakan matematika dalam statistik

Semua di atas baik-baik saja tetapi itu bukan jawaban langsung untuk pertanyaan itu

"Menurutmu apakah ini koin yang adil?"

Untuk menjawab pertanyaan itu seseorang dapat menggunakan matematika di atas, tetapi orang harus benar-benar pertama-tama menggambarkan dengan sangat baik situasi, tujuan, definisi keadilan, dll. Tanpa pengetahuan latar belakang dan keadaan apa pun perhitungan akan menjadi latihan matematika dan bukan jawaban untuk pertanyaan eksplisit.

Satu pertanyaan terbuka adalah mengapa dan bagaimana kita mencari pola '1-0-0'.

  • Misalnya mungkin pola ini bukan target, yang diputuskan sebelum melakukan penyelidikan. Mungkin itu hanya sesuatu yang 'menonjol' dalam data dan itu adalah sesuatu yang mendapat perhatian setelah percobaan. Dalam hal ini seseorang perlu mempertimbangkan bahwa ia secara efektif membuat beberapa perbandingan .
  • Masalah lain adalah bahwa probabilitas yang dihitung di atas adalah nilai-p. Arti nilai-p perlu dipertimbangkan dengan cermat. Ini bukan probabilitas bahwa koin itu adil. Sebaliknya, itu adalah probabilitas untuk mengamati hasil tertentu jika koin itu adil. Jika seseorang memiliki lingkungan di mana seseorang mengetahui distribusi kewajaran dari koin, atau seseorang dapat membuat asumsi yang masuk akal, maka seseorang dapat memperhitungkan ini dan menggunakan ekspresi Bayesian .
  • Apa yang adil, apa yang tidak adil. Akhirnya, dengan diberikan pencobaan yang cukup, seseorang mungkin menemukan sedikit ketidakadilan. Tetapi apakah ini relevan dan pencarian seperti itu tidak bias? Ketika kita berpegang pada pendekatan frequentist, maka kita harus menggambarkan sesuatu seperti batas di atas yang kita anggap koin adil (beberapa ukuran efek yang relevan). Kemudian seseorang dapat menggunakan sesuatu yang mirip dengan uji t dua sisi satu untuk memutuskan apakah koin itu adil atau tidak (mengenai pola '1-0-0').
Sextus Empiricus
sumber
1
Mengapa tidak mengejar solusi formulir tertutup melalui MLE?
Digio
Saya tidak, saya hanya ingin tahu. Bukankah dengan dan interval kepercayaan untuk buat jawaban yang valid, @whuber? p^ML=argmaxp[P(X1,...,Xn|p,n)]XBinomial(n,p)p^ML
Digio
Terima kasih atas jawaban menyeluruh ini, Martijn, saya sangat menyukai pendekatan kedua. Pikiranku sejalan dengan solusi yang lebih langsung: perkirakan sebagai parameter dari satu Binomial atau beberapa distribusi Bernoulli. Kemudian jika interval kepercayaan probabilitas tidak termasuk 0,5, maka kita akan mengatakan bahwa koin bias. pp
Digio
Misalnya, untukX={0,0,1,0,0,1,1,1,0,1,0,0}p^=xn=512=0.421.96p^(1p^)n=0.280.42+0.28<0.50
3
@ FrankHarrell juga tidak ada apa-apa dalam pengaturan masalah yang membuat kita berpikir bahwa flip tidak berkorelasi. Penyiapan masalah relatif buruk dengan informasi. Contoh saya yang masuk ke korelasi membalik hanya untuk menutupi luasnya pertanyaan. Saya tidak menyatakan bahwa ini adalah cara untuk menjawabnya. Tetapi katakan bahwa seseorang (mungkin OP) sedang melakukan penelitian pada sekuens DNA atau beberapa pengaturan masalah lain di mana kemungkinan korelasi lebih masuk akal, maka mereka memiliki contoh bagaimana itu bisa berubah.
Sextus Empiricus