Apa distribusi data ini?

8

Saya mendapatkan data, dan memplot distribusi data, dan menggunakan fungsi qqnorm, tetapi sepertinya tidak mengikuti distribusi normal, jadi distribusi mana yang harus saya gunakan untuk menggambarkan data?

Fungsi distribusi kumulatif empiris masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

PepsiCo
sumber
Sebidang histogram mungkin juga berguna untuk diperiksa. Ini mungkin terlihat seperti distribusi miring, daripada membutuhkan model campuran.
John
1
Bisakah Anda ceritakan sedikit tentang mengapa Anda mencoba menggambarkan distribusi ini? Bagaimanapun, ada banyak alternatif untuk memberi nama beberapa fungsi matematika yang terkenal: kernel smooths, ringkasan n-huruf, ECDF itu sendiri, dan sebagainya. Semua adalah deskripsi yang memadai dalam pengaturan yang sesuai.
Whuber

Jawaban:

12

Saya sarankan Anda mencoba distribusi Lambert W x F yang berat atau miring yang mencoba Lambert W x F (penafian: saya penulisnya). Dalam R mereka diimplementasikan dalam paket LambertW .

Mereka muncul dari transformasi parametrik, non-linear dari variabel acak (RV) XF, ke versi berekor berat (condong) YLambert W×F. UntukF menjadi Gaussian, ekor berat Lambert W x F berkurang menjadi milik Tukey hdistribusi. (Di sini saya akan menguraikan versi heavy-tail, yang miring adalah analog.)

Mereka memiliki satu parameter δ0 (γRuntuk Lambert miring x F) yang mengatur derajat bobot ekor (skewness). Secara opsional, Anda juga dapat memilih ekor berat kiri dan kanan yang berbeda untuk mencapai ekor berat dan asimetri. Ini mengubah Normal standarUN(0,1) ke Lambert W × Gaussian Z oleh

Z=Uexp(δ2U2)

Jika δ>0 Z memiliki ekor lebih berat daripada U; untukδ=0, ZU.

Jika Anda tidak ingin menggunakan Gaussian sebagai garis dasar, Anda dapat membuat versi Lambert W lain dari distribusi favorit Anda, misalnya, t, seragam, gamma, eksponensial, beta, ... Namun, untuk dataset Anda, double heavy- ekor Lambert W x Gaussian (atau kemiringan Lambert W xt) tampaknya menjadi titik awal yang baik.

library(LambertW)
set.seed(10)

### Set parameters ####
# skew Lambert W x t distribution with 
# (location, scale, df) = (0,1,3) and positive skew parameter gamma = 0.1
theta.st <- list(beta = c(0, 1, 3), gamma = 0.1)
# double heavy-tail Lambert W x Gaussian
# with (mu, sigma) = (0,1) and left delta=0.2; right delta = 0.4 (-> heavier on the right)
theta.hh <- list(beta = c(0, 1), delta = c(0.2, 0.4))

### Draw random sample ####
# skewed Lambert W x t
yy <- rLambertW(n=1000, distname="t", theta = theta.st)

# double heavy-tail Lambert W x Gaussian (= Tukey's hh)
zz =<- rLambertW(n=1000, distname = "normal", theta = theta.hh)

### Plot ecdf and qq-plot ####
op <- par(no.readonly=TRUE)
par(mfrow=c(2,2), mar=c(3,3,2,1))
plot(ecdf(yy))
qqnorm(yy); qqline(yy)

plot(ecdf(zz))
qqnorm(zz); qqline(zz)
par(op)

ecdf dan qqplot distribusi Lambert W x F miring / berat-miring

Dalam praktiknya, tentu saja, Anda harus memperkirakan θ=(β,δ)dimana β adalah parameter distribusi input Anda (misalnya, β=(μ,σ) untuk seorang Gaussian, atau β=(c,s,ν) untuk sebuah tdistribusi; lihat kertas untuk detailnya):

### Parameter estimation ####
mod.Lst <- MLE_LambertW(yy, distname="t", type="s")
mod.Lhh <- MLE_LambertW(zz, distname="normal", type="hh")

layout(matrix(1:2, ncol = 2))
plot(mod.Lst)
plot(mod.Lhh)

masukkan deskripsi gambar di sini

Karena generasi berekor berat ini didasarkan pada transformasi bijective dari RVs / data, Anda dapat menghapus ekor berekor dari data dan memeriksa apakah mereka bagus sekarang, yaitu, jika mereka Gaussian (dan mengujinya menggunakan tes Normality).

### Test goodness of fit ####
## test if 'symmetrized' data follows a Gaussian
xx <- get_input(mod.Lhh)
normfit(xx)

masukkan deskripsi gambar di sini

Ini bekerja cukup baik untuk dataset simulasi. Saya sarankan Anda mencobanya dan melihat apakah Anda juga bisa Gaussianize()data Anda .

Namun, seperti yang ditunjukkan @whuber, bimodality dapat menjadi masalah di sini. Jadi mungkin Anda ingin memeriksa data yang diubah (tanpa ekor) apa yang terjadi dengan bimodality ini dan dengan demikian memberi Anda wawasan tentang cara memodelkan data (asli) Anda.

Georg M. Goerg
sumber
+1 Sangat jelas dan diilustrasikan dengan baik: Anda berupaya membagikan gagasan-gagasan ini kepada kami dan saya berterima kasih.
whuber
+1, terima kasih telah memposting ini, saya tertarik untuk bereksperimen dengan ini. Hanya beberapa klarifikasi kecil: apa artinyaγRlihat di paragraf kedua Anda? Juga, dalam kalimat "Dalam praktik, tentu saja, Anda harus memperkirakanθ", maksud kamu δ?
Makro
1
@ Macro: Saya mengedit di posting asli untuk mengklarifikasi dua poin ini.
Georg M. Goerg
Saya penggemar, dan mulai mengerjakan versi scikit-belajar seperti di sini: github.com/gregversteeg/gaussianize
Greg Ver Steeg
7

Ini terlihat seperti distribusi asimetris yang memiliki ekor lebih panjang, di kedua arah, dari distribusi normal.

  • Anda dapat melihat ekor panjang karena titik yang diamati lebih ekstrim daripada yang diharapkan di bawah distribusi normal, di sisi kiri dan kanan (yaitu masing-masing di bawah dan di atas garis).

  • Anda dapat melihat asimetri karena, di ekor kanan, sejauh mana titik-titik lebih ekstrim daripada apa yang diharapkan di bawah distribusi normal lebih besar daripada di ekor kiri.

Saya tidak dapat memikirkan distribusi "kalengan" yang memiliki bentuk ini tetapi tidak terlalu sulit untuk "memasak" distribusi yang memiliki properti yang disebutkan di atas.

Berikut ini adalah contoh yang disimulasikan R:

set.seed(1234)
x=rexp(1e3)
y=-rexp(1e3,rate=2)
z=c(x,y)
qqnorm(z)
qqline(z) # see below for the plot. 
plot( ecdf(z) ) # see below for plot (2nd plot)

Variabel di sini adalah campuran 50/50 antara exponential(1) dan sebuah exponential(2) tercermin di sekitar 0. Pilihan ini dibuat karena akan secara asimetris, karena ada parameter laju yang berbeda, dan keduanya akan berekor panjang relatif terhadap distribusi normal, dengan ekor kanan lebih panjang, karena laju di tangan kanan sisi lebih besar.

Contoh ini menghasilkan qqplot dan CDF empiris yang sangat mirip (secara kualitatif) dengan apa yang Anda lihat:

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

Makro
sumber
1
+1 Model campuran berguna. Terutama jika Anda memiliki data yang dihasilkan dalam dua atau lebih keadaan yang berbeda.
Seth
+1 Penggunaan distribusi fleksibel dapat dipertimbangkan juga.
@Procrastinator, distribusi fleksibel apa yang Anda maksud (atau itu istilah teknis)?
Makro
Misalnya distribusi miring-t: 1 , 2 , 3 , 4 , 5 . Mereka unimodal, berisi parameter skewness dan parameter kurtosis, dan menghindari asumsi dalam model campuran bahwa ada dua atau lebih populasi yang menghasilkan pengamatan, seperti yang disebutkan @Seth.
1
@ Macro Itu tergantung pada bagaimana kemiringan diukur. Momen ketiga adalah ukuran kuno yang tidak cukup diterima saat ini karena tidak ada untuk banyak distribusi seperti skew-t dan simetrist. Cenderung normal sebenarnya mencakup seluruh jajaran ukuran kemiringan lainnya seperti ini . Tindakan Pearson dan Edgeworth dipengaruhi oleh ekor (karena berbasis momen) yang merupakan properti yang tidak diinginkan. Juga, mereka tidak memenuhi 3 kondisi yang diperlukan untuk menjadi ukuran kemiringan yang ditentukan dalam makalah terkait ...
0

Untuk mengetahui distribusi mana yang paling cocok, saya pertama-tama akan mengidentifikasi beberapa target distribusi potensial: Saya akan berpikir tentang proses dunia nyata yang menghasilkan data, kemudian saya akan memasukkan beberapa kepadatan potensial ke data dan membandingkan skor kemungkinan log mereka untuk melihat distribusi potensial mana yang paling cocok. Ini mudah di R dengan fungsi fitdistr di perpustakaan MASS.

Jika data Anda seperti Macro's z maka:

>fitdistr(z,'cauchy',list(location=mean(z),scale=sqrt(sd(z))))$loglik
[1] -2949.068

> fitdistr(z,'normal')$loglik
[1] -3026.648

> fitdistr(z,'t')$loglik
[1] -2830.861

Jadi ini memberikan distribusi t yang paling cocok (dari yang kami coba) untuk data Makro. konfirmasikan ini dengan beberapa qqplot menggunakan parameter dari fitdistr.

> qqplot(z,rt(length(z),df=2.7))  

Kemudian bandingkan plot ini dengan distribusi yang cocok lainnya.

Seth
sumber
1
sementara saya pikir cocok untuk keluarga parametrik yang diketahui memiliki tempat, tetapi apa artinya itu dalam kasus ini? Dari asimetri kita mengenal Cauchy, normal dantdapat dikesampingkan langsung dari kelelawar. Bisakah Anda memikirkan keluarga parametrik yang mungkin bisa menangkap kombinasi asimetri dan ekor panjang ini? Tampaknya bagi saya bahwa distribusi campuran (seperti yang saya simulasikan) mungkin diperlukan, atau perkiraan non-parametrik, seperti yang disinggung oleh @whuber dalam komentarnya terhadap pertanyaan utama.
Makro
@ Macro Banyak distribusi 'off the shelf' dapat menangani situasi miring dan berat. F dan Gamma muncul di benak, bersama dengan hampir semua distribusi parameter 3 dan 4. Saya baru saja menambahkan jawaban sehingga poster asli akan memiliki ide tentang bagaimana mengukur 'kebaikan cocok', dan membuat perbandingan numerik.
Seth
Saya mengerti maksud Anda, tetapi saya hanya mencoba mencari tahu apakah distribusi "dari rak" akan berfungsi di sini. Gamma dan F keduanya non-negatif dan saya tidak berpikir Gamma dapat mencapai bentuk seperti ini, bahkan jika Anda menggeser data dengan tepat sehingga non-negatif.
Makro
Seth dan @Macro, plot EDF dalam pertanyaan menunjukkan bimodality, jadi lupakan tentang mencapai kecocokan dengan distribusi konvensional jika ada kebutuhan untuk menangkap mode kedua itu. Saat ini kami tidak memiliki kriteria efektif untuk merekomendasikan kecocokan. Bagaimana jika OP memiliki residu dari kemunduran data banjir atau bencana keuangan dan karena itu harus mendapatkan kecocokan yang baik di ekor atas? Bagaimana jika penting baginya untuk memisahkan mode? Jawabannya akan sangat berbeda tergantung pada aplikasi. Distribusi pas memiliki lebih dari satu buta latihan matematika!
whuber