Kiểm tra xem một đồng tiền có công bằng không


9

Tôi đã được một người bạn hỏi câu hỏi sau đây. Tôi không thể giúp cô ấy ra ngoài nhưng tôi hy vọng ai đó có thể giải thích cho tôi. Tôi không thể tìm thấy bất kỳ ví dụ tương tự. Cảm ơn cho bất kỳ trợ giúp và giải thích.

Q: Kết quả của 100 thí nghiệm tung đồng xu được ghi lại là 0 = "Đuôi" và 1 = "Đầu". Đầu ra x là một chuỗi 0 và 1 có độ dài 100. Và số lần chúng ta có được 1-0-0 trong x được tính và nó là 20 (ví dụ: if x = (001001110100), 1-0-0 xảy ra 2 lần). Bạn có nghĩ rằng đây là một đồng tiền công bằng?


1
Câu hỏi này không giống như một vấn đề thực tế trong cuộc sống. Đây có phải là bài tập về nhà không?
Sextus Empiricus

1
Tôi không chắc. Như tôi đã chỉ ra nó đã được một người bạn hỏi tôi. Tôi không thể giúp cô ấy ra ngoài, nhưng tôi vẫn muốn tìm hiểu cách giải hoặc trả lời loại câu hỏi này. @ MartijnWeterings
Jimmy Dur

2
stats.stackexchange.com/questions/158490/ Có chứa một tài khoản khá đầy đủ về tình huống. Để biết thêm, hãy xem thống kê.stackexchange.com / Từ
whuber

1
@JimmyDur bạn không có ý tưởng nào về cách giải thích hay ý nghĩa của câu hỏi. Ví dụ. Bạn đặt câu hỏi là "Bạn có nghĩ đây là một đồng tiền công bằng không?". Điều này nghe có vẻ như một câu hỏi mẹo.
Sextus Empiricus

1
... Tuy nhiên, từ những quan điểm nhất định, đây có thể không phải là một cách chính xác để giải quyết nó, và người ta có thể mong muốn một cách tiếp cận Bayes, ví dụ nếu người ta biết một cái gì đó như phân phối xác suất trước về sự công bằng của tiền xu. Không có bất kỳ kiến ​​thức nào về nền tảng và hoàn cảnh, bất kỳ tính toán nào sẽ chỉ là bài tập toán và không phải là câu trả lời cho câu hỏi rõ ràng của bạn "bạn có nghĩ đây là một đồng tiền công bằng không?".
Sextus Empiricus

Câu trả lời:


14

Giải bài toán bằng mô phỏng

Nỗ lực đầu tiên của tôi là mô phỏng cái này trên máy tính, có thể lật rất nhiều đồng xu công bằng rất nhanh. Dưới đây là một ví dụ với một thử nghiệm triệu. Sự kiện 'số lần mô hình' 1-0-0 'xảy ra trong lần lật đồng xu là 20 lần trở lên' xảy ra khoảng ba nghìn lần thử nghiệm, do đó, những gì bạn quan sát được không có khả năng xảy ra (đối với một hội chợ đồng tiền).Xn=100

Lưu ý rằng histrogram là dành cho mô phỏng và dòng là tính toán chính xác được giải thích thêm dưới đây.

biểu đồ

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)

Giải bài toán với một tính toán chính xác

Đối với cách tiếp cận phân tích, bạn có thể sử dụng thực tế là 'xác suất để quan sát 20 chuỗi trở lên' 1-0-0 'trong 100 lần lật đồng xu bằng với 1 trừ đi xác suất phải mất hơn 100 lần lật để thực hiện 20 chuỗi' . Điều này được giải quyết trong các bước sau:

Thời gian chờ đợi để xác suất lật '1-0-0'

Phân phối, , về số lần bạn cần lật cho đến khi bạn nhận được chính xác một chuỗi '1-0-0' có thể được tính như sau:fN,x=1(n)

Hãy phân tích các cách để có được "1-0-0" dưới dạng chuỗi Markov. Chúng tôi theo dõi các trạng thái được mô tả bằng hậu tố của chuỗi lần lật: '1', '1-0' hoặc '1-0-0'. Ví dụ: nếu bạn có tám lần lật 10101100 sau thì bạn đã vượt qua, theo thứ tự, tám trạng thái sau: '1', '1-0', '1', '1-0', '1', '1', '1-0', '1-0-0' và phải mất tám lần lật để đạt được '1-0-0'. Lưu ý rằng bạn không có xác suất bằng nhau để đạt trạng thái '1-0-0' trong mỗi lần lật. Vì vậy, bạn không thể mô hình hóa này như là một phân phối nhị thức . Thay vào đó bạn nên theo một cây xác suất. Trạng thái '1' có thể đi vào '1' và '1-0', trạng thái '1-0' có thể đi vào '1' và '1-0-0', và trạng thái '1-0-0' là trạng thái hấp thụ. Bạn có thể viết nó thành:

           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}

và xác suất để đạt được mẫu '1-0-0', sau khi đã cán '1' đầu tiên (bạn bắt đầu với trạng thái '0', chưa lật đầu), trong vòng lần lật là một nửa lần xác suất ở trạng thái '1-0' trong vòng :nn1

fNc,x=1(n)=Fn22n1

trong đó là số Fibonnaci thứ . Xác suất không có điều kiện là một tổngFii

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

Thời gian chờ đợi để xác suất lật lần '1-0-0'k

Điều này bạn có thể tính toán bằng một tích chập.

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

bạn sẽ có xác suất để quan sát 20 mẫu '1-0-0' trở lên (dựa trên giả thuyết rằng đồng tiền là công bằng)

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

Đây là mã R để tính toán nó:

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

Tính toán cho các đồng tiền không công bằng

Chúng ta có thể khái quát tính toán trên của xác suất để quan sát các mẫu trong lần lật, khi xác suất '1 = đầu' là và các lần lật là độc lập.xnp

Bây giờ chúng tôi sử dụng tổng quát hóa các số Fibonacci:

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

các xác suất bây giờ là:

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

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

Khi chúng tôi vẽ điều này, bạn nhận được:

p khác nhau

Vì vậy, trong khi giá trị p là nhỏ đối với một đồng tiền công bằng 0,0003247, chúng tôi phải lưu ý rằng nó không tốt hơn nhiều (chỉ một đơn hàng) cho các đồng tiền không công bằng khác nhau. Tỷ lệ khả năng, hoặc yếu tố Bayes , vào khoảng 11 khi giả thuyết null ( ) được so sánh với giả thuyết thay thế . Điều này có nghĩa là tỷ lệ cược sau chỉ cao hơn mười lần so với tỷ lệ cược trước đó.p=0.5p=0.33

Do đó, nếu bạn nghĩ trước khi thử nghiệm rằng đồng tiền này không chắc là không công bằng, thì bây giờ bạn vẫn nên nghĩ rằng đồng tiền này khó có thể không công bằng.


Một đồng xu có nhưng không công bằng về các lần xuất hiện '1-0-0'pheads=ptails

Người ta có thể dễ dàng kiểm tra xác suất của một đồng tiền công bằng bằng cách đếm số lượng đầu và đuôi và sử dụng phân phối nhị thức để mô hình hóa các quan sát này và kiểm tra xem quan sát đó có đặc biệt hay không.

Tuy nhiên, có thể là đồng xu đang lật, trung bình, một số lượng đầu và đuôi bằng nhau nhưng không công bằng đối với các mẫu nhất định. Ví dụ, đồng xu có thể có một số tương quan để thành công lật đồng xu (tôi tưởng tượng một số cơ chế với các lỗ hổng bên trong kim loại của đồng xu được lấp đầy bằng cát sẽ chảy như một chiếc đồng hồ cát về phía đối diện của lần lật đồng xu trước đó, đang nạp đồng xu có nhiều khả năng rơi vào cùng phía với bên trước).

Đặt đồng xu đầu tiên là các đầu và đuôi có xác suất bằng nhau và các lần lật thành công có xác suất cùng phía với lần lật trước. Sau đó, một mô phỏng tương tự như phần đầu của bài đăng này sẽ đưa ra các xác suất sau cho số lần mẫu '1-0-0' vượt quá 20:p

đồng tiền tương quan

Bạn có thể thấy rằng có thể làm cho nó trở nên trơn tru hơn khi quan sát mô hình '1-0-0' (đâu đó quanh một đồng xu có một số tương quan tiêu cực), nhưng kịch tính hơn là người ta có thể làm cho nó ít hơn nhiều có khả năng làm nổi bật mô hình '1-0-0'. Đối với thấp, bạn nhận được nhiều lần đuôi sau một cái đầu, phần '1-0' đầu tiên của mẫu '1-0-0', nhưng bạn không thường xuyên nhận được hai đuôi liên tiếp là '0-0' một phần của mô hình. Điều ngược lại là đúng với các giá trị cao .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),]))

Sử dụng toán học trong thống kê

Trên đây là tất cả tốt nhưng nó không phải là một câu trả lời trực tiếp cho câu hỏi

"bạn có nghĩ rằng đây là một đồng tiền công bằng?"

Để trả lời câu hỏi đó, người ta có thể sử dụng toán học ở trên, nhưng trước tiên người ta phải mô tả rất rõ tình huống, mục tiêu, định nghĩa về sự công bằng, v.v. Không có bất kỳ kiến ​​thức nào về nền tảng và hoàn cảnh, bất kỳ tính toán nào sẽ chỉ là bài tập toán và không phải là câu trả lời cho câu hỏi rõ ràng.

Một câu hỏi mở là tại sao và làm thế nào chúng ta đang tìm kiếm mô hình '1-0-0'.

  • Ví dụ, có thể mẫu này không phải là mục tiêu, được quyết định trước khi thực hiện điều tra. Có lẽ nó chỉ là thứ gì đó 'nổi bật' trong dữ liệu và nó là thứ được chú ý sau thí nghiệm. Trong trường hợp đó, người ta cần xem xét rằng người ta đang thực hiện nhiều so sánh một cách hiệu quả .
  • Một vấn đề khác là xác suất tính toán ở trên là giá trị p. Ý nghĩa của giá trị p cần được xem xét cẩn thận. Nó không phải là xác suất mà đồng tiền là công bằng. Thay vào đó, xác suất để quan sát một kết quả cụ thể nếu đồng tiền là công bằng. Nếu người ta có một môi trường trong đó người ta biết một số phân phối về tính công bằng của tiền xu, hoặc người ta có thể đưa ra một giả định hợp lý, thì người ta có thể tính đến điều này và sử dụng biểu thức Bayes .
  • Cái gì công bằng, cái gì không công bằng. Cuối cùng, được đưa ra đủ thử nghiệm, người ta có thể tìm thấy một chút bất công nhỏ bé. Nhưng nó có liên quan và là một tìm kiếm như vậy không thiên vị? Khi chúng ta tuân theo cách tiếp cận thường xuyên, thì người ta nên mô tả một cái gì đó giống như một ranh giới ở trên mà chúng ta xem xét một hội chợ tiền xu (một số kích thước hiệu ứng có liên quan). Sau đó, người ta có thể sử dụng một cái gì đó tương tự như thử nghiệm t hai mặt để quyết định xem đồng tiền có công bằng hay không (liên quan đến mẫu '1-0-0').

1
Tại sao không theo đuổi một giải pháp dạng kín thông qua MLE?
Digio

Tôi không, tôi chỉ tò mò thôi. Sẽ không với và khoảng tin cậy cho đưa ra câu trả lời hợp lệ, @whuber? p^ML=argmaxp[P(X1,...,Xn|p,n)]XBinomial(n,p)p^ML
Digio

Cảm ơn câu trả lời thấu đáo này Martijn, tôi thực sự thích cách tiếp cận thứ hai. Suy nghĩ của tôi là dọc theo một giải pháp trực tiếp hơn: ước tính là tham số của một phân phối Binomial hoặc nhiều Bernoulli. Sau đó, nếu khoảng tin cậy của xác suất không bao gồm 0,5, thì chúng tôi sẽ nói rằng đồng xu bị sai lệch. pp
Digio

Ví dụ: với , chúng tôi nhận được với biên sai số . Và kể từ , chúng tôi có thể kết luận rằng đồng xu không bị sai lệch (ở mức ý nghĩa 5%). p = xX={0,0,1,0,0,1,1,1,0,1,0,0}1,96p^=xn=512=0.420,42+0,28<0,501.96p^(1p^)n=0.280.42+0.28<0.50
Digio

3
@FrankHarrell không có bất cứ điều gì trong thiết lập vấn đề khiến chúng tôi nghĩ rằng các flips là không tương thích. Các thiết lập vấn đề là tương đối nghèo với thông tin. Ví dụ của tôi đi vào mối tương quan của lật là chỉ để bao quát sự rộng rãi của câu hỏi. Tôi không nói rằng đây cách để trả lời nó. Nhưng nói rằng ai đó (có thể là OP) đang thực hiện nghiên cứu về trình tự DNA hoặc một số thiết lập vấn đề khác trong đó khả năng tương quan có ý nghĩa hơn, sau đó họ có một ví dụ về cách nó có thể bật ra.
Sextus Empiricus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.