วิธีการใช้งาน ANOVA แบบสองทางกับข้อมูลที่ไม่มีค่าปกติและความแปรปรวนใน R ได้อย่างไร?


16

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

แผนคือการใช้ TWO-WAY-ANOVA แบบง่าย ๆ กับข้อมูลของฉันซึ่งเป็นผลมาจากโปรตีน 3 ชนิดและการรักษา 8 แบบที่แตกต่างกันดังนั้นสองปัจจัยของฉันคือโปรตีนและการรักษา ฉันทดสอบความเป็นมาตรฐานโดยใช้ทั้งสองอย่าง

> shapiro.test(time)

และ

> ks.test(time, "norm", mean=mean(time), sd=sqrt(var(time)))

ในทั้งสองกรณี (อาจไม่แปลกใจ) ฉันลงเอยด้วยการแจกแจงแบบไม่ธรรมดา

ที่เหลือฉันด้วยคำถามแรกของการทดสอบที่จะใช้เพื่อความเท่าเทียมกันของความแปรปรวน ฉันมาด้วย

> chisq.test(time)

และผลลัพธ์ก็คือว่าฉันไม่มีความเท่าเทียมกันของความแปรปรวนในข้อมูลของฉันเช่นกัน

ฉันลองการแปลงข้อมูลที่แตกต่างกัน (log, center, standardization) ซึ่งทั้งหมดไม่ได้แก้ปัญหาด้วยความแปรปรวน

ตอนนี้ฉันกำลังตกอยู่ในความสูญเสียวิธีดำเนินการ ANOVA สำหรับการทดสอบว่าโปรตีนและการรักษาใดแตกต่างกัน ฉันพบบางอย่างเกี่ยวกับ Kruskal-Walis-Test แต่มีเพียงปัจจัยเดียวเท่านั้น (?) ฉันยังพบสิ่งต่าง ๆ เกี่ยวกับการจัดอันดับหรือการทำให้เสียโฉม แต่ยังไม่มีวิธีการใช้เทคนิคเหล่านั้นใน R

ใครบ้างมีข้อเสนอแนะสิ่งที่ฉันควรทำ?

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

นี่เป็นตัวอย่างของข้อมูลของฉันตามที่แนะนำ (ฉันเสียใจอย่างมากกับรูปแบบฉันไม่สามารถหาวิธีแก้ปัญหาหรือวางไฟล์อื่นฉันยังใหม่กับทุกสิ่งนี้):

protein treatment   time  
A   con 2329.0  
A   HY  1072.0  
A   CL1 4435.0  
A   CL2 2971.0  
A   CL1-HY sim  823.5  
A   CL2-HY sim  491.5  
A   CL1+HY mix  2510.5  
A   CL2+HY mix  2484.5  
A   con 2454.0  
A   HY  1180.5  
A   CL1 3249.7  
A   CL2 2106.7  
A   CL1-HY sim  993.0  
A   CL2-HY sim  817.5  
A   CL1+HY mix  1981.0  
A   CL2+HY mix  2687.5  
B   con 1482.0  
B   HY  2084.7  
B   CL1 1498.0  
B   CL2 1258.5  
B   CL1-HY sim  1795.7  
B   CL2-HY sim  1804.5  
B   CL1+HY mix  1633.0  
B   CL2+HY mix  1416.3  
B   con 1339.0  
B   HY  2119.0  
B   CL1 1093.3  
B   CL2 1026.5  
B   CL1-HY sim  2315.5  
B   CL2-HY sim  2048.5  
B   CL1+HY mix  1465.0  
B   CL2+HY mix  2334.5  
C   con 1614.8  
C   HY  1525.5  
C   CL1 426.3  
C   CL2 1192.0  
C   CL1-HY sim  1546.0  
C   CL2-HY sim  874.5  
C   CL1+HY mix  1386.0  
C   CL2+HY mix  364.5  
C   con 1907.5  
C   HY  1152.5  
C   CL1 639.7  
C   CL2 1306.5  
C   CL1-HY sim  1515.0  
C   CL2-HY sim  1251.0  
C   CL1+HY mix  1350.5  
C   CL2+HY mix  1230.5

