Có vô số cách để phân phối hơi khác so với phân phối Poisson; bạn không thể xác định rằng một tập hợp dữ liệu được rút ra từ phân phối Poisson. Những gì bạn có thể làm là tìm kiếm sự không nhất quán với những gì bạn sẽ thấy với Poisson, nhưng sự thiếu nhất quán rõ ràng không làm cho nó trở thành Poisson.
Tuy nhiên, những gì bạn đang nói về việc đó bằng cách kiểm tra ba tiêu chí đó không phải là kiểm tra dữ liệu đến từ phân phối Poisson bằng phương tiện thống kê (tức là bằng cách xem dữ liệu), mà bằng cách đánh giá liệu quy trình dữ liệu được tạo ra có thỏa mãn hay không điều kiện của một quá trình Poisson; nếu tất cả các điều kiện được tổ chức hoặc gần như giữ (và đó là xem xét quá trình tạo dữ liệu), bạn có thể có một cái gì đó từ hoặc rất gần với quy trình Poisson, đó sẽ là cách lấy dữ liệu được rút ra từ một thứ gần với Phân phối Poisson.
Nhưng các điều kiện không theo nhiều cách ... và xa nhất là đúng 3. Không có lý do cụ thể nào trên cơ sở đó để khẳng định quy trình Poisson, mặc dù các vi phạm có thể không tệ đến mức dữ liệu kết quả là xa từ Poisson.
Vì vậy, chúng tôi trở lại với các đối số thống kê xuất phát từ việc kiểm tra dữ liệu. Làm thế nào dữ liệu cho thấy rằng phân phối là Poisson, chứ không phải là một cái gì đó giống như nó?
Như đã đề cập lúc đầu, những gì bạn có thể làm là kiểm tra xem dữ liệu rõ ràng không phù hợp với phân phối cơ bản là Poisson hay không, nhưng điều đó không cho bạn biết chúng được rút ra từ Poisson (bạn có thể tin chắc rằng chúng là không phải).
Bạn có thể làm kiểm tra này thông qua các bài kiểm tra sức khỏe phù hợp.
Hình vuông chi được đề cập là một trong số đó, nhưng tôi sẽ không đề xuất kiểm tra chi bình phương cho tình huống này **; nó có sức mạnh thấp chống lại những sai lệch thú vị. Nếu mục tiêu của bạn là có sức mạnh tốt, bạn sẽ không đạt được điều đó (nếu bạn không quan tâm đến sức mạnh, tại sao bạn lại thử nghiệm?). Giá trị chính của nó là ở sự đơn giản, và nó có giá trị sư phạm; ngoài điều đó, nó không cạnh tranh như là một điểm tốt của bài kiểm tra phù hợp.
** Đã thêm vào chỉnh sửa sau: Bây giờ rõ ràng đây là bài tập về nhà, cơ hội mà bạn dự kiến sẽ thực hiện kiểm tra chi bình phương để kiểm tra dữ liệu không phù hợp với Poisson tăng lên khá nhiều. Xem ví dụ về mức độ phù hợp chi bình phương của tôi về kiểm tra sự phù hợp, được thực hiện bên dưới âm mưu Poissonness đầu tiên
Mọi người thường thực hiện các thử nghiệm này vì lý do sai (ví dụ: vì họ muốn nói 'do đó, bạn có thể thực hiện một số điều thống kê khác với dữ liệu giả định rằng dữ liệu là Poisson'). Câu hỏi thực sự là 'điều đó có thể sai đến mức nào?' ... Và sự tốt đẹp của các bài kiểm tra phù hợp không thực sự giúp ích nhiều cho câu hỏi đó. Thường thì câu trả lời cho câu hỏi đó là tốt nhất là một câu độc lập (/ gần như độc lập) với cỡ mẫu CHUYÊN và trong một số trường hợp, một kết quả có xu hướng biến mất với cỡ mẫu ... trong khi kiểm tra mức độ phù hợp là vô ích với các mẫu nhỏ (trong đó rủi ro của bạn từ việc vi phạm các giả định thường lớn nhất).
Nếu bạn phải kiểm tra phân phối Poisson, có một vài lựa chọn thay thế hợp lý. Người ta sẽ làm một cái gì đó giống với thử nghiệm Anderson-Darling, dựa trên thống kê AD nhưng sử dụng phân phối mô phỏng theo null (để giải quyết các vấn đề sinh đôi của phân phối rời rạc và bạn phải ước tính các tham số).
Một giải pháp thay thế đơn giản hơn có thể là Thử nghiệm mượt mà về mức độ phù hợp - đây là một tập hợp các thử nghiệm được thiết kế cho các phân phối riêng lẻ bằng cách mô hình hóa dữ liệu bằng một họ đa thức trực giao với hàm xác suất trong null. Các lựa chọn thay thế bậc thấp (nghĩa là thú vị) được kiểm tra bằng cách kiểm tra xem các hệ số của đa thức trên cơ sở có khác 0 hay không và chúng thường có thể xử lý ước lượng tham số bằng cách bỏ qua các điều khoản bậc thấp nhất từ phép thử. Có một bài kiểm tra như vậy cho Poisson. Tôi có thể đào một tài liệu tham khảo nếu bạn cần nó.
Bạn cũng có thể sử dụng mối tương quan (hoặc, giống như một thử nghiệm Shapiro-Francia, có lẽ ) trong một âm mưu Poissonness - ví dụ như một âm mưu của vs (xem Hoaglin, 1980) - như một thống kê kiểm tra.n(1−r2)log(xk)+log(k!)k
Đây là một ví dụ về tính toán đó (và cốt truyện), được thực hiện trong 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))
Đây là số liệu thống kê mà tôi đề xuất có thể được sử dụng để kiểm tra mức độ phù hợp của Poisson:
n*(1-cor(k,log(x)+lfactorial(k))^2)
[1] 1.0599
Tất nhiên, để tính giá trị p, bạn cũng cần mô phỏng phân phối thống kê kiểm tra theo giá trị null (và tôi đã không thảo luận về cách người ta có thể xử lý số không trong phạm vi giá trị). Điều này sẽ mang lại một bài kiểm tra hợp lý mạnh mẽ. Có rất nhiều thử nghiệm thay thế khác.
Dưới đây là ví dụ về thực hiện biểu đồ Poissonness trên mẫu có kích thước 50 từ phân phối hình học (p = .3):
Như bạn thấy, nó hiển thị một 'nút' rõ ràng, biểu thị tính phi tuyến
Tài liệu tham khảo cho cốt truyện Poissonness sẽ là:
David C. Hoaglin (1980),
"Một âm mưu độc ác",
The Statistician
Vol. 34, số 3 (tháng 8,), trang 146-149
và
Hoaglin, D. và J. Tukey (1985),
"9. Kiểm tra hình dạng của phân phối rời rạc",
khám phá các bảng dữ liệu, xu hướng và hình dạng ,
(Hoaglin, Mosteller & Tukey eds)
John Wiley & Sons
Tham chiếu thứ hai chứa một điều chỉnh cho âm mưu cho số lượng nhỏ; bạn có thể muốn kết hợp nó (nhưng tôi không có tài liệu tham khảo).
Ví dụ về làm một bài kiểm tra mức độ phù hợp chi bình phương:
Bên cạnh việc thực hiện mức độ phù hợp chi bình phương, cách thức thường được dự kiến sẽ được thực hiện trong rất nhiều lớp học (mặc dù không phải là cách tôi sẽ làm):
1: bắt đầu với dữ liệu của bạn, (mà tôi sẽ lấy là dữ liệu tôi tạo ngẫu nhiên trong 'y' ở trên, tạo bảng tổng số:
(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: tính giá trị mong đợi trong mỗi ô, giả sử Poisson được trang bị 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: lưu ý rằng các loại kết thúc là nhỏ; điều này làm cho phân phối chi bình phương kém tốt hơn so với phân phối thống kê kiểm tra (một quy tắc chung là bạn muốn các giá trị dự kiến ít nhất là 5, mặc dù nhiều bài báo đã cho thấy quy tắc đó bị hạn chế một cách không cần thiết; gần gũi, nhưng cách tiếp cận chung có thể được điều chỉnh theo quy tắc chặt chẽ hơn). Thu gọn các danh mục liền kề, để các giá trị dự kiến tối thiểu ít nhất không quá 5 (một danh mục có số lượng dự kiến giảm xuống gần 1 trong số hơn 10 danh mục không quá tệ, hai là đường biên giới khá đẹp). Cũng lưu ý rằng chúng tôi chưa tính đến xác suất vượt quá "10", vì vậy chúng tôi cũng cần kết hợp điều đó:
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: tương tự, các loại sụp đổ trên quan sát:
(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]
5: Đặt vào một bảng, (tùy chọn) cùng với sự đóng góp cho chi bình phương và Pearson dư (căn bậc hai đã ký của đóng góp), những điều này có thể hữu ích khi thử xem nó không phù hợp lắm(Oi−Ei)2/Ei
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
6: Tính , với mất 1df cho tổng số dự kiến khớp với tổng số quan sát được và thêm 1 để ước tính tham số:X2=∑i(Ei−Oi)2/Ei
(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
Cả chẩn đoán và giá trị p đều không thiếu sự phù hợp ở đây ... mà chúng tôi mong đợi, vì dữ liệu chúng tôi tạo ra thực sự là Poisson.
Chỉnh sửa: đây là một liên kết đến blog của Rick Wicklin, thảo luận về cốt truyện Poissonness, và nói về việc triển khai trong SAS và Matlab
http://bloss.sas.com/content/iml/2012/04/12/the-poissonness-plot-a-goodness-of-fit-diagnellect/
Edit2: Nếu tôi có quyền, cốt truyện Poissonness đã sửa đổi từ tài liệu tham khảo năm 1985 sẽ là *:
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))
* Họ thực sự cũng điều chỉnh việc đánh chặn, nhưng tôi đã không làm như vậy ở đây; nó không ảnh hưởng đến sự xuất hiện của cốt truyện, nhưng bạn phải cẩn thận nếu bạn thực hiện bất cứ điều gì khác từ tài liệu tham khảo (chẳng hạn như khoảng tin cậy) nếu bạn thực hiện nó hoàn toàn khác với cách tiếp cận của họ.
(Đối với ví dụ trên, ngoại hình hầu như không thay đổi so với cốt truyện Poissonness đầu tiên.)