วิธี coxph ของ R () จัดการกับมาตรการซ้ำ ๆ ได้อย่างไร?


10

บริบท

ฉันพยายามที่จะเข้าใจว่า Rox coxph () ยอมรับและจัดการรายการซ้ำ ๆ สำหรับวิชา (หรือผู้ป่วย / ลูกค้าถ้าคุณต้องการ) บางคนเรียกรูปแบบยาวนี้บางคนเรียกว่า 'มาตรการซ้ำ'

ดูตัวอย่างชุดข้อมูลที่มีคอลัมน์ ID ในส่วนคำตอบที่:

แพ็คเกจที่ดีที่สุดสำหรับรุ่น Cox ที่แปรเปลี่ยนตามเวลา

ยังถือว่าโควาเรียตมีการเปลี่ยนแปลงตลอดเวลาและมีตัวแปรเซ็นเซอร์หนึ่งตัว (เช่นเหตุการณ์) ซึ่งเป็นไบนารี

คำถาม

1) ในคำตอบของลิงก์ด้านบนหาก ID ไม่ได้รับเป็นพารามิเตอร์ในการเรียกไปยัง coxph () ผลลัพธ์ควรเหมือนกับการรวม cluster (ID) เป็นพารามิเตอร์ใน coxph () หรือไม่?

ฉันพยายามค้นหาเอกสาร แต่ดูเหมือนว่าจะไม่ได้ระบุที่อยู่อย่างชัดเจน (1): https://stat.ethz.ch/pipermail/r-help//2013-July/357466.html

2) ถ้าคำตอบของ (1) คือ 'ไม่' ดังนั้น (ทางคณิตศาสตร์) ทำไม? ดูเหมือนว่าคลัสเตอร์ () ใน coxph () พยายามหาความสัมพันธ์ระหว่างตัวแบบตาม 'ส่วนย่อย' บนหน้า pg 20 ตอน

https://cran.r-project.org/web/packages/survival/survival.pdf

3) คำถามที่คลุมเครือ: coxph () ที่มีมาตรการซ้ำ ๆ กันอย่างไรเมื่อเปรียบเทียบกับวิธีการถดถอยของ frailtypack

ภาคผนวก

คำแนะนำต่อไปนี้ที่ใช้ cluster (ID):

มีการทดสอบซ้ำสำหรับรุ่นทดสอบ logrank หรือไม่?

เช่นเดียวกับ:

https://stat.ethz.ch/pipermail/r-help//2013-July/357466.html

วิธี GEE: เพิ่ม "+ คลัสเตอร์ (หัวเรื่อง)" ในคำสั่ง model ใน coxph Mixed models เข้าใกล้: เพิ่ม "+ (1 | หัวเรื่อง)" เข้ากับ statment model ใน coxme

ขอบคุณล่วงหน้า!

คำตอบ:


11
  1. การรวมcluster(ID)ไม่เปลี่ยนแปลงการประมาณจุดของพารามิเตอร์ มันเปลี่ยนวิธีการคำนวณข้อผิดพลาดมาตรฐานอย่างไรก็ตาม

    รายละเอียดเพิ่มเติมสามารถดูได้จากหนังสือของ Therneau & Grambsch ส่วนขยายโมเดล Coxตอนที่ 8.2 โปรดทราบว่าในตัวอย่างของพวกเขาพวกเขาใช้method = "breslow"เป็นการแก้ไขสำหรับความสัมพันธ์ แต่ยังมีค่าเริ่มต้น ( method = "efron") การคำนวณที่คล้ายกันสำหรับ se จะถูกนำมาใช้และจะปรากฏในการสรุปว่า "แข็งแกร่ง se"

  2. หากใช้คลัสเตอร์ (ID) จะมีการประเมินข้อผิดพลาดมาตรฐาน "ที่มีประสิทธิภาพ" และการพึ่งพาที่เป็นไปได้ระหว่างการวัด (เช่นจากข้อผิดพลาดมาตรฐานและคะแนนความแปรปรวน) ในทางกลับกันการไม่ใช้ cluster (ID) จะกำหนดความเป็นอิสระในการสังเกตแต่ละครั้งและจะมีการสมมติ "ข้อมูล" เพิ่มเติมในข้อมูล ในแง่เทคนิคเพิ่มเติมฟังก์ชันคะแนนสำหรับพารามิเตอร์จะไม่เปลี่ยนแปลง แต่ความแปรปรวนของคะแนนนี้จะไม่เปลี่ยนแปลง ข้อโต้แย้งที่ง่ายกว่าคือการสังเกต 100 ครั้งต่อ 100 คนให้ข้อมูลมากกว่า 100 ข้อสังเกตจาก 10 คน (หรือกลุ่ม)

  3. คลุมเครือแน่นอน กล่าวโดยย่อ+frailty(ID)ในcoxph()รูปแบบที่บอบบางแบบมาตรฐานที่มีเอฟเฟกต์แบบสุ่มแกมมาหรือล็อก - ปกติและมีอันตราย / ความรุนแรงพื้นฐานที่ไม่ใช่พารามิเตอร์ frailtypackใช้พารามิเตอร์พื้นฐาน (รุ่นที่ยืดหยุ่นด้วยเส้นโค้งหรือฟังก์ชั่นค่าคงที่ทีละชิ้น) และยังเหมาะกับแบบจำลองที่ซับซ้อนมากขึ้นเช่นความสัมพันธ์ที่มีความอ่อนแอ, ความอ่อนแอที่ซ้อนกัน ฯลฯ

