Saya tertarik untuk mencari metode untuk menghasilkan data non-normal yang berkorelasi. Jadi idealnya semacam distribusi yang mengambil dalam matriks kovarians (atau korelasi) sebagai parameter dan menghasilkan data yang mendekati itu. Tapi inilah intinya: metode yang saya coba temukan harus memiliki fleksibilitas untuk juga mengontrol kemiringan multivariat dan / atau kurtosis.
Saya kenal metode Fleishman dan penggunaan metode kekuatan dari varian normal, tapi saya percaya sebagian besar ekstensi itu hanya memungkinkan pengguna untuk kombinasi tertentu dari skewness dan kurtosis marginal , meninggalkan skewness / kurtosis multivarian di luar sana. Yang saya ingin tahu adalah apakah ada metode yang membantu menentukan skewness multivariat dan / atau kurtosis, bersama dengan beberapa struktur korelasi / kovarian.
Sekitar satu tahun yang lalu saya mengikuti seminar tentang distribusi kopula dan saya ingat profesor dengan santai menyebutkan bahwa melalui penggunaan anggur kopula, seseorang dapat menghasilkan data yang, katakanlah, simetris pada masing-masing marjinal 1-Dnya tetapi condong bersama dan sebaliknya -versa. Atau, lebih jauh lagi, bahwa setiap margin berdimensi lebih rendah dapat memiliki beberapa skewness atau kurtosis sambil mempertahankan dimensi tertinggi simetris (atau tidak). Saya kagum dengan gagasan bahwa kelenturan seperti itu bisa ada. Saya telah berusaha menemukan semacam artikel atau makalah konferensi yang menjelaskan metode tersebut, tetapi saya tidak berhasil :(. Tidak harus melalui penggunaan kopulas, Saya terbuka untuk apa pun yang berfungsi.
Sunting: Saya telah menambahkan beberapa kode R untuk mencoba menunjukkan apa yang saya maksud. Sejauh ini saya hanya mengenal dengan baik definisi Mewia tentang kecenderungan multivariat dan kurtosis. Ketika saya pertama kali mendekati masalah saya, saya naif berpikir bahwa jika saya menggunakan kopula simetris (Gaussian dalam kasus ini) dengan marjinal miring (beta, dalam contoh ini), tes univariat pada marjinal akan menghasilkan signifikansi tetapi tes Mardia untuk skewness / kurtosis multivarit akan menjadi tidak signifikan. Saya mencobanya dan itu tidak keluar seperti yang saya harapkan:
library(copula)
library(psych)
set.seed(101)
cop1 <- {mvdc(normalCopula(c(0.5), dim=2, dispstr="un"),
c("beta", "beta"),list(list(shape1=0.5, shape2=5),
list(shape1=0.5, shape2=5)))}
Q1 <- rmvdc(cop1, 1000)
x1 <- Q1[,1]
y1 <- Q1[,2]
cop2 <- {mvdc(normalCopula(c(0.5), dim=2, dispstr="un"),
c("norm", "norm"),list(list(mean=0, sd=1),
list(mean = 0, sd=1)))}
Q2 <- rmvdc(cop2, 1000)
x2 <- Q2[,1]
y2 <- Q2[,2]
mardia(Q1)
Call: mardia(x = Q1)
Mardia tests of multivariate skew and kurtosis
Use describe(x) the to get univariate tests
n.obs = 1000 num.vars = 2
b1p = 10.33 skew = 1720.98 with probability = 0
small sample skew = 1729.6 with probability = 0
b2p = 22.59 kurtosis = 57.68 with probability = 0
mardia(Q2)
Call: mardia(x = Q2)
Mardia tests of multivariate skew and kurtosis
Use describe(x) the to get univariate tests
n.obs = 1000 num.vars = 2
b1p = 0.01 skew = 0.92 with probability = 0.92
small sample skew = 0.92 with probability = 0.92
b2p = 7.8 kurtosis = -0.79 with probability = 0.43
Setelah memeriksa kontur untuk 'cop1' VS 'cop2' serta plot kepadatan bivariat empiris, saya juga dapat melihat bahwa tidak ada yang terlihat simetris sama sekali. Saat itulah saya menyadari ini mungkin sedikit lebih rumit dari yang saya kira.
Saya tahu bahwa Mardia bukan satu-satunya definisi skewness / kurtosis multivarian, jadi saya tidak membatasi diri untuk menemukan metode yang hanya memenuhi definisi Mardia.
Terima kasih!
Jawaban:
Setelah banyak mencari, melompat-lompat di forum online, berkonsultasi dengan profesor dan melakukan BANYAK tinjauan literatur, saya sampai pada kesimpulan bahwa mungkin satu - satunya cara untuk mengatasi masalah ini adalah melalui penggunaan copulas anggur memang. Ini memberi Anda beberapa kontrol atas kemiringan dan kurtosis berpasangan (atau momen lebih tinggi) - untuk vektor acak p-variate dan kebebasan untuk menentukan pasangan p-1 kopula dan sisa p * (p-1) / 2 - ( p-1) dimensi dapat ditentukan dalam beberapa jenis kopula kondisional.
Saya menyambut metode lain yang mungkin orang temui tetapi setidaknya saya akan meninggalkan penunjuk ini ke arah jawaban karena saya tidak bisa, untuk kehidupan saya, menemukan cara lain untuk mengatasinya.
sumber
Anda mungkin dapat menyelesaikan ini dengan memodifikasi algoritma Ruscio and Kaczetow (2008). Makalah mereka menyediakan algoritma iteratif (dengan kode R) yang meminimalkan perbedaan antara bentuk marginal yang sebenarnya dan yang dimaksudkan. Anda mungkin dapat memodifikasinya sehingga menargetkan momen multivarian (bukan marginal).
Ruscio, J., & Kaczetow, W. (2008). Mensimulasikan data nonnormal multivarian menggunakan algoritma iteratif. Penelitian Perilaku Multivariat, 43 (3), 355-381. doi: 10.1080 / 00273170802285693
sumber
Anda mungkin ingin memeriksa Distribusi Elliptical Umum , yang memungkinkan untuk matriks bentuk "klasik" dengan fleksibilitas untuk fitur lainnya.
sumber
Saya telah menemukan metode sederhana untuk melakukan ini yang tidak melibatkan coplas dan desain kompleks lainnya. Saya khawatir saya tidak memiliki referensi formal meskipun metode ini tampaknya sangat efektif.
Idenya sederhana. 1. Gambarkan sejumlah variabel dari distribusi normal gabungan. 2. Terapkan variabel normal CDF univariat untuk memperoleh probabilitas untuk setiap variabel. 3. Akhirnya menerapkan CDF terbalik dari distribusi apa pun untuk mensimulasikan undian dari distribusi itu.
Saya datang dengan metode ini pada 2012 dan berdemonstrasi menggunakan Stata . Saya juga telah menulis posting terbaru menunjukkan metode yang sama dengan menggunakan R .
sumber
Saya percaya metode yang disajikan dalam makalah-makalah berikut ini memungkinkan menghasilkan multivariat acak dengan kombinasi (rata-rata) mean, varian, skewness, dan kurtosis.
Penafian: Saya bukan salah satu penulis.
sumber