การทดสอบทางสถิติสำหรับตารางฉุกเฉิน nxm


12

ฉันมีชุดข้อมูลที่ประกอบด้วยองค์ประกอบจากสามกลุ่มลองเรียกมันว่า G1, G2 และ G3 ฉันวิเคราะห์คุณสมบัติบางอย่างขององค์ประกอบเหล่านี้และแบ่งออกเป็น "พฤติกรรม" 3 ประเภท T1, T2 และ T3 (ฉันใช้การวิเคราะห์กลุ่มเพื่อทำสิ่งนั้น)

ดังนั้นตอนนี้ฉันมีตารางฉุกเฉิน 3 x 3 เช่นนี้โดยมีจำนวนองค์ประกอบในสามกลุ่มหารตามประเภท:

      |    T1   |    T2   |    T3   |
------+---------+---------+---------+---
  G1  |   18    |   15    |   65    | 
------+---------+---------+---------+---
  G2  |   20    |   10    |   70    |
------+---------+---------+---------+---
  G3  |   15    |   55    |   30    |

ตอนนี้ฉันสามารถรันการทดสอบฟิชเชอร์กับข้อมูลเหล่านี้ใน R

data <- matrix(c(18, 20, 15, 15, 10, 55, 65, 70, 30), nrow=3)
fisher.test(data)

และฉันได้รับ

   Fisher's Exact Test for Count Data

data:  data 
p-value = 9.028e-13
alternative hypothesis: two.sided     

ดังนั้นคำถามของฉันคือ:

  • ถูกต้องหรือไม่ที่จะใช้การทดสอบแบบฟิชเชอร์ด้วยวิธีนี้?

  • ฉันจะรู้ได้อย่างไรว่าใครแตกต่างจากใคร ฉันสามารถใช้การทดสอบหลังการทดสอบได้หรือไม่ มองไปที่ข้อมูลที่ฉันจะบอกว่า 3 กลุ่มที่มีพฤติกรรมที่แตกต่างจากครั้งแรกที่สองฉันจะแสดงให้เห็นว่าสถิติ?

  • มีคนชี้ให้ฉันไปที่แบบจำลอง logit: พวกเขาเป็นตัวเลือกที่ทำงานได้สำหรับการวิเคราะห์ประเภทนี้หรือไม่?

  • ตัวเลือกอื่นในการวิเคราะห์ข้อมูลประเภทนี้

ขอบคุณมาก

นิโก้

คำตอบ:


13

ตอนแรกฉันคิดว่าการทดสอบฟิชเชอร์นั้นใช้อย่างถูกต้อง

ข้อมูลการนับจะได้รับการจัดการที่ดีขึ้นโดยใช้แบบจำลองการบันทึกเชิงเส้น (ไม่ใช่แบบ logit เพื่อให้แน่ใจว่าค่าที่ติดตั้งถูกผูกไว้ด้านล่าง) ใน R คุณสามารถระบุfamily=poisson(ซึ่งตั้งข้อผิดพลาด = Poisson และ link = log) ลิงก์บันทึกตรวจสอบให้แน่ใจว่าค่าติดตั้งทั้งหมดเป็นค่าบวกในขณะที่ข้อผิดพลาดของปัวซองพิจารณาถึงความจริงที่ว่าข้อมูลเป็นจำนวนเต็มและมีความแปรปรวนที่เท่ากับค่าเฉลี่ย เช่นglm(y~x,poisson)และรูปแบบจะติดตั้งลิงค์บันทึกและข้อผิดพลาดปัวซอง (เพื่อบัญชีสำหรับการไม่ปกติ)

ในกรณีที่มีการกระจายมากเกินไป (การเบี่ยงเบนที่เหลือควรเท่ากับองศาอิสระหากสมมติฐานของข้อผิดพลาดของปัวซองมีความเหมาะสม) แทนที่จะใช้quasipoissonเป็นตระกูลข้อผิดพลาดคุณสามารถใส่แบบจำลองทวินามลบได้ (สิ่งนี้เกี่ยวข้องกับฟังก์ชั่นglm.nbจากแพ็คเกจMASS)

ในกรณีของคุณคุณสามารถใส่และเปรียบเทียบรุ่นโดยใช้คำสั่งดังนี้:

observed <- as.vector(data)
Ts<-factor(rep(c("T1","T2","T3"),each=3))
Gs<-factor(rep(c("G1","G2","G3"),3))

model1<-glm(observed~Ts*Gs,poisson)

#or and a model without the interaction terms
model2<-glm(observed~Ts+Gs,poisson)


#you can compare the two models using anova with a chi-squared test
anova(model1,model2,test="Chi")
summary(model1)

ตรวจสอบให้แน่ใจเสมอว่าโมเดลขั้นต่ำของคุณมีตัวแปรที่สร้างความรำคาญทั้งหมด

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

นี่คือข้อมูลเดียวกันที่พล็อตเป็นพล็อตโมเสค

mosaicplot(data, shade = TRUE)

ขอบคุณนั่นคือสิ่งที่ฉันต้องการ ฉันไม่แน่ใจในสิ่งที่คุณหมายถึงเมื่อพูดถึง overdispersion (ขออภัยฉันไม่ใช่นักสถิติบางทีอาจเป็นสิ่งที่ธรรมดามาก) ... คุณบอกว่าการเบี่ยงเบนที่เหลือควรเท่ากับองศาอิสระที่เหลือ ... ฉันจะตรวจสอบได้อย่างไร
โก้

ถ้าคุณให้summary(model1)คุณจะได้เห็นอะไรบางอย่างResidual deviance: -2.7768e-28 on 0 degrees of freedom
George Dontas

4

คุณสามารถใช้Multinomจากแพ็คเกจ nnet สำหรับการถดถอยหลายค่า การทดสอบหลังเลิกเรียนคุณสามารถใช้linearHypothesisจากแพ็คเกจรถยนต์ คุณสามารถดำเนินการทดสอบความเป็นอิสระโดยใช้linearHypothesis (Wald ทดสอบ) หรือANOVA (ทดสอบ LR)

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