ฉันจะทดสอบได้อย่างไรว่าตัวอย่างที่ได้รับมาจากการแจกแจงปัวซอง


41

ฉันรู้ว่าการทดสอบภาวะปกติ แต่ฉันจะทดสอบ "Poisson-ness" ได้อย่างไร?

ฉันมีตัวอย่างจำนวนเต็ม 1000 จำนวนที่ไม่เป็นลบซึ่งฉันสงสัยว่านำมาจากการแจกแจงแบบปัวซองและฉันต้องการทดสอบสิ่งนั้น

คำตอบ:


18

ก่อนอื่นคำแนะนำของฉันคือคุณต้องละเว้นการทดลองใช้ปัวซงการกระจายแบบเดียวกับข้อมูล ฉันขอแนะนำให้คุณต้องสร้างทฤษฎีก่อนว่าทำไมการแจกแจงปัวซองจึงเหมาะกับชุดข้อมูลเฉพาะหรือปรากฏการณ์

เมื่อคุณสร้างคำถามนี้ขึ้นมาแล้วคำถามต่อไปคือการกระจายตัวนั้นเป็นเนื้อเดียวกันหรือไม่ ซึ่งหมายความว่าทุกส่วนของข้อมูลได้รับการจัดการโดยการกระจายปัวซองเดียวกันหรือมีการเปลี่ยนแปลงในลักษณะนี้ขึ้นอยู่กับบางแง่มุมเช่นเวลาหรือพื้นที่ เมื่อคุณมั่นใจในประเด็นเหล่านี้แล้วให้ลองทดสอบสามแบบต่อไปนี้:

  1. การทดสอบอัตราส่วนความน่าจะเป็นโดยใช้ตัวแปรไคสแควร์
  2. การใช้สถิติไคสแควร์แบบมีเงื่อนไข หรือที่เรียกว่าการทดสอบการกระจายตัวแบบปัวซองหรือการทดสอบความแปรปรวน
  3. ใช้สถิติ neyman-scott ที่ตั้งอยู่บนพื้นฐานของความแปรปรวนของการเปลี่ยนแปลงเสถียรภาพของตัวแปรปัวซอง

ค้นหาสิ่งเหล่านี้และคุณจะพบพวกเขาได้อย่างง่ายดายบนอินเทอร์เน็ต


3
"ไม่ว่าการกระจายตัวจะเป็นเนื้อเดียวกันหรือไม่ ... เมื่อคุณมั่นใจในประเด็นเหล่านี้" คุณช่วยแสดงความคิดเห็นเล็กน้อยเกี่ยวกับวิธีการกำหนดสิ่งนี้ได้หรือไม่?
หมายถึงความหมาย

13

นี่คือลำดับของคำสั่ง R ที่อาจเป็นประโยชน์ อย่าลังเลที่จะแสดงความคิดเห็นหรือแก้ไขหากคุณพบข้อผิดพลาดใด ๆ

set.seed(1)
x.poi<-rpois(n=200,lambda=2.5) # a vector of random variables from the Poisson distr.

hist(x.poi,main="Poisson distribution")

lambda.est <- mean(x.poi) ## estimate of parameter lambda
(tab.os<-table(x.poi)) ## table with empirical frequencies


freq.os<-vector()
for(i in 1: length(tab.os)) freq.os[i]<-tab.os[[i]]  ## vector of emprical frequencies

freq.ex<-(dpois(0:max(x.poi),lambda=lambda.est)*200) ## vector of fitted (expected) frequencies

acc <- mean(abs(freq.os-trunc(freq.ex))) ## absolute goodness of fit index acc
acc/mean(freq.os)*100 ## relative (percent) goodness of fit index

h <- hist(x.poi ,breaks=length(tab.os))
xhist <- c(min(h$breaks),h$breaks)
yhist <- c(0,h$density,0)
xfit <- min(x.poi):max(x.poi)
yfit <- dpois(xfit,lambda=lambda.est)
plot(xhist,yhist,type="s",ylim=c(0,max(yhist,yfit)), main="Poison density and histogram")
lines(xfit,yfit, col="red")

#Perform the chi-square goodness of fit test 
#In case of count data we can use goodfit() included in vcd package
library(vcd) ## loading vcd package
gf <- goodfit(x.poi,type= "poisson",method= "MinChisq")
summary(gf)
plot(gf,main="Count data vs Poisson distribution")

3
บรรทัดนี้: freq.ex <- (dpois (0: สูงสุด (x.poi), lambda = lambda.est) * 200) สร้างข้อผิดพลาดด้วยข้อมูลโลกแห่งความจริงเนื่องจากความยาวของ freq.ex จะไม่ตรงกับความถี่ obs ในบรรทัดนี้ acc <- mean (abs (freq.os-trunc (freq.ex)) ฉันปรับบรรทัดนี้เป็น freq.ex <- (dpois (seq (0, สูงสุด (x.poi)) [seq (0: สูงสุด (x.poi))% ใน% x.poi], lambda = lambda.est) * 200) แต่บางสิ่งบางอย่างยังไม่ถูกต้องเพราะ goodfit สร้างคำเตือน
russellpierce

การใช้รหัสของคุณฉันได้รับดัชนีความฟิตที่ 121 แต่มันสัมพันธ์กันใช่ไหม ดังนั้นควรอยู่ระหว่าง 0 ถึง 100 ใช่ไหม
MERose


5

คุณสามารถใช้การกระจายตัว (อัตราส่วนความแปรปรวนต่อค่าเฉลี่ย) เป็นสถิติการทดสอบเนื่องจาก Poisson ควรให้การกระจายตัวที่ 1 นี่คือลิงค์ไปยังวิธีการใช้เป็นการทดสอบแบบจำลอง


+1 ขอบคุณ ฉันมักจะได้รับบางส่วน "weired" ผลตัวอย่างเช่นการกระจายปกติได้รับสูง p-value แล้ว Poisson หนึ่งที่แลมบ์ดามีขนาดค่อนข้างเล็ก (ดังนั้นโดยลักษณะเฉพาะปกติและ Poisson ไม่ได้คล้ายกันเลย)
เดวิด B

6
404 ไม่พบ !!
Rodrigo

5

สำหรับการแจกแจงปัวซงค่าเฉลี่ยเท่ากับความแปรปรวน หากค่าเฉลี่ยตัวอย่างของคุณแตกต่างจากความแปรปรวนตัวอย่างมากคุณอาจไม่มีข้อมูลปัวซอง การทดสอบการกระจายตัวยังกล่าวถึงในที่นี้คือความเป็นทางการของแนวคิดนั้น

หากความแปรปรวนของคุณมีขนาดใหญ่กว่าค่าเฉลี่ยของคุณเช่นเดียวกับกรณีทั่วไปคุณอาจต้องการลองแจกแจงทวินามลบต่อไป


5
แล้วถ้าค่าเฉลี่ยเท่ากับความแปรปรวนคุณสรุปได้ไหมว่าข้อมูลเป็นปัวซอง? แทบจะไม่ได้!
PeterR

จริง จำเป็น แต่ไม่เพียงพอ
John D. Cook

2

คุณสามารถวาดรูปเดียวที่ความถี่ที่สังเกตและคาดหวังถูกวาดแบบเคียงข้างกัน หากการแจกแจงนั้นแตกต่างกันมากและคุณมีอัตราส่วนแปรปรวน - ค่าใหญ่กว่าหนึ่งการเลือกที่ดีคือทวินามลบ อ่านส่วนแจกแจงความถี่The R Bookจาก มันเกี่ยวข้องกับปัญหาที่คล้ายกันมาก


1

ฉันคิดว่าประเด็นหลักคือยกระดับซิดมาสโทร ... การตั้งค่าการทดลองหรือกลไกการสร้างข้อมูลสนับสนุนสมมติฐานที่ว่าข้อมูลอาจเกิดขึ้นจากการกระจายของปัวซอง

ฉันไม่ได้เป็นแฟนตัวยงของการทดสอบสำหรับสมมติฐานการกระจายเนื่องจากการทดสอบเหล่านั้นมักจะไม่เป็นประโยชน์ สิ่งที่ดูเหมือนว่ามีประโยชน์มากกว่าสำหรับฉันคือการตั้งสมมติฐานเกี่ยวกับการกระจายสินค้าหรือตัวแบบที่ยืดหยุ่นและมีความทนทานต่อการเบี่ยงเบนจากตัวแบบโดยทั่วไปเพื่อจุดประสงค์ในการอนุมาน จากประสบการณ์ของฉันมันไม่ธรรมดาที่จะเห็นค่าเฉลี่ย = ความแปรปรวนดังนั้นบ่อยครั้งที่โมเดลทวินามลบนั้นดูเหมาะสมกว่าและรวมถึงปัวซองเป็นกรณีพิเศษด้วย

อีกจุดหนึ่งที่สำคัญสำหรับการทดสอบแบบกระจายถ้านั่นคือสิ่งที่คุณต้องการจะทำก็คือเพื่อให้แน่ใจว่าไม่มีชั้นที่เกี่ยวข้องซึ่งจะทำให้การกระจายแบบสังเกตของคุณเป็นส่วนผสมของการแจกแจงแบบอื่น สตราตัมเฉพาะส่วนบุคคลอาจปรากฏปัวซอง แต่ส่วนผสมที่สังเกตอาจไม่เป็นเช่นนั้น สถานการณ์ที่คล้ายคลึงกันจากการถดถอยเพียงสมมติว่าการแจกแจงแบบมีเงื่อนไขของ Y | X นั้นโดยปกติแล้วจะเป็นการกระจายและไม่ใช่การกระจายตัวของ Y จริงๆ


จุดสุดท้ายของคุณเกี่ยวกับการถดถอยจะเป็นจริงถ้า X เป็นแบบสุ่ม ถ้า X ได้รับการแก้ไขแล้ว Y ก็จะเป็นปกติ ไม่ได้หรือไม่

ใช่นี่เป็นเรื่องจริง แต่สำหรับปัญหาการถดถอยทั่วไป (เมื่อเทียบกับปัญหาโนวาหรือปัญหาที่ได้รับการออกแบบ) X ไม่ได้รับการแก้ไข แต่เป็นการสังเกตจากกระบวนการพื้นฐาน อย่างไรก็ตามสำหรับกรณีปัวซองจุดยังคงอยู่เนื่องจากการผสมของปัวซองส์ไม่จำเป็นต้องปัวซอง
อภิสิทธิ์

0

อีกวิธีหนึ่งในการทดสอบนี้คือพล็อตเชิงควอนตัม ใน R มี qqplot นี่เป็นการแปลงค่าของคุณโดยตรงกับการแจกแจงแบบปกติที่มีค่าเฉลี่ยและ SD ที่คล้ายกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.