Non-Parametric ทำซ้ำมาตรการ Anova หลายทางใน R หรือไม่?


16

คำถามต่อไปนี้เป็นหนึ่งใน grails ศักดิ์สิทธิ์สำหรับฉันในขณะนี้ฉันหวังว่าบางคนอาจจะสามารถให้คำแนะนำที่ดี

ฉันต้องการที่จะดำเนินการที่ไม่ใช่พารามิเตอร์ซ้ำหลายวิธี anova โดยใช้อาร์

ฉันได้ทำการค้นหาและอ่านทางออนไลน์มาระยะหนึ่งแล้วและจนถึงตอนนี้ก็สามารถหาวิธีแก้ปัญหาสำหรับบางกรณีเท่านั้น: การทดสอบของทอดแมนสำหรับวิธีหนึ่งที่ไม่ใช่พารามิเตอร์วัดซ้ำ anova, การถดถอยเชิงอันดับด้วย {car} ฟังก์ชันโนวาสำหรับหลายพารามิเตอร์ โนวาและอื่น ๆ การแก้ปัญหาบางส่วนไม่ใช่สิ่งที่ฉันกำลังมองหาในกระทู้คำถามนี้ ฉันได้สรุปสิ่งที่ค้นพบของฉันแล้วในโพสต์ที่ฉันเผยแพร่เมื่อไม่นานมานี้ (ชื่อ: มาตรการ ANOVA ซ้ำกับ R (ฟังก์ชั่นและแบบฝึกหัด) ซ้ำแล้วซ้ำอีกในกรณีที่มันจะช่วยทุกคน)


หากสิ่งที่ฉันอ่านออนไลน์เป็นจริงงานนี้อาจจะประสบความสำเร็จโดยใช้รูปแบบการถดถอยตามแบบผสม (aka: Proportional Odds Model)

ฉันพบสองแพ็คเกจที่ดูเหมือนว่ามีความเกี่ยวข้อง แต่ไม่พบบทความสั้น ๆ ในเรื่อง:

ดังนั้นเมื่อฉันยังใหม่กับเรื่องนี้ฉันหวังว่าจะได้คำแนะนำจากผู้คนที่นี่

มีบทเรียน / ข้อแนะนำในการอ่านเกี่ยวกับเรื่องนี้หรือไม่? ยิ่งไปกว่านั้นบางคนสามารถแนะนำรหัสตัวอย่างง่ายๆสำหรับวิธีการเรียกใช้และวิเคราะห์สิ่งนี้ใน R (เช่น: "ไม่ใช่มาตรการซ้ำหลายพารามิเตอร์แบบหลายทาง anova")


Tal ฉันขอถามว่าคุณพบทางออกสำหรับสิ่งนี้หรือไม่? ฉันกำลังมีปัญหาเดียวกันและการตอบกลับด้านล่างอาจเป็นประโยชน์ในการช่วยค้นหาคำตอบ แต่ไม่ได้ให้คำตอบที่ชัดเจนจริงๆ ฉันมี DVs ลำดับ 9 และ 2 คะแนนเวลาและกำลังมองหาการทดสอบเดียวกันกับที่คุณต้องการที่จะดำเนินการ
Torvon

1
สวัสดี Torvon ฉันไม่เคยได้มาโดยวิธีแก้ปัญหา ฉันเดาว่าการทดสอบการเปลี่ยนรูปจะเป็นเส้นทางที่ปลอดภัยที่สุด แต่ฉันไม่มีเวลามานั่งและทำให้มันใช้งานได้ ถ้าคุณทำ - โปรดกลับมาโพสต์คำตอบอีกครั้ง ไชโย, T
Tal Galili

ขอบคุณสำหรับการตอบสนองที่รวดเร็ว ฉันจะทำสิ่งนี้ให้สำเร็จและจะแจ้งให้คุณทราบ
Torvon

คำตอบ:


8

EZแพคเกจที่ผมเขียนมีฟังก์ชั่นที่เรียกว่า ezPerm () ซึ่งคำนวณการทดสอบการเปลี่ยนแปลง แต่อาจจะไม่ได้ทำอย่างถูกต้องมีปฏิสัมพันธ์ (ยอมรับเอกสารเท่า) เวอร์ชั่นล่าสุดมีฟังก์ชั่นที่เรียกว่า ezBoot () ซึ่งช่วยให้คุณทำการ bootstrap resampling ที่คำนึงถึงมาตรการซ้ำ ๆ (โดยการ resampling อาสาสมัครจากนั้นภายในอาสาสมัคร) ทั้งการใช้เซลล์ดั้งเดิมหมายถึงการทำนายทางสถิติหรือการใช้แบบจำลองผสมเพื่อทำนาย สำหรับแต่ละเซลล์ในการออกแบบ ฉันยังไม่แน่ใจว่า "non-parametric" bootstrap CIs จากการคาดการณ์ของเอฟเฟกต์แบบผสมคืออย่างไร ปรีชาญาณของฉันคือพวกเขาอาจได้รับการพิจารณาแบบไม่สมเหตุผล แต่ความมั่นใจของฉันในเรื่องนี้อยู่ในระดับต่ำเนื่องจากฉันยังคงเรียนรู้เกี่ยวกับแบบจำลองเอฟเฟกต์ผสม


สวัสดีไมค์ ขอบคุณสำหรับคำตอบและสำหรับแพ็คเกจของคุณ - มันยอดเยี่ยมมาก!
Tal Galili

@ ไมค์แพคเกจของคุณดูเหมือนจะเป็นเพียงการทำงานสำหรับการออกแบบหลายปัจจัยแบบผสม aovpทางเลือก - จากกำพร้าlmpermแพคเกจ - ผลิตรูปแบบมากสำหรับ P-ค่าดูนี้ ฉันมีคำถามสองสามข้อ: ฉันจะพบการอ้างอิงบรรณานุกรมสำหรับการดำเนินการได้ezPermที่ไหน ฉันจะตีความได้อย่างไรว่าฟังก์ชั่นนั้นอาจทำงานไม่ถูกต้อง ? สิ่งที่อาจเป็นแบบทดสอบหลังเหตุการณ์ในกรณีนี้? ขอบคุณ!
toto_tico

@ ไมค์มีezPerm( data = DATA, dv = DV, wid = WID, within = interaction(A,B), perms = 1e3)ความต้องการตรวจสอบอีกครั้งหรือไม่หากการโต้ตอบมีความสำคัญ?
toto_tico

5

เมื่อมีข้อสงสัย bootstrap! จริง ๆ แล้วฉันไม่รู้ขั้นตอนการบรรจุกระป๋องเพื่อจัดการกับสถานการณ์ดังกล่าว

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

Google scholar เป็นทองคำ ... เคยทำมาก่อน ... อย่างน้อยหนึ่งครั้ง

Lunneborg, Clifford E.; Tousignant, James P .; 2528 "บูตของ Efron ด้วยการประยุกต์ใช้กับการออกแบบมาตรการซ้ำแล้วซ้ำอีก" การวิจัยพฤติกรรมหลายตัวแปร; Apr85, ฉบับที่ 20 ปัญหา 2, p161, 18p


1
ขอบคุณสำหรับการเป็นผู้นำเบร็ท! ฉันสงสัยว่ามีใครบางคนที่จะใช้มันใน R (ฉันเดาไม่ได้)
Tal Galili

1
ขวา. R มีรูทีนจำนวนมากสำหรับช่วยเหลือด้วย bootstrap และวิธีการสุ่มอื่น ๆ แต่ฉันไม่รู้ว่าคุณจะพบอะไรที่เฉพาะเจาะจงสำหรับปัญหานี้
เบร็ท

ประโยคแรกที่ดีมาก ฉันหวังว่ามันจะไม่มีลิขสิทธิ์เพราะฉันวางแผนที่จะใช้: D
gui11aume

0

มี "เคล็ดลับ" ที่กล่าวถึงในฟอรัมและรายชื่อผู้รับจดหมาย - ฉันพบว่ามันถูกกล่าวถึงในหนังสือ "การวิเคราะห์หลายระดับ" ของ Joop Hox (ฉบับที่สอง, 2010), หน้า 189

แนวคิดคือ: คุณฟอร์แมตข้อมูลยาวของคุณเป็นชุดข้อมูลที่ยาวซึ่งคุณสร้าง DV ใหม่ที่รวมการตอบสนอง DV ทั้งหมดของคุณและใช้ตัวแปรดัชนีที่เก็บข้อมูลเกี่ยวกับธรรมชาติของ DVs เพื่อทำนายผลลัพธ์นี้

สมมติว่าคุณมีอาการซึมเศร้า 9 อย่าง (ลำดับ), จุดตรวจวัด 2 จุดและวัตถุ 300 ตัวอย่าง ดังนั้นในขณะที่คุณมี 300 แถวในชุดข้อมูลปกติของคุณและในชุดข้อมูลแบบยาวคุณจะมี 600 แถวชุดข้อมูลใหม่นี้จะมี 9 (อาการ) x 2 (เวลา) x 300 (หัวเรื่อง)

"อาการ" ตัวแปร DV ใหม่ตอนนี้มีความรุนแรงของอาการของผู้เข้าร่วมใน 9 อาการตัวแปร "ดัชนี" มีข้อมูลเกี่ยวกับลักษณะของอาการ (1 ถึง 9) แล้วมีสองตัวแปร "เวลา" และ " หมายเลขผู้ใช้"

ตอนนี้คุณสามารถใช้ordinalแพ็คเกจเพื่อเรียกใช้งานได้

data<-read.csv("data_long_long.csv", head=T)

data$symptoms <- factor(data$symptoms)
data$time <- factor(data$time)
data$index <-factor(data$index)

m1<-clmm2(symptoms ~ index+time, random=UserID, data = data, Hess=TRUE, nAGQ=10)

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

m2<-clmm2(symptoms ~ index+time, random=UserID, data = data, Hess=TRUE, nAGQ=10)
anova(m1,m2)

CLMM2 ใช้โมเดลการสกัดกั้นแบบสุ่ม (เพื่อความรู้ที่ดีที่สุดของฉันแพ็กเกจordinalจะไม่ทำแบบสุ่ม) หากคุณไม่ได้ใช้กับโมเดลการสกัดกั้นแบบสุ่มคุณสามารถเรียกใช้โมเดลแทนการใช้ CLM เช่น:

m3<-clm(symptoms ~ index+time, data = data)

1
ไม่ได้ m1 และ m2 clmm2(symptoms ~ index*time, random=UserID, data = data, Hess=TRUE, nAGQ=10) anova(m1,m2)ตรงเดียวกันบางทีคุณอาจหมายถึง คุณรู้หรือไม่ว่ามีโอกาสแสดงวิธีนี้ด้วยฟังก์ชั่น clmm ใหม่หรือไม่? ฉันไม่แน่ใจเกี่ยวกับสัญกรณ์
toto_tico
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.