Ada banyak cara agar distribusi sedikit berbeda dari distribusi Poisson; Anda tidak dapat mengidentifikasi bahwa satu set data yang diambil dari distribusi Poisson. Yang dapat Anda lakukan adalah mencari inkonsistensi dengan apa yang seharusnya Anda lihat dengan Poisson, tetapi kurangnya inkonsistensi yang jelas tidak menjadikannya Poisson.
Namun, apa yang Anda bicarakan di sana dengan memeriksa ketiga kriteria tersebut tidak memeriksa apakah data berasal dari distribusi Poisson dengan cara statistik (yaitu dengan melihat data), tetapi dengan menilai apakah proses data dihasilkan oleh memenuhi kondisi proses Poisson; jika semua kondisi dipegang atau hampir dipegang (dan itu merupakan pertimbangan dari proses pembuatan data), Anda dapat memiliki sesuatu dari atau sangat dekat dengan proses Poisson, yang pada gilirannya akan menjadi cara untuk mendapatkan data yang diambil dari sesuatu yang dekat dengan suatu Distribusi racun.
Tetapi kondisinya tidak berlaku dalam beberapa cara ... dan yang terjauh dari kebenaran adalah nomor 3. Tidak ada alasan khusus atas dasar itu untuk menegaskan proses Poisson, meskipun pelanggaran mungkin tidak begitu buruk sehingga data yang dihasilkan jauh dari Poisson.
Jadi kita kembali ke argumen statistik yang berasal dari memeriksa data itu sendiri. Bagaimana data menunjukkan bahwa distribusi itu Poisson, bukan sesuatu seperti itu?
Seperti yang disebutkan di awal, yang dapat Anda lakukan adalah memeriksa apakah data tersebut jelas tidak konsisten dengan distribusi yang mendasari Poisson, tetapi itu tidak memberi tahu Anda bahwa mereka diambil dari Poisson (Anda sudah dapat yakin bahwa mereka tidak).
Anda dapat melakukan pemeriksaan ini melalui tes goodness of fit.
Chi-square yang disebutkan adalah salah satunya, tetapi saya tidak akan merekomendasikan tes chi-square untuk situasi ini sendiri **; ia memiliki daya rendah terhadap penyimpangan yang menarik. Jika tujuan Anda adalah untuk memiliki kekuatan yang baik, Anda tidak akan mendapatkannya dengan cara itu (jika Anda tidak peduli dengan kekuatan, mengapa Anda menguji?). Nilai utamanya adalah dalam kesederhanaan, dan memiliki nilai pedagogis; di luar itu, itu tidak kompetitif sebagai uji goodness of fit.
** Ditambahkan di edit nanti: Sekarang jelas ini adalah pekerjaan rumah, kemungkinan Anda diharapkan untuk melakukan tes chi-squared untuk memeriksa data tidak konsisten dengan Poisson naik cukup banyak. Lihat contoh saya uji chi-square, uji kelayakan, dilakukan di bawah plot Poissonness pertama
Orang sering melakukan tes ini untuk alasan yang salah (misalnya karena mereka ingin mengatakan 'oleh karena itu tidak apa-apa untuk melakukan beberapa hal statistik lainnya dengan data yang mengasumsikan bahwa data tersebut adalah Poisson'). Pertanyaan sebenarnya adalah 'seberapa salahkah itu bisa terjadi?' ... dan tes kecocokan yang baik tidak banyak membantu dengan pertanyaan itu. Seringkali jawaban untuk pertanyaan itu adalah yang terbaik yang independen (/ hampir independen) dari ukuran sampel —— dan dalam beberapa kasus, satu dengan konsekuensi yang cenderung hilang dengan ukuran sampel ... sementara uji goodness of fit tidak berguna dengan sampel kecil (di mana risiko Anda dari pelanggaran asumsi sering kali terbesar).
Jika Anda harus menguji distribusi Poisson ada beberapa alternatif yang masuk akal. Satu akan melakukan sesuatu yang mirip dengan tes Anderson-Darling, berdasarkan statistik AD tetapi menggunakan distribusi simulasi di bawah nol (untuk menjelaskan masalah kembar dari distribusi diskrit dan bahwa Anda harus memperkirakan parameter).
Alternatif yang lebih sederhana mungkin adalah Tes Lancar untuk mendapatkan kecocokan - ini adalah kumpulan tes yang dirancang untuk distribusi individual dengan memodelkan data menggunakan keluarga polinomial yang ortogonal berkenaan dengan fungsi probabilitas dalam nol. Alternatif dengan urutan rendah (yaitu menarik) diuji dengan menguji apakah koefisien polinomial di atas basis satu berbeda dari nol, dan ini biasanya dapat berurusan dengan estimasi parameter dengan menghilangkan syarat urutan terendah dari pengujian. Ada ujian untuk Poisson. Saya dapat menggali referensi jika Anda membutuhkannya.
n ( 1 - r2)log( xk) + log( k ! )k
Berikut adalah contoh perhitungan itu (dan plot), dilakukan di R:
y=rpois(100,5)
n=length(y)
(x=table(y))
y
0 1 2 3 4 5 6 7 8 9 10
1 2 7 15 19 25 14 7 5 1 4
k=as.numeric(names(x))
plot(k,log(x)+lfactorial(k))
Berikut statistik yang saya sarankan dapat digunakan untuk uji kelayakan Poisson:
n*(1-cor(k,log(x)+lfactorial(k))^2)
[1] 1.0599
Tentu saja, untuk menghitung nilai-p, Anda juga perlu mensimulasikan distribusi statistik uji di bawah nol (dan saya belum membahas bagaimana orang mungkin berurusan dengan angka nol di dalam kisaran nilai). Ini harus menghasilkan tes yang cukup kuat. Ada banyak tes alternatif lainnya.
Berikut adalah contoh melakukan plot Poissonness pada sampel ukuran 50 dari distribusi geometrik (p = 0,3):
Seperti yang Anda lihat, ini menampilkan 'ketegaran' yang jelas, menunjukkan nonlinier
Referensi untuk plot Kemunafikan adalah:
David C. Hoaglin (1980),
"A Poissonness Plot",
The American Statistician
Vol. 34, No. 3 (Agustus,), hlm. 146-149
dan
Hoaglin, D. dan J. Tukey (1985),
"9. Memeriksa Bentuk Distribusi Diskrit",
Menjelajahi Tabel Data, Tren dan Bentuk ,
(Hoaglin, Mosteller & eduk Tukey)
John Wiley & Sons
Referensi kedua berisi penyesuaian plot untuk jumlah kecil; Anda mungkin ingin memasukkannya (tapi saya tidak punya referensi di tangan).
Contoh melakukan uji kelayakan chi-square:
Selain melakukan chi-square goodness of fit, cara itu biasanya diharapkan akan dilakukan di banyak kelas (meskipun bukan cara saya melakukannya):
1: dimulai dengan data Anda, (yang akan saya ambil sebagai data yang saya buat secara acak di 'y' di atas, buat tabel perhitungan:
(x=table(y))
y
0 1 2 3 4 5 6 7 8 9 10
1 2 7 15 19 25 14 7 5 1 4
2: menghitung nilai yang diharapkan di setiap sel, dengan asumsi Poisson dilengkapi oleh ML:
(expec=dpois(0:10,lambda=mean(y))*length(y))
[1] 0.7907054 3.8270142 9.2613743 14.9416838 18.0794374 17.5008954 14.1173890 9.7611661
[9] 5.9055055 3.1758496 1.5371112
3: perhatikan bahwa kategori akhirnya kecil; ini membuat distribusi chi-square kurang baik sebagai perkiraan untuk distribusi statistik uji (aturan umum adalah Anda ingin nilai yang diharapkan minimal 5, meskipun banyak makalah telah menunjukkan bahwa aturan menjadi membatasi tidak perlu; saya akan mengambilnya dekat, tetapi pendekatan umum dapat disesuaikan dengan aturan yang lebih ketat). Perkecil kategori yang berdekatan, sehingga nilai minimum yang diharapkan setidaknya tidak terlalu jauh di bawah 5 (satu kategori dengan penghitungan mundur mendekati 1 dari lebih dari 10 kategori tidak terlalu buruk, dua merupakan batas yang cantik). Perhatikan juga bahwa kami belum memperhitungkan probabilitas di luar "10", jadi kami juga perlu memasukkan itu:
expec[1]=sum(expec[1:2])
expec[2:8]=expec[3:9]
expec[9]=length(y)-sum(expec[1:8])
expec=expec[1:9]
expec
sum(expec) # now adds to n
4: demikian pula, runtuh kategori pada yang diamati:
(obs=table(y))
obs[1]=sum(obs[1:2])
obs[2:8]=obs[3:9]
obs[9]=sum(obs[10:11])
obs=obs[1:9]
( Osaya- Esaya)2/ Esaya
print(cbind(obs,expec,PearsonRes=(obs-expec)/sqrt(expec),ContribToChisq=(obs-expec)^2/expec),d=4)
obs expec PearsonRes ContribToChisq
0 3 4.618 -0.75282 0.5667335
1 7 9.261 -0.74308 0.5521657
2 15 14.942 0.01509 0.0002276
3 19 18.079 0.21650 0.0468729
4 25 17.501 1.79258 3.2133538
5 14 14.117 -0.03124 0.0009761
6 7 9.761 -0.88377 0.7810581
7 5 5.906 -0.37262 0.1388434
8 5 5.815 -0.33791 0.1141816
X2= ∑saya( Esaya- Osaya)2/ Esaya
(chisq = sum((obs-expec)^2/expec))
[1] 5.414413
(df = length(obs)-1-1) # lose an additional df for parameter estimate
[1] 7
(pvalue=pchisq(chisq,df))
[1] 0.3904736
Baik diagnostik dan nilai-p menunjukkan tidak ada kekurangan di sini ... yang kami harapkan, karena data yang kami hasilkan sebenarnya adalah Poisson.
Sunting: inilah tautan ke blog Rick Wicklin yang membahas plot Poissonness, dan berbicara tentang implementasi dalam SAS dan Matlab
http://blogs.sas.com/content/iml/2012/04/12/the-poissonness-plot-a-goodness-of-fit-diagnostic/
Sunting2: Jika saya benar, plot Poissonness yang dimodifikasi dari referensi 1985 adalah *:
y=rpois(100,5)
n=length(y)
(x=table(y))
k=as.numeric(names(x))
x=as.vector(x)
x1 = ifelse(x==0,NA,ifelse(x>1,x-.8*x/n-.67,exp(-1)))
plot(k,log(x1)+lfactorial(k))
* Mereka benar-benar menyesuaikan intersep juga, tapi saya belum melakukannya di sini; itu tidak mempengaruhi penampilan plot, tetapi Anda harus berhati-hati jika Anda menerapkan hal lain dari referensi (seperti interval kepercayaan) jika Anda melakukannya sama sekali berbeda dari pendekatan mereka.
(Untuk contoh di atas, penampilan hampir tidak berubah dari plot Poissonness pertama.)