การวิเคราะห์ ROC และ multiROC: วิธีการคำนวณจุดตัดที่เหมาะสมที่สุด?


14

ฉันพยายามที่จะเข้าใจวิธีคำนวณจุดตัดที่เหมาะสมที่สุดสำหรับเส้นโค้ง ROC (ค่าที่ความไวและความเฉพาะเจาะจงสูงสุด) ฉันใช้ชุดข้อมูลจากแพคเกจaSAHpROC

outcomeตัวแปรสามารถอธิบายได้โดยสองตัวแปรอิสระและs100b ndkaใช้ไวยากรณ์ของEpiแพคเกจฉันได้สร้างสองรุ่น:

library(pROC)
library(Epi)
ROC(form=outcome~s100b, data=aSAH)
ROC(form=outcome~ndka, data=aSAH)

ผลลัพธ์จะแสดงในกราฟสองกราฟต่อไปนี้:

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

ในรูปแบบของกราฟแรก ( s100b) lr.eta=0.304ฟังก์ชั่นบอกว่าตัดจุดที่ดีที่สุดเป็นภาษาท้องถิ่นที่คุ้มค่าที่สอดคล้องกับ ในกราฟที่สอง ( ndka) จุดตัดที่เหมาะสมที่สุดจะถูกแปลเป็นภาษาท้องถิ่นตามค่าที่สอดคล้องกับlr.eta=0.335(ความหมายของlr.eta) คืออะไร คำถามแรกของฉันคือ:

  • อะไรคือความสอดคล้องs100bและndkaค่าสำหรับlr.etaค่าที่ระบุ (จุดตัดที่เหมาะสมที่สุดในแง่ของs100bและndka) คืออะไร?

คำถามที่สอง:

ตอนนี้สมมติว่าฉันสร้างแบบจำลองโดยคำนึงถึงตัวแปรทั้งสอง:

ROC(form=outcome~ndka+s100b, data=aSAH)

กราฟที่ได้รับคือ:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันต้องการที่จะรู้ว่าสิ่งที่เป็นค่าของndkaและs100bที่ความรู้สึกและความเฉพาะเจาะจงจะถูกขยายโดยฟังก์ชั่น ในแง่อื่น ๆ : ค่าของndkaและs100bที่เรามี Se = 68.3% และ Sp = 76.4% (ค่าที่ได้จากกราฟ) คืออะไร?

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

คำถามของฉันดูเหมือนกับคำถามนี้จากreasearchGateมากซึ่งกล่าวโดยย่อ:

การกำหนดคะแนนตัดที่แสดงถึงการแลกเปลี่ยนที่ดีขึ้นระหว่างความไวและความเฉพาะเจาะจงของการวัดนั้นตรงไปตรงมา อย่างไรก็ตามสำหรับการวิเคราะห์โค้ง ROC หลายตัวแปรฉันได้สังเกตว่านักวิจัยส่วนใหญ่ได้มุ่งเน้นไปที่อัลกอริทึมเพื่อกำหนดความแม่นยำโดยรวมของการรวมกันเชิงเส้นของตัวชี้วัดหลายตัว (ตัวแปร) ในแง่ของ AUC [ ... ]

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

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

บางทีการแก้ปัญหาจากEpiแพ็คเกจอาจไม่เหมาะดังนั้นลิงค์อื่น ๆ ที่เป็นประโยชน์จะได้รับการชื่นชม

คำตอบ:


10

ในการอธิบายอย่างละเอียดเกี่ยวกับคำตอบของ Frank Harrell สิ่งที่Epiแพคเกจทำคือให้เหมาะสมกับการถดถอยโลจิสติกและทำ ROC curve พร้อมการทำนายผลลัพธ์ของแบบฟอร์มต่อไปนี้:

outcome=11+e(β0+β1s100b+β2ndka)

ในกรณีของคุณค่าติดตั้งคือ (สกัดกั้น) = -2.379, (s100b) = 5.334 และ (ndka) = 0.031 ตามที่คุณต้องการให้ผลลัพธ์ที่คาดการณ์ไว้เป็น 0.312 (ทางลัด "ดีที่สุด") จากนั้นคุณสามารถแทนที่สิ่งนี้เป็น (หวังว่าฉันไม่ได้แนะนำข้อผิดพลาดที่นี่):β0β1β2

1.588214=5.334s100b+0.031ndkas100b=1.588214-0.031ndka

0.312=11+e(2.379+5.334s100b+0.031ndka)
1.588214=5.334s100b+0.031ndka
หรือ:
s100b=1.5882140.031ndka5.334

คู่ใด ๆ ของค่า (s100b, ndka) ที่ตรงกับความเท่าเทียมกันนี้คือ "ดีที่สุด" โชคไม่ดีสำหรับคุณมีไม่สิ้นสุดของคู่เหล่านี้ ตัวอย่างเช่น (0.29, 1), (0, 51.2) และอื่น ๆ ที่แย่กว่านั้นส่วนใหญ่ของพวกเขาไม่ได้มีเหตุผลใด ๆ ทั้งคู่ (-580, 10,000) หมายถึงอะไร? ไม่มีอะไร!

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


8

ไม่เหมาะสมที่จะค้นหาการลดลงของตัวแปรอินพุต แต่จะใช้เฉพาะกับเอาต์พุตเท่านั้น (เช่นคาดการณ์ความเสี่ยงจากโมเดลหลายตัวแปร) นั่นเป็นเพราะค่า cutoff สำหรับ x1 นั้นขึ้นอยู่กับค่าต่อเนื่องของ x2 และการหาจุดตัดบนเพื่อให้ได้การตัดสินใจที่ดีที่สุดนั้นจำเป็นต้องมีฟังก์ชั่นยูทิลิตี้ / การสูญเสีย / ต้นทุนและสิ่งนี้ไม่เกี่ยวข้องกับเส้นโค้ง ROCY^


ฉันเข้าใจปัญหาที่คุณอธิบาย ฉันสงสัยว่าโดยวิธีการถ้ามีวิธีการคำนวณจุดตัดสำหรับการทดสอบสอง (หรือมากกว่า) ในแบบคู่ขนานเพื่อเพิ่ม Sens และ Spec ของการระบุสถานะที่เฉพาะเจาะจง (โรค / ผล / ฯลฯ ) ) ขอบคุณล่วงหน้า.
ทอมมาโซ

1
เนื่องจากจุดตัด "ที่เหมาะสม" สำหรับ x1 จะขึ้นอยู่กับค่าต่อเนื่องของ x2 และจุดตัด "ที่เหมาะสม" สำหรับ x2 จะขึ้นอยู่กับค่าต่อเนื่องของ x1 ดังนั้นจึงไม่มีวิธีการทำเช่นนี้และเก็บรักษาข้อมูลให้เพียงพอเพื่อให้ไม่ใช่ ภัยพิบัติ
Frank Harrell

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

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

1
เส้นโค้งของ ROC ไม่มีอะไรเกี่ยวข้องกับการบรรลุเป้าหมายนั้น ในการทำเช่นนั้นคุณจะต้องเชื่อมโยง SCR กับผลลัพธ์หรือเพียงคำนวณความน่าจะเป็นที่จะได้ SCR ที่สูงกว่าในประชากรปกติ
Frank Harrell

3

ฉันเดาว่าlr.etaเป็นตัวทำนายเชิงเส้น - logit - จากโมเดลที่ติดตั้งเนื่องจากเป็นสัญลักษณ์ที่ใช้กันโดยทั่วไป หรือถ้าไม่ใช่ความน่าจะเป็นจากโมเดลที่ติดตั้ง (ปรากฎว่าเป็นสิ่งหลัง: ดู/programming//a/38532555/1864816 ) คุณสามารถตรวจสอบรหัสได้ ไม่ว่าในกรณีใดคุณจะสามารถคำนวณได้จากค่าสัมประสิทธิ์ของแบบจำลองสำหรับตัวทำนายจำนวนเท่าใดก็ได้ (โปรดทราบว่ามันจะไม่ถูกตัดออกสำหรับตัวทำนายแต่ละตัวแยกจากกัน แต่เป็นฟังก์ชั่นของตัวทำนายทั้งหมด)ηROC

ประโยคแรกของคุณควรพูดว่า (ตามที่เห็นได้จากกราฟ) ว่าคุณกำลังมองหาที่ซึ่งผลรวมของความไว & ความเฉพาะเจาะจงสูงสุด แต่ทำไม "ดีที่สุด"? ผลลัพธ์บวกปลอมมีการนำเข้าเช่นเดียวกับผลลัพธ์ลบปลอมหรือไม่ ดูที่นี่


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

สิ่งที่ทำคุณดูแลเกี่ยวกับแล้ว? คุณกำลังทำอะไรกับการถูกตัดออกซึ่งไม่ต้องการการพิจารณาผลที่ตามมา? แล้วมัน 'ดีที่สุด' หรือ 'ดีที่สุด' เพื่ออะไร?
Scortchi - Reinstate Monica

Tommaso กำหนดว่า "ดีที่สุด" เป็น "ค่าที่ความไวและความเฉพาะเจาะจงสูงสุด" (อ้างถึงประโยคแรกของคำถาม) หมายถึงความหมายสูงสุด (ความไว + ความเฉพาะเจาะจง) ไม่ว่ามันจะสมเหตุสมผลหรือไม่ (และเมื่อฉันอ่านเขาไม่สนใจฉันมีแนวโน้มที่จะคิดว่ามันไม่ได้) เป็นคำถามอื่น
Calimo

1
วิธีนี้ขัดแย้งกับการตัดสินใจ
Frank Harrell

1
ผมคิดว่าถ้าฉันอ่านโพสต์ของคุณได้อย่างถูกต้องlr.etaคือว่าตัวเลือกที่สองที่คุณพูดถึง: น่าจะเป็นจากรูปแบบการติดตั้ง:s100b) ลองดูสิถ้าคุณมีเวลาสักครู่ E[Yi|Xi]=11+e(β0+β1×s100b)
Antoni Parellada

0

คุณสามารถค้นหาเกณฑ์ที่อัตราบวกจริง (tpr) ปริภูมิอัตราลบจริง (tnr) ซึ่งจะเป็นจุดที่ผลรวมของผลบวกปลอมและลบเชิงลบนั้นน้อยที่สุด


คำตอบหนึ่งประโยคนั้นมักจะถือว่าสั้น ๆ สำหรับรูปแบบของเรา คุณสามารถขยายคำตอบเพื่อรวมคำอธิบายสั้น ๆ เกี่ยวกับวิธีที่คุณรู้ว่านั่นคือสิ่งที่ขั้นต่ำจะต้อง?
Glen_b

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