2
ดูเหมือนว่าคุณกำลังเดินทางไปกับ R แต่ฉันรู้สึกว่าความยากลำบากของคุณอาจไม่เกี่ยวข้องกับ R เลย บางทีคุณต้องปรึกษานักสถิติเสียก่อนเพื่อรับปัญหาจากนั้นคุณก็จะจัดการปัญหานี้ในทางปฏิบัติ คำถามปัจจุบันของคุณค่อนข้างซับซ้อนและอาจขัดขวางผู้คนไม่ให้ทำเช่นนั้น สำหรับส่วนทางเทคนิคนี่คือเว็บไซต์ไม่กี่แห่ง: ats.ucla.edu/stat/R/seminars/Repeat_Measures/…และบุคลิกภาพ
-project.org/R/r.anova.html

4
ทางเลือกที่ดีมากในการจัดอันดับการทดสอบคือการใช้การเปลี่ยนแปลงของ ANOVA ( uvm.edu/~dhowell/StatPages/More_Stuff/Permutation%20Anova/ … ) ด้วยวิธีการที่หลากหลาย heteroscedastic ไม่สำคัญ เหตุผลหลักที่ผู้คนใช้การจัดอันดับการทดสอบเป็นเพราะง่ายต่อการคำนวณ ที่ไม่สำคัญอีกต่อไป เรามี R และคอมพิวเตอร์ที่มีประสิทธิภาพ ...
Mikko

1
คำตอบคืออะไร โปรดทราบว่าเราไม่สนใจจริง ๆ ว่าการตอบสนองนั้นเป็นการกระจายแบบทั่วไปหรือไม่เราต้องการตรวจสอบว่าส่วนที่เหลือจากการวิเคราะห์นั้นเป็นปกติประมาณด้วยความแปรปรวนที่คล้ายกันหรือไม่ แต่ถ้ามีผลการรักษาที่แท้จริงแล้วเราจะไม่คาดหวังว่าการตอบสนองจะกระจายไปเล็กน้อย
Dason

1
ฉันจะทราบว่าฉันเพิ่งคว้าข้อมูลที่คุณโพสต์และรัน anova สองทางและทำการทดสอบ shapiro wilks บนส่วนที่เหลือและสิ่งนี้ให้ค่า p-0.5022 ซึ่งไม่ได้เกี่ยวข้องมากเกินไป
Dason

1
@ Sabine normality ไม่ใช่เรื่องใหญ่สำหรับ ANOVA แต่ตัวอย่างของคุณควรมาจากความหมายของประชากรเดียวกันว่าความเท่าเทียมกันของความแปรปรวนเป็นสิ่งที่สำคัญที่สุดข้อสันนิษฐานหลังจากการสุ่มตัวอย่างแน่นอน คุณควรทำบางสิ่งบางอย่างถ้าความแปรปรวนของคุณไม่เท่ากัน (ลอง?bartlett.test)
Mikko

คำตอบ:


12

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

ตัวแปรตอบกลับของคุณคืออะไร?

ประการที่สองโปรดทราบว่าการกระจายการตอบกลับของคุณไม่จำเป็นต้องเป็นเรื่องปกติ แต่ควรมีเงื่อนไขการกระจายในรูปแบบ (เช่นส่วนที่เหลือ) - ไม่ชัดเจนว่าคุณได้ตรวจสอบส่วนที่เหลือของคุณแล้ว นอกจากนี้ภาวะปกติเป็นข้อสมมติฐานที่สำคัญที่สุดของแบบจำลองเชิงเส้น (เช่น ANOVA) ส่วนที่เหลืออาจไม่จำเป็นต้องเป็นปกติอย่างสมบูรณ์ การทดสอบความมีมาตรฐานมักไม่คุ้มค่า (ดูที่นี่สำหรับการสนทนาเกี่ยวกับประวัติส่วนตัว) แผนการนั้นดีกว่ามาก ฉันจะลองแบบจำลอง qq-plotของคุณ ในRสิ่งนี้จะทำด้วยqqnorm()หรือลองqqPlot()ในcarบรรจุภัณฑ์ นอกจากนี้ยังควรพิจารณาถึงลักษณะที่สิ่งตกค้างไม่ปกติด้วย: ความเบ้นั้นสร้างความเสียหายได้มากกว่าความเกินปกติโดยเฉพาะอย่างยิ่งหากทิศทางการเอียงสลับกันระหว่างกลุ่ม

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

ต่อไปฉันไม่ได้ติดตามการทดสอบไคสแควร์ของคุณเพื่อความสม่ำเสมอของความแปรปรวนแม้ว่ามันอาจจะใช้ได้ดีก็ตาม ฉันขอแนะนำให้คุณใช้การทดสอบของ Levene (ใช้leveneTest()ในcar) ความแตกต่างนั้นสร้างความเสียหายได้มากกว่าการไม่ปฏิบัติตามปกติ แต่ ANOVA นั้นค่อนข้างแข็งแกร่งหากความแตกต่างน้อย กฎมาตรฐานทั่วไปคือความแปรปรวนของกลุ่มที่ใหญ่ที่สุดสามารถเล็กที่สุดได้ถึงสี่เท่าโดยไม่มีปัญหาที่รุนแรง การเปลี่ยนแปลงที่ดีควรแก้ไขความแตกต่างด้วย

หากกลยุทธ์เหล่านี้ไม่เพียงพอฉันอาจจะสำรวจการถดถอยที่แข็งแกร่งก่อนที่จะลองใช้วิธีที่ไม่ใช้พารามิเตอร์

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


เมื่อถึงจุดที่สองของฉันฉันเพิ่งเขียนคำตอบที่นี่ซึ่งอาจช่วยทำให้ปัญหานี้ชัดเจนยิ่งขึ้น คุณอาจต้องการอ่าน
gung - Reinstate Monica

8

( หมายเหตุ:คำตอบนี้ถูกโพสต์ก่อนที่คำถามจะได้รับการโยกย้ายและผสานจาก SO ดังนั้นรายละเอียดจึงถูกเพิ่มเข้าไปในคำถามที่ไม่ได้ระบุไว้ที่นี่ส่วนมากจะอยู่ในความคิดเห็นและคำตอบโดย @gung)

มีวิธีการที่แตกต่างกันมากมายและคำถามนี้ครอบคลุมถึงที่อื่นในเว็บไซต์นี้ นี่คือรายการของวิธีการบางอย่างที่มีลิงก์ไปยังคำถามอื่น ๆ ในเว็บไซต์และการอ้างอิงบางส่วน:

  1. การแปลงพลังงาน Box-Coxสามารถทำให้ปกติตกค้างที่อยู่ในระดับที่ไม่ใช่เชิงเส้น
  2. ANOVA ในการจัดอันดับข้อมูลนั้นง่ายมาก แต่มีพลังงานลดลงและยากต่อการตีความ ดูคอนราดและอิมาน (1981)
  3. แบบจำลองลอจิสติกอัตราต่อรองแบบตามสัดส่วน
  4. การทดสอบการเปลี่ยนรูป ( Anderson และ ter Braak 2003 ) นำมาใช้ในและอธิบายโดยAndersonและเป็นadonisฟังก์ชันในแพ็คเกจ R Vegan
  5. ร่วมมือ
  6. การสร้างแบบจำลองลำดับชั้นแบบเบย์ ( Gelman 2005 )

+1 นี่คือรายการตัวเลือกที่พร้อมใช้ในการสำรวจ
gung - Reinstate Monica

ด้านล่างนี้เป็นความคิดเห็นที่มีการแลกเปลี่ยนกันใน Stack Overflow แต่ก็หายไประหว่างการย้ายข้อมูล ดูmeta.stats.stackexchange.com/q/1157/930
chl

คุณรู้หรือไม่ว่ามีการดำเนินการตามแนวคิดของ Anderson และ Braak หรือไม่? - เฮนริก 16 พฤษภาคมที่ 15:15
CHL

@Henrik มีการนำไปใช้ใน FORTRAN Anderson 2005 ซึ่งสามารถใช้งานผ่านฟังก์ชัน R adonisในVeganแพ็คเกจ R / David 16 พฤษภาคมเวลา 16:20
chl

ขอบคุณ adonisดูเหมือนว่าจะทำงานได้แม้จะมี dvivariate อย่างไรก็ตามฉันมีความรู้สึกว่ามันใช้บางอย่างเช่นผลบวกของสี่เหลี่ยมจัตุรัส 1 เมื่อฉันได้รับข้อความTerms added sequentially (first to last)ทุกครั้งที่เรียกใช้ คุณเคยใช้มันหรือพูดอะไรเกี่ยวกับมันบ้าง? - เฮนริก 16 พฤษภาคมที่ 17:03
CHL
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.