Saya sedang mengerjakan suatu algoritma yang mengandalkan fakta bahwa pengamatan terdistribusi secara normal, dan saya ingin menguji kekokohan algoritma terhadap asumsi ini secara empiris.
Untuk melakukan hal ini, saya sedang mencari urutan transformasi yang progresif akan mengganggu normalitas Y . Sebagai contoh jika Y s normal mereka memiliki kemiringan = 0 dan kurtosis = 3 , dan akan menyenangkan untuk menemukan urutan transformasi yang semakin meningkatkan keduanya.
Gagasan saya adalah untuk mensimulasikan beberapa data kira-kira terdistribusi normal dan menguji algoritme itu. Daripada menguji algoritma pada setiap dataset yang diubah T 1 ( Y ) , ... , T n ( y ) , untuk melihat seberapa banyak output berubah.
Perhatikan bahwa saya tidak mengontrol distribusi s yang disimulasikan , jadi saya tidak dapat mensimulasi mereka menggunakan distribusi yang menggeneralisasi Normal (seperti Distribusi Galat Umum Skewed).
sumber
Jawaban:
Ini dapat dilakukan dengan menggunakan transformasi sinh-arcsinh dari
Transformasi didefinisikan sebagai
dimana dan δ ∈ R + . Ketika transformasi ini diterapkan pada CDF S normal ( x ; ϵ , δ ) = Φ [ H ( x ; ϵ , δ ) ] , ia menghasilkan distribusi unimodal yang parameternya ( ϵ , δ ) mengendalikan kemiringan dan kurtosis, masing-masing (Jones). dan Pewsey, 2009), dalam arti van Zwet (1969) . Selain itu, jika ϵ = 0 dan δϵ ∈ R δ∈ R+ S( x ; ϵ, δ) = Φ [ H( x ; ϵ, δ) ] ( ϵ , δ) ϵ = 0 , kami memperoleh distribusi normal asli. Lihat kode R. berikut.δ= 1
Oleh karena itu, dengan memilih urutan parameter yang sesuai , Anda dapat menghasilkan urutan distribusi / transformasi dengan berbagai tingkat kemiringan dan kurtosis dan membuatnya terlihat sama atau berbeda dengan distribusi normal seperti yang Anda inginkan.( ϵn, δn)
Plot berikut menunjukkan hasil yang dihasilkan oleh kode R. Untuk (i) dan δ = 1 , dan (ii) ϵ = 0 dan δ = ( 0,5 , 0,75 , 1 , 1,25 , 1,5 ) .ϵ = ( - 2 , - 1 , 0 , 1 , 2 ) δ= 1 ϵ = 0 δ= ( 0,5 , 0,75 , 1 , 1,25 , 1,5 )
Simulasi distribusi ini mudah karena Anda hanya perlu mengubah sampel normal menggunakan invers dari .( ⋆ )
sumber
gamlss.dist::rSHASHo
dapat menghasilkan distribusi ini.Ini dapat dilakukan dengan menggunakan Lambert W x F variabel acak / distribusi. Variabel acak Lambert W x F (RV) adalah X (non-linearly transformed) dengan distribusi F.
Gaussianize()
Mereka diimplementasikan dalam
Transformasi Lambert W x F datang dalam 3 rasa:
type = 's'
type = 'h'
type = 'hh'
Lihat Referensi tentang miring dan berat (Penafian: Saya penulis.)
Dalam R Anda dapat mensimulasikan, memperkirakan, memplot, dll. Beberapa distribusi Lambert W x F dengan paket LambertW .
sumber
Salah satu urutan tersebut adalah eksponensial ke berbagai tingkatan. Misalnya
Anda bisa menggunakannyax1.1, x1.2... x2 untuk mendapatkan derajat transformasi menengah.
sumber
Jawaban yang sama seperti @ user10525 tetapi dengan python
[
sumber