Saya bertanya-tanya apakah mungkin untuk menghasilkan variabel binomial acak berkorelasi mengikuti pendekatan transformasi linier?
Di bawah ini, saya mencoba sesuatu yang sederhana dalam R dan menghasilkan beberapa korelasi. Tapi saya bertanya-tanya apakah ada cara berprinsip untuk melakukan ini?
X1 = rbinom(1e4, 6, .5) ; X2 = rbinom(1e4, 6, .5) ; X3 = rbinom(1e4, 6, .5) ; a = .5
Y1 = X1 + (a*X2) ; Y2 = X2 + (a*X3) ## Y1 and Y2 are supposed to be correlated
cor(Y1, Y2)
copula
, yang membantu dalam menghasilkan variabel dependen dengan margin tetap.Jawaban:
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 - hal Y ( q) kita dapat dengan mudah mengetahui sisanya dari aksioma probabilitas: Pr ( ( X , Y ) = ( 1 , 0 ) ) = 1 - q - a ,
Memasukkan ini ke dalam rumus untuk koefisien korelasi dan penyelesaiannya memberikan a = ( 1 - p ) ( 1 - q ) + ρ √ρ
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 −1 1 n (n,p) (n,q)
Contoh
Biarkan , p = 1 / 3 , q = 3 / 4 , dan kami ingin korelasi menjadi ρ = - 4n = 10 p = 1 / 3 q= 3 / 4 ρ = - 4 / 5 ( 1 ) a = 0,00336735 0,247 0,663 0,087 1000
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.
Kode
Berikut ini adalah
R
implementasinya.sumber