ตรวจสอบว่าเหรียญมีความยุติธรรมหรือไม่


9

ฉันถูกเพื่อนคนหนึ่งถามคำถามต่อไปนี้ ฉันไม่สามารถช่วยเธอออกไปได้ แต่ฉันหวังว่าจะมีคนสามารถอธิบายให้ฉันได้ ฉันไม่พบตัวอย่างที่คล้ายกันขอบคุณสำหรับความช่วยเหลือและคำอธิบายใด ๆ

Q: ผลการทดสอบการโยนเหรียญ 100 ครั้งจะถูกบันทึกเป็น 0 = "หาง" และ 1 = "หัว" เอาต์พุต x คือสตริงของ 0 และ 1 ของความยาว 100 และจำนวนครั้งที่เราได้รับ 1-0-0 ใน x ถูกคำนวณและมันคือ 20 (เช่น: ถ้า x = (001001110100), 1-0-0 เกิดขึ้น 2 ครั้ง) คุณคิดว่านี่เป็นเหรียญที่ยุติธรรมหรือไม่?


1
คำถามนี้ดูไม่เหมือนปัญหา reallife ที่แน่นอน เป็นการบ้านหรือไม่?
Sextus Empiricus

1
ฉันไม่แน่ใจ. ตามที่ฉันบอกเพื่อน ๆ ก็ถามฉัน ฉันไม่สามารถช่วยเธอออกไปได้ แต่ฉันยังต้องการเรียนรู้วิธีแก้ปัญหาหรือตอบคำถามแบบนี้ @ MartijnWeterings
Jimmy Dur

2
stats.stackexchange.com/questions/158490/…มีบัญชีที่ค่อนข้างสมบูรณ์เกี่ยวกับสถานการณ์ สำหรับข้อมูลเพิ่มเติมโปรดดูstats.stackexchange.com/…
whuber

1
@JimmyDur คุณไม่มีความคิดใด ๆ เกี่ยวกับการตีความหรือความหมายของคำถาม ตัวอย่างเช่น คุณตั้งคำถามว่า "คุณคิดว่านี่เป็นเหรียญที่ยุติธรรมหรือไม่" ดูเหมือนว่าคำถามหลอกลวง
Sextus Empiricus

1
... อย่างไรก็ตามจากมุมมองบางอย่างนี่อาจไม่ใช่วิธีที่ถูกต้องในการจัดการกับมันและเราอาจต้องการแนวทางแบบเบย์เช่นถ้าใครรู้บางสิ่งบางอย่างเช่นการกระจายความน่าจะเป็นก่อนหน้าของความเป็นธรรมของเหรียญ หากไม่มีความรู้เกี่ยวกับภูมิหลังและสถานการณ์ใด ๆ การคำนวณใด ๆ จะเป็นแบบฝึกหัดคณิตศาสตร์และไม่ใช่คำตอบสำหรับคำถามที่ชัดเจนของคุณ "คุณคิดว่านี่เป็นเหรียญที่ยุติธรรมหรือไม่"
Sextus Empiricus

คำตอบ:


14

การแก้ปัญหาด้วยการจำลองสถานการณ์

ความพยายามครั้งแรกของฉันคือการจำลองสิ่งนี้บนคอมพิวเตอร์ซึ่งสามารถพลิกเหรียญยุติธรรมจำนวนมากได้อย่างรวดเร็ว ด้านล่างเป็นตัวอย่างของการทดสอบ milion หนึ่งครั้ง เหตุการณ์ 'ที่จำนวนครั้งที่รูปแบบ' 1-0-0 'เกิดขึ้นในเหรียญ flips คือ 20 หรือมากกว่านั้นเกิดขึ้นประมาณหนึ่งครั้งในการทดลองสามพันครั้งดังนั้นสิ่งที่คุณสังเกตจึงไม่น่าจะเป็นไปได้ เหรียญ).Xn=100

โปรดทราบว่าฮิสโตแกรมนั้นใช้สำหรับการจำลองและบรรทัดนั้นคือการคำนวณที่แน่นอนซึ่งอธิบายเพิ่มเติมด้านล่าง

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)

การแก้ปัญหาด้วยการคำนวณที่แน่นอน

สำหรับวิธีการวิเคราะห์คุณสามารถใช้ความจริงที่ว่า'ความน่าจะเป็นในการสังเกต 20 หรือมากกว่านั้น' 1-0-0 'ในการโยน 100 เหรียญมีค่าเท่ากับ 1 ลบความน่าจะเป็นที่จะใช้ 100 flips ในการวน 20 ครั้ง' . นี่คือการแก้ไขในขั้นตอนต่อไปนี้:

รอเวลาสำหรับความน่าจะเป็นในการพลิก '1-0-0'

การแจกแจง, , จำนวนครั้งที่คุณต้องพลิกจนกว่าคุณจะได้หนึ่งลำดับ '1-0-0' ที่แน่นอนสามารถคำนวณได้ดังนี้:ยังไม่มีข้อความ,x=1(n)

ลองวิเคราะห์วิธีการ '1-0-0' ในฐานะลูกโซ่มาร์คอฟ เราปฏิบัติตามสถานะที่อธิบายโดยคำต่อท้ายของสตริงการพลิก: '1', '1-0' หรือ '1-0-0' ตัวอย่างเช่นหากคุณมีการพลิกแปดครั้งต่อไปนี้ 10101100 คุณจะผ่านตามลำดับแปดสถานะดังต่อไปนี้: '1', '1-0', '1', '1-0', '1', '1', '1-0', '1-0-0' และใช้เวลาแปดครั้งถึง '1-0-0' โปรดทราบว่าคุณไม่มีโอกาสเท่าเทียมกันในการเข้าถึงสถานะ '1-0-0' ในทุก ๆ ครั้ง ดังนั้นคุณจะไม่สามารถรุ่นนี้เป็นกระจายทวินาม คุณควรปฏิบัติตามทรีของความน่าจะเป็น สถานะ '1' สามารถไปที่ '1' และ '1-0', รัฐ '1-0' สามารถเข้าไปใน '1' และ '1-0-0', และสถานะ '1-0-0' เป็นสถานะที่น่าสนใจ คุณสามารถเขียนมันเป็น:

           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}

และความน่าจะเป็นที่จะมาถึงรูปแบบ '1-0-0' หลังจากที่มีการหมุน '1' ครั้งแรก (คุณเริ่มต้นด้วยสถานะ '0' ที่ยังไม่มีการพลิกหัว) ภายใน flips จะเท่ากับความน่าจะเป็นครึ่งเท่า ที่จะอยู่ในสถานะ '1-0' ภายในพลิก :nn-1

ยังไม่มีข้อความ,x=1(n)=Fn-22n-1

โดยที่คือหมายเลข -th Fibonnaci ความน่าจะเป็นแบบไม่มีเงื่อนไขคือผลรวมFผมผม

ยังไม่มีข้อความ,x=1(n)=Σk=1n-20.5kยังไม่มีข้อความ,x=1(1+(n-k))=0.5nΣk=1n-2Fk

กำลังรอเวลาสำหรับความน่าจะเป็นในการพลิกคูณ '1-0-0'k

สิ่งนี้คุณสามารถคำนวณได้โดยการโน้มน้าวใจ

ยังไม่มีข้อความ,x=k(n)=Σล.=1nยังไม่มีข้อความ,x=1(ล.)ยังไม่มีข้อความ,x=1(n-ล.)

คุณจะได้รับความน่าจะเป็นที่จะสังเกตรูปแบบ 20 หรือมากกว่า '1-0-0' (ขึ้นอยู่กับสมมติฐานว่าเหรียญมีความยุติธรรม)

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

นี่คือรหัส R เพื่อคำนวณ:

# 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)

คอมพิวเตอร์สำหรับเหรียญที่ไม่เป็นธรรม

เราสามารถสรุปการคำนวณความน่าจะเป็นข้างต้นเพื่อสังเกตรูปแบบใน flips เมื่อความน่าจะเป็นของ '1 = head' คือและการพลิกเป็นอิสระxnพี

ตอนนี้เราใช้การสรุปตัวเลขของฟีโบนักชี:

Fn(x)={1ถ้า n=1xถ้า n=2x(Fn-1+Fn-2)ถ้า n>2

ความน่าจะเป็นคือ:

ยังไม่มีข้อความ,x=1,พี(n)=(1-พี)n-1Fn-2((1-พี)-1-1)

และ

ยังไม่มีข้อความ,x=1,พี(n)=Σk=1n-2พี(1-พี)k-1ยังไม่มีข้อความ,x=1,พี(1+n-k)=พี(1-พี)n-1Σk=1n-2Fk((1-พี)-1-1)

เมื่อเราวางแผนสิ่งนี้คุณจะได้รับ:

หน้าแตกต่างกัน

ดังนั้นในขณะที่ค่า p มีขนาดเล็กสำหรับเหรียญยุติธรรม 0.0003247 เราต้องทราบว่ามันไม่ดีกว่ามาก (เพียงคำสั่งเดียว) สำหรับเหรียญที่ไม่เป็นธรรมที่แตกต่างกัน อัตราส่วนโอกาสหรือปัจจัย Bayesเป็นประมาณ 11 เมื่อสมมติฐาน ( ) เปรียบเทียบกับทางเลือกสมมติฐานpซึ่งหมายความว่าอัตราส่วนอัตราต่อรองหลังสูงกว่าอัตราเดิมพันก่อนหน้าเพียงสิบเท่าพี=0.5พี=0.33

ดังนั้นหากคุณคิดว่าก่อนการทดสอบว่าเหรียญนั้นไม่ยุติธรรมเลยคุณควรคิดว่าเหรียญนั้นไม่ยุติธรรม


เหรียญที่มีแต่ไม่ยุติธรรมเกี่ยวกับเหตุการณ์ '1-0-0'พีชั่วโมงอีads=พีเสื้อaผมล.s

เราสามารถทดสอบความน่าจะเป็นของเหรียญยุติธรรมได้ง่ายขึ้นโดยการนับจำนวนหัวและก้อยและใช้การแจกแจงทวินามเพื่อจำลองแบบการสังเกตเหล่านี้และทดสอบว่าการสังเกตนั้นมีความเฉพาะหรือไม่

อย่างไรก็ตามอาจเป็นไปได้ว่าเหรียญกำลังพลิกโดยเฉลี่ยมีจำนวนหัวและก้อยเท่ากัน แต่ไม่ยุติธรรมกับรูปแบบบางอย่าง ตัวอย่างเช่นเหรียญอาจมีความสัมพันธ์กับการโยนเหรียญสำเร็จ (ฉันจินตนาการถึงกลไกบางอย่างที่มีช่องว่างภายในโลหะของเหรียญที่เต็มไปด้วยทรายที่จะไหลเหมือนนาฬิกาทรายไปทางด้านตรงข้ามของเหรียญก่อนหน้านี้ซึ่งโหลดเหรียญ มีแนวโน้มที่จะลดลงในด้านเดียวกับด้านก่อนหน้า)

ให้พลิกเหรียญแรกเป็นหัวน่าจะเท่ากันและหางและพลิกประสบความสำเร็จจะมีความน่าจะเป็นด้านเดียวกับพลิกก่อน จากนั้นการจำลองที่คล้ายกันซึ่งเป็นจุดเริ่มต้นของโพสต์นี้จะให้ความน่าจะเป็นดังต่อไปนี้สำหรับจำนวนครั้งที่รูปแบบ '1-0-0' เกิน 20:พี

เหรียญที่สัมพันธ์กัน

คุณสามารถเห็นได้ว่ามันเป็นไปได้ที่จะทำให้มันมีความเป็นไปได้น้อยที่จะสังเกตรูปแบบ '1-0-0' (ที่ใดที่หนึ่งรอบเหรียญที่มีความสัมพันธ์เชิงลบบางอย่าง) แต่น่าทึ่งกว่านั้นคือ มีแนวโน้มที่จะได้รับรูปแบบ '1-0-0' สำหรับต่ำคุณจะได้รับก้อยหลังหัวเป็นส่วนแรก '1-0' ของรูปแบบ '1-0-0' แต่คุณไม่ได้รับบ่อยสองหางในแถว '0-0' ส่วนหนึ่งของรูปแบบ ตรงกันข้ามเป็นจริงสำหรับค่าสูงพี=0.45พีพี

# 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),]))

การใช้คณิตศาสตร์ในสถิติ

ข้างต้นเป็นสิ่งที่ดี แต่ไม่ใช่คำตอบสำหรับคำถามโดยตรง

คุณคิดว่านี่เป็นเหรียญที่ยุติธรรมหรือไม่?

เพื่อตอบคำถามนั้นเราสามารถใช้คณิตศาสตร์ข้างต้น แต่ควรอธิบายสถานการณ์เป้าหมายคำจำกัดความของความเป็นธรรมและอื่น ๆ ได้ดีหากไม่มีความรู้เกี่ยวกับภูมิหลังและสถานการณ์ใด ๆ การคำนวณใด ๆ จะเป็นการออกกำลังกายทางคณิตศาสตร์และไม่ใช่คำตอบ คำถามที่ชัดเจน

คำถามที่เปิดหนึ่งคือทำไมและวิธีการที่เรากำลังมองหารูปแบบ '1-0-0'

  • ตัวอย่างเช่นรูปแบบนี้อาจไม่ใช่เป้าหมายซึ่งได้รับการตัดสินใจก่อนที่จะทำการสอบสวน บางทีมันอาจเป็นเพียงบางสิ่งที่ 'โดดเด่น' ในข้อมูลและเป็นสิ่งที่ได้รับความสนใจหลังจากการทดสอบ ในกรณีที่หนึ่งต้องพิจารณาว่าใครจะมีผลทำให้การเปรียบเทียบหลาย
  • ปัญหาอื่นคือความน่าจะเป็นที่คำนวณข้างต้นเป็นค่า p ความหมายของค่า p ต้องได้รับการพิจารณาอย่างรอบคอบ มันเป็นไม่น่าจะเป็นที่เหรียญเป็นธรรม ความน่าจะเป็นที่จะสังเกตเห็นผลลัพธ์เฉพาะนั้นคือถ้าเหรียญนั้นยุติธรรม หากมีสภาพแวดล้อมที่ใครรู้ว่าการกระจายตัวของความเป็นธรรมของเหรียญบางหรือหนึ่งสามารถทำให้สมมติฐานที่เหมาะสมแล้วหนึ่งสามารถใช้เวลานี้ในบัญชีและใช้การแสดงออกคชกรรม
  • อะไรคือความยุติธรรมสิ่งที่ไม่ยุติธรรม ในที่สุดหากมีการทดลองมากพออาจพบว่ามีความไม่ยุติธรรมเล็กน้อย แต่มันมีความเกี่ยวข้องและการค้นหาดังกล่าวไม่ลำเอียงหรือไม่ เมื่อเรายึดติดกับแนวทางปฏิบัติบ่อยครั้งเราควรอธิบายบางอย่างเช่นขอบเขตด้านบนซึ่งเราพิจารณาว่าเป็นงานเหรียญ (ขนาดของเอฟเฟกต์ที่เกี่ยวข้อง) จากนั้นเราสามารถใช้บางสิ่งที่คล้ายกับการทดสอบสองด้านแบบสองด้านเพื่อตัดสินว่าเหรียญนั้นยุติธรรมหรือไม่ (เกี่ยวกับรูปแบบ '1-0-0')

1
ทำไมไม่ติดตามโซลูชันแบบปิดผ่าน MLE
Digio

ฉันทำไม่ได้ฉันแค่อยากรู้ จะไม่ด้วยและช่วงความมั่นใจสำหรับสร้างคำตอบที่ถูกต้องได้อย่างไร @whuber? พี^ML=aRก.ม.axพี[P(X1,...,Xn|พี,n)]X~Bผมnโอม.ผมaล.(n,พี)พี^ML
Digio

ขอบคุณสำหรับคำตอบอย่างละเอียด Martijn ฉันชอบวิธีที่สองจริงๆ ความคิดของฉันเป็นไปตามแนวทางของวิธีแก้ปัญหาที่ตรงกว่านี้คือประมาณค่าเป็นพารามิเตอร์ของการแจกแจงแบบทวินามหรือหลายแบบของเบอร์นูลลี ถ้าช่วงความเชื่อมั่นของความน่าจะเป็นไม่เท่ากับ0.5 เราก็จะบอกว่าเหรียญนั้นมีอคติ พีพี
Digio

ตัวอย่างเช่นสำหรับเราจะได้และมีอัตรากำไรของข้อผิดพลาด0.28 และเนื่องจากเราอาจสรุปได้ว่าเหรียญไม่ได้เอนเอียง (ที่ระดับนัยสำคัญ 5%) X={0,0,1,0,0,1,1,1,0,1,0,0}พี^=xn=512=0.421.96พี^(1-พี^)n=0.280.42+0.28<0.50
Digio

3
@ FrankHarrell ไม่มีอะไรในการตั้งค่าปัญหาที่ทำให้เราคิดว่าการพลิกจะไม่เกี่ยวข้องกัน การตั้งค่าปัญหาค่อนข้างมีข้อมูลไม่เพียงพอ ตัวอย่างของฉันที่ไปสู่ความสัมพันธ์ของการพลิกเป็นเพียงเพื่อครอบคลุมความกว้างของคำถาม ฉันไม่ได้ระบุว่านี่เป็นวิธีตอบคำถาม แต่บอกว่าใครบางคน (อาจเป็น OP) กำลังทำวิจัยเกี่ยวกับลำดับดีเอ็นเอหรือการตั้งค่าปัญหาอื่น ๆ ที่ความเป็นไปได้ของความสัมพันธ์มีความสมเหตุสมผลมากขึ้นจากนั้นพวกเขาก็มีตัวอย่างว่ามันจะกลายเป็นอย่างไร
Sextus Empiricus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.