Tujuan utama saya adalah untuk dapat memiliki cara untuk menghasilkan vektor ukuran dari variabel acak berkorelasi Bernoulli. Salah satu cara saya melakukan ini adalah dengan menggunakan pendekatan Gaussian Coupla. Namun, pendekatan Gaussian Coupla hanya membuat saya dengan vektor:
Misalkan saya telah menghasilkan sedemikian rupa sehingga korelasi umum di antara mereka adalah . Sekarang, bagaimana saya bisa mengubahnya menjadi vektor baru atau ? Dengan kata lain, saya ingin:
tetapi dengan korelasi yang sama .
Salah satu pendekatan yang saya pikirkan adalah menetapkan aturan cutoff keras sehingga jika , maka biarkan dan jika , maka biarkan .
Ini tampaknya bekerja dengan baik dalam simulasi karena mempertahankan struktur korelasinya tetapi sangat arbitrer bagi saya apa nilai cutoff yang harus dipilih selain dari .
Cara lain adalah memperlakukan setiap sebagai variabel acak Bernoulli dengan probabilitas keberhasilan dan sampel darinya. Namun pendekatan ini tampaknya menyebabkan hilangnya korelasi dan bukannya , saya mungkin mendapatkan atau .
Adakah yang punya pemikiran atau masukan dalam hal ini? Terima kasih.
sumber
Jawaban:
Saya tidak cukup mengerti Gaussian Copula untuk mengetahui apa masalahnya. Tapi saya menemukan cara untuk menghasilkan vektor Bernoulli berkorelasi.
Mengikuti https://mathoverflow.net/a/19436/105908 jika kita mengambil satu set vektor tetap dan vektor acak pada unit sphere , kita dapat mengubah menjadi biner mana . Dalam pengaturan ini, mana adalah sudut antara dan .v1...vn u u X Xi=(u⋅vi>0) cor(Xi,Xj)=π−2∗θ(i,j)π θ(i,j) vi vj
Cara menemukan matriks yang sesuaiuntuk menghasilkan matriks korelasi yang diinginkan ? Kondisi sudut diterjemahkan menjadi dan dengan demikian kita dapat menemukan dengan dekomposisi Cholesky.V=|v1...vn| R VVT=cos(−πR−π2) V
Contoh kode dalam R berikut:
Terima kasih @ jakub-bartczuk untuk menautkan ke pertanyaan MO - Saya tidak akan menemukannya sendiri.
Kode di atas memiliki satu batasan besar: distribusi marginal diperbaiki pada . Saat ini saya tidak mengetahui bagaimana memperluas pendekatan ini agar sesuai dengan korelasi dan distribusi marjinal. Jawaban lain memiliki pendekatan untuk kasus umum, tetapi kehilangan banyak kesederhanaan (melibatkan integrasi numerik). Ada juga makalah yang disebut Menghasilkan Lonjakan Kereta dengan Koefisien Korelasi Tertentu dan menyertai paket Matlab di mana pengambilan sampel melibatkan "hanya" menemukan secara numerik nol unik dari fungsi monoton oleh pembagian dua.Xi∼Bernoulli(0.5)
sumber