Variabel binomial biasanya dibuat dengan menjumlahkan variabel Bernoulli independen. Mari kita lihat apakah kita bisa mulai dengan sepasang variabel Bernoulli yang berkorelasi dan melakukan hal yang sama.( X, Y)
Misalkan adalah variabel Bernoulli ( p ) (yaitu, Pr ( X = 1 ) = p danX( p )Pr ( X= 1 ) = p ) dan Y adalahvariabelBernoulli ( q ) . Untuk menjabarkan distribusi bersama mereka, kita perlu menentukan keempat kombinasi hasil. Penulisan Pr ( ( X , Y ) = ( 0 , 0 ) ) =Pr ( X= 0 ) = 1 - halY( q) kita dapat dengan mudah mengetahui sisanya dari aksioma probabilitas: Pr ( ( X , Y ) = ( 1 , 0 ) ) = 1 - q - a ,
Pr ( ( X, Y) = ( 0 , 0 ) ) = a ,
Pr ( ( X, Y) = ( 1 , 0 ) ) = 1 - q- sebuah ,Pr ( ( X, Y) = ( 0 , 1 ) ) = 1 - p - a ,Pr ( ( X, Y) = ( 1 , 1 ) ) = a + p + q- 1.
Memasukkan ini ke dalam rumus untuk koefisien korelasi dan penyelesaiannya memberikan a = ( 1 - p ) ( 1 - q ) + ρ √ρ
a = ( 1 - p ) ( 1 - q) + ρ p q(1−p)(1−q)−−−−−−−−−−−−−√.(1)
Asalkan keempat probabilitas non-negatif, ini akan memberikan distribusi gabungan yang valid - dan solusi ini membuat parameter semua distribusi Bernoulli bivariat. (Ketika , ada solusi untuk semua korelasi yang bermakna secara matematis antara - 1 dan 1. ) Ketika kita menjumlahkan n dari variabel-variabel ini, korelasinya tetap sama - tetapi sekarang distribusi marjinal adalah Binomial ( n , p ) dan Binomial ( n , q ) , seperti yang diinginkan.p=q−11n(n,p)(n,q)
Contoh
Biarkan , p = 1 / 3 , q = 3 / 4 , dan kami ingin korelasi menjadi ρ = - 4n = 10p = 1 / 3q= 3 / 4ρ = - 4 / 5( 1 )a = 0,003367350,2470,6630,0871000
Garis merah menunjukkan rata-rata sampel dan garis putus-putus adalah garis regresi. Mereka semua dekat dengan nilai yang dimaksudkan. Poin-poin telah dikelompokkan secara acak dalam gambar ini untuk menyelesaikan tumpang tindih: setelah semua, distribusi Binomial hanya menghasilkan nilai-nilai integral, sehingga akan ada banyak overplotting.
n{1,2,3,4}1(0,0)2(1,0)3(0,1)4(1,1)(X,Y)
Kode
Berikut ini adalah R
implementasinya.
#
# Compute Pr(0,0) from rho, p=Pr(X=1), and q=Pr(Y=1).
#
a <- function(rho, p, q) {
rho * sqrt(p*q*(1-p)*(1-q)) + (1-p)*(1-q)
}
#
# Specify the parameters.
#
n <- 10
p <- 1/3
q <- 3/4
rho <- -4/5
#
# Compute the four probabilities for the joint distribution.
#
a.0 <- a(rho, p, q)
prob <- c(`(0,0)`=a.0, `(1,0)`=1-q-a.0, `(0,1)`=1-p-a.0, `(1,1)`=a.0+p+q-1)
if (min(prob) < 0) {
print(prob)
stop("Error: a probability is negative.")
}
#
# Illustrate generation of correlated Binomial variables.
#
set.seed(17)
n.sim <- 1000
u <- sample.int(4, n.sim * n, replace=TRUE, prob=prob)
y <- floor((u-1)/2)
x <- 1 - u %% 2
x <- colSums(matrix(x, nrow=n)) # Sum in groups of `n`
y <- colSums(matrix(y, nrow=n)) # Sum in groups of `n`
#
# Plot the empirical bivariate distribution.
#
plot(x+rnorm(length(x), sd=1/8), y+rnorm(length(y), sd=1/8),
pch=19, cex=1/2, col="#00000010",
xlab="X", ylab="Y",
main=paste("Correlation is", signif(cor(x,y), 3)))
abline(v=mean(x), h=mean(y), col="Red")
abline(lm(y ~ x), lwd=2, lty=3)