ในที่สุด+cluster()ก็ค่อนข้างจะอยู่ในจิตวิญญาณของ GEE ในการที่คุณใช้สมการคะแนนจากความน่าจะเป็นที่มีการสังเกตอย่างอิสระและใช้ตัวประมาณค่า "ที่มีประสิทธิภาพ" สำหรับข้อผิดพลาดมาตรฐาน

แก้ไข: ขอบคุณ @Ivan สำหรับคำแนะนำเกี่ยวกับความชัดเจนของโพสต์


ขอบคุณ. เกี่ยวกับ (2): สามารถ "นี่เป็นเพราะถ้าคุณ (ผิด) ถือว่า ... " ถูกแทนที่ด้วย "ถ้าคุณไม่ใช้ cluster (ID) ในการเรียกไปยัง coxph () คุณจะถือว่าผิด ... "
Quetzalcoatl

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

(2) อาจได้รับการใช้ถ้อยคำใหม่เป็น: หากใช้คลัสเตอร์ (ID) จะมีการประเมินค่า "ข้อผิดพลาดมาตรฐาน" และประเมินการพึ่งพาที่เป็นไปได้ระหว่างอาสาสมัคร (เช่นข้อผิดพลาดมาตรฐานและคะแนนความแปรปรวน) ในทางกลับกันการไม่ใช้ cluster (ID) จะกำหนดความเป็นอิสระในการสังเกตแต่ละครั้งและจะมีการสมมติ "ข้อมูล" เพิ่มเติมในข้อมูล
Quetzalcoatl

ลิงค์อ้างอิงที่คุณให้ไว้ใน (1) ควรเป็น: springer.com/us/book/9780387987842 (สมมติว่าคุณอ้างถึงหนังสือของ Therneau และ Grambsch)
Quetzalcoatl

โปรดทราบ: ตามที่อธิบายไว้ในหนังสือของ Therneau และ Grambsch เหตุผลที่คำตอบใน (1) ด้านบนนั้นถูกต้องก็เพราะ coxph () ใช้วิธี Breslow เป็นค่าเริ่มต้นสำหรับความสัมพันธ์
Quetzalcoatl

1

ต่อไปนี้เป็นคำตอบจากsurvivalบทความสั้น ๆ ที่ฉันคิดว่ามีประโยชน์ - ลิงก์นี้เป็นคำตอบแรกสำหรับคำถามแรกที่คุณเชื่อมโยงกับ:

แพ็คเกจที่ดีที่สุดสำหรับรุ่น Cox ที่แปรเปลี่ยนตามเวลา

พวกเขากำลังอ้างถึงการตั้งค่าข้อมูลแบบยาวหรือข้อมูลที่มีรายการซ้ำสำหรับวิชา

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

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

ตัวอย่างที่พวกเขาให้คือ

fit <- coxph(Surv(time1, time2, status) ~ age + creatinine, data=mydata)

แนะนำว่าหากคุณให้สองครั้ง (เริ่มต้นและสิ้นสุดรอบระยะเวลา) Survแทนหนึ่งcoxph()จะคิดออกส่วนที่เหลือ


ฉันคิดว่าความคิดเห็นนี้ทำให้เข้าใจผิดนอกเสียจากว่าฉันเข้าใจผิดบางอย่าง เราจำเป็นต้องกังวลเกี่ยวกับข้อมูลที่มีความสัมพันธ์กันหากเราต้องการได้การประมาณค่าความแปรปรวนที่แม่นยำดังนั้นเหตุใดการเพิ่มคำว่า + คลัสเตอร์ (ID) จึงเปลี่ยนคำศัพท์ความแปรปรวนโดยประมาณ
AP30
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.