Bagaimana cara menguji apakah sampel data cocok dengan keluarga distribusi Gamma?

13

Saya punya sampel data yang dihasilkan dari variabel acak kontinu X. Dan dari histogram saya menggambar menggunakan R, saya kira mungkin distribusi X mematuhi distribusi Gamma tertentu. Tapi saya tidak tahu parameter pasti dari distribusi Gamma ini.

Pertanyaan saya adalah bagaimana menguji apakah distribusi X milik keluarga distribusi Gamma? Ada beberapa tes goodness of fit seperti tes Kolmogorov-Smirnov, tes Anderson-Darling, dan sebagainya, tetapi salah satu batasan saat menggunakan tes ini adalah bahwa parameter distribusi teoritis harus diketahui terlebih dahulu. Adakah yang bisa memberi tahu saya cara mengatasi masalah ini?

pengguna8363
sumber
Mungkin saya kehilangan sesuatu, tetapi jika Anda sudah mengetahui tes untuk menguji kesesuaian distribusi dan yang perlu Anda ketahui adalah nilai-nilai dari distribusi teoritis, maka Anda cukup menggunakan penduga kemungkinan maksimum dari parameter gamma. distribusi pada data Anda untuk mendapatkan estimasi parameter. Anda kemudian dapat menggunakan taksiran-taksiran itu untuk menentukan distribusi teoretis dalam pengujian Anda.
David
David, terima kasih atas jawaban Anda. Jawabannya juga apa yang telah saya pikirkan, tetapi saya tidak yakin apakah ada beberapa teori yang dapat mendukung ide ini, dapatkah Anda menjawabnya untuk saya?
user8363
Jika Anda menggunakan R, Anda mungkin tertarik untuk melihat paket fitdistrplus , yang memiliki fasilitas untuk melakukan hal semacam ini.
gung - Reinstate Monica

Jawaban:

8

Saya pikir pertanyaannya meminta tes statistik yang tepat, bukan untuk perbandingan histogram. Saat menggunakan uji Kolmogorov-Smirnov dengan parameter yang diestimasi , distribusi statistik uji di bawah nol tergantung pada distribusi yang diuji, berbeda dengan case tanpa parameter yang diestimasi. Misalnya, menggunakan (dalam R)

x <- rnorm(100)
ks.test(x, "pnorm", mean=mean(x), sd=sd(x))

mengarah ke

        One-sample Kolmogorov-Smirnov test

data:  x 
D = 0.0701, p-value = 0.7096
alternative hypothesis: two-sided

selagi kita dapatkan

> ks.test(x, "pnorm")

        One-sample Kolmogorov-Smirnov test

data:  x 
D = 0.1294, p-value = 0.07022
alternative hypothesis: two-sided 

untuk sampel yang sama x. Level signifikansi atau nilai-p dengan demikian harus ditentukan oleh simulasi Monte Carlo di bawah nol, menghasilkan distribusi statistik Kolmogorov-Smirnov dari sampel yang disimulasikan di bawah perkiraan distribusi (dengan sedikit perkiraan dalam hasil mengingat bahwa sampel yang diamati berasal dari distribusi lain, bahkan di bawah nol).

Xi'an
sumber
1
(+1) Saya tidak mengerti mengapa mensimulasikan sampel di bawah perkiraan distribusi adalah benar. Saya akan berpikir bahwa kami memerlukan prior untuk parameter, dan sampel dari semua distribusi yang mungkin ... dapat Anda jelaskan sedikit lebih banyak?
Elvis
1
Xi'an, jawaban Anda persis apa yang saya khawatirkan. Maksud Anda bahwa "Ketika menggunakan uji Kolmogorov-Smirnov dengan parameter yang diestimasi, distribusi statistik uji di bawah nol tergantung pada distribusi yang diuji". Namun, kami tidak tahu distribusi X, lebih tepatnya, kami tidak tahu parameter distribusi X di bawah hipotesis nol, maka distribusi statistik uji, oleh karena itu, kami menggunakan monte carlo. Apakah Anda memiliki beberapa cara lain untuk menyelesaikannya dengan tidak menggunakan monte carlo untuk mendapatkan nilai P? Terima kasih
user8363
Untuk mempertimbangkan fakta bahwa "sampel yang diamati berasal dari distribusi lain bahkan di bawah nol", tidakkah pantas untuk mem-bootstrap sampel, memperkirakan kembali parameter pada setiap ulangan?
Elvis
1
@ Elvis (1): ini adalah statistik klasik, bukan resolusi Bayesian tentang masalah kecocokan. Untuk distribusi dengan parameter skala lokasi, pilihan parameter yang digunakan untuk mensimulasikan sampel simulasi tidak menjadi masalah.
Xi'an
1
@ Elvis (2): Sekali lagi sesuatu yang baru saja saya diskusikan dengan siswa saya! Bootstrap akan membantu dalam menilai perilaku jarak Kolmogorov-Smirnov di bawah distribusi data yang sebenarnya, bukan di bawah nol! Prinsip Fisher-Neyman-Pearson adalah yang penting adalah perilaku jarak Kolmogorov-Smirnov di bawah nol, sehingga ditolak jika jarak yang diamati terlalu ekstrem, sehingga distribusi ini di bawah nol.
Xi'an
4

Hitung MLE dari parameter dengan asumsi distribusi gamma untuk data Anda dan bandingkan kepadatan teoretis dengan histogram data Anda. Jika keduanya sangat berbeda, distribusi gamma adalah pendekatan data Anda yang buruk. Untuk tes formal Anda dapat menghitung, misalnya, statistik uji Kolmogorov-Smirnoff membandingkan distribusi gamma yang paling pas dengan distribusi empiris dan menguji signifikansi.

Makro
sumber
3
+1, ini adalah jawaban yang solid. Namun, saya akan menyarankan memeriksa plot-qq terhadap gamma teoritis daripada histogram - akan lebih mudah untuk menilai penyimpangan.
gung - Reinstate Monica
1
Masalahnya adalah bahwa tes KS mengasumsikan distribusi teoritis diberikan sebelumnya, tidak diperkirakan dari data. Xi'an (sebagian) menjawab ke titik itu ...
Elvis
Maksud Anda, pertama-tama kami menggunakan sampel data ini untuk mendapatkan penaksir MLS dan menggunakan nilai penaksir MLS dalam distribusi Gamma, lalu membandingkan data dengan distribusi Gamma (dengan parameter taksiran) dengan menggunakan uji KS?
user8363
Elvis, tolong beri tahu saya cara mengatasi masalah bahwa ketika parameter distribusi teoritis tidak diketahui dan perlu diperkirakan. Dalam kasus ini, bagaimana seseorang dapat menggunakan uji KS untuk mendapatkan penilaian hipotesis yang relatif akurat, terima kasih!
user8363
1
@ Elvis: Saya tidak berpikir derivasi yang tepat mungkin terjadi dalam kasus distribusi gamma. Cdf itu sendiri tidak tersedia dalam bentuk tertutup. Selanjutnya, fakta bahwa parameter bentuk bukan skala atau lokasi berarti bahwa ada distribusi yang berbeda untuk setiap nilai parameter bentuk ...
Xi'an