การถดถอยโลจิสติกจะเอนเอียงเมื่อตัวแปรผลลัพธ์ถูกแบ่ง 5% - 95% หรือไม่


10

ฉันกำลังสร้างแบบจำลองความโน้มเอียงโดยใช้การถดถอยโลจิสติกสำหรับไคลเอนต์ยูทิลิตี้ ความกังวลของฉันคือจากตัวอย่างทั้งหมดบัญชี 'ไม่ดี' ของฉันมีเพียง 5% และส่วนที่เหลือดีทั้งหมด ฉันทำนายว่า 'ไม่ดี'

  • ผลที่ได้จะเป็นแบบ Biassed หรือไม่?
  • อะไรคือสิ่งที่ดีที่สุด 'ไม่ดีกับสัดส่วนที่ดี' เพื่อสร้างแบบจำลองที่ดี?

ฉันคิดว่ามันจะดีกว่าเสมอที่จะมี 50% ของสินค้าและ 50% bads ตามกฎง่ายๆ og ของโมเดลต้องไม่เอนเอียงกับตัวอย่าง

คำตอบ:


7

ฉันไม่เห็นด้วยกับคำตอบอื่น ๆ ในความคิดเห็นดังนั้นฉันจึงให้ความยุติธรรมกับตัวเองเท่านั้น ให้เป็นการตอบสนอง (บัญชีดี / ไม่ดี) และเป็นผู้แปรสภาพXYX

สำหรับการถดถอยโลจิสติกแบบจำลองมีดังต่อไปนี้:

เข้าสู่ระบบ(พี(Y=1|X=x)พี(Y=0|X=x))=α+Σผม=1kxผมβผม

คิดเกี่ยวกับวิธีการรวบรวมข้อมูล:

  • คุณสามารถเลือกการสังเกตแบบสุ่มจาก "ประชากร" สมมุติฐานบางอย่าง
  • คุณสามารถเลือกข้อมูลตามและดูว่าค่าเกิดขึ้นYXY

ทั้งสองอย่างนี้โอเคสำหรับโมเดลด้านบนเนื่องจากคุณเป็นแบบจำลองการกระจายของเท่านั้น เหล่านี้จะถูกเรียกว่าการศึกษาในอนาคตY|X

อีกวิธีหนึ่งคือ:

  • คุณสามารถเลือกการสังเกตตาม (พูดได้ 100 ข้อ) และดูความชุกสัมพัทธ์ของ (เช่นคุณกำลังแบ่งชั้นบนY ) นี้เรียกว่าย้อนหลังหรือกรณีศึกษาการควบคุมXYXY

(คุณสามารถเลือกข้อมูลจากและตัวแปรบางตัวของX : นี่เป็นการศึกษาแบบแบ่งชั้นและมีความซับซ้อนมากในการทำงานด้วยดังนั้นฉันจะไม่เข้าไปที่นี่)YX

มีผลลัพธ์ที่ดีจากการระบาดวิทยา (ดูPrentice and Pyke (1979) ) ว่าสำหรับการศึกษาแบบควบคุมกรณีการประเมินความน่าจะเป็นสูงสุดสำหรับสามารถพบได้โดยการถดถอยโลจิสติกซึ่งใช้แบบจำลองที่คาดหวังสำหรับข้อมูลย้อนหลังβ

ดังนั้นสิ่งนี้เกี่ยวข้องกับปัญหาของคุณอย่างไร

ดีก็หมายความว่าถ้าคุณมีความสามารถในการเก็บรวบรวมข้อมูลเพิ่มเติมได้ที่คุณก็สามารถมองไปที่บัญชีที่ไม่ดีและยังคงใช้การถดถอยโลจิสติกในการประมาณ 's ( แต่คุณจะต้องปรับαไปยังบัญชีสำหรับมากกว่าการเป็นตัวแทน ) สมมติว่ามีค่าใช้จ่าย $ 1 สำหรับบัญชีพิเศษแต่ละบัญชีจากนั้นอาจมีประสิทธิภาพมากกว่าและเพียงแค่ดูบัญชีทั้งหมดβผมα

แต่ในทางกลับกันถ้าคุณมีข้อมูลที่เป็นไปได้ทั้งหมดแล้วมีจุดที่จะ stratifying ไม่มีคุณก็จะถูกทิ้งข้อมูล (ประมาณการให้แย่ลง) และจากนั้นจะเหลือกับปัญหาของการพยายามที่จะประเมินαα


นี่เป็นเรื่องจริง แต่ถ้าคุณมีข้อมูลเพียงพอที่จะเป็นตัวแทนของชนกลุ่มน้อยอย่างเพียงพอ (ซึ่งมักเป็นปัญหาที่มีความไม่สมดุลระดับใหญ่ - ปัญหาคือความไม่สมดุลต่อ se แต่คุณไม่มีตัวอย่างเพียงพอจากชนกลุ่มน้อย class) ในกรณีดังกล่าวการตรวจสอบข้ามค่าน้ำหนักตามค่าความแตกต่างของคลาสบวกและค่าลบการปรับค่าอัลฟ่าหรือการปรับแบบทวีคูณ (เทียบเท่า IIRC ทั้งหมด) จะเป็นความคิดที่ดี การแบ่งระดับข้อมูลจะเทียบเท่าราคาถูกและร่าเริง
Dikran Marsupial

@Dikran: ฉันไม่เห็นว่าสิ่งนี้ล้มเหลวที่จะเป็นจริงในกรณีนั้น: คุณไม่จำเป็นต้องเป็นตัวแทนของชนกลุ่มน้อยคุณเพียงแค่ต้องแสดงความแตกต่างสัมพัทธ์กับคนส่วนใหญ่ หากคุณมีข้อมูลไม่เพียงพอสำหรับสิ่งนั้นการละทิ้งการสังเกตจากคนส่วนใหญ่จะไม่ช่วย
Simon Byrne

@Simon ฉันได้เห็นด้วยกับคุณว่าการแบ่งชั้นไม่ใช่ความคิดที่ดีเว้นแต่คุณไม่ต้องการที่จะปรับอัลฟ่าปรับรูปแบบใหม่หรือปรับเอาท์พุทของโมเดล อย่างที่ฉันบอกว่าปัญหาของความไม่สมดุลของคลาสไม่ใช่ความไม่สมดุลต่อ se แต่มันมีข้อมูลไม่เพียงพอสำหรับคนกลุ่มน้อยที่จะนิยามอย่างเพียงพอ "ความแตกต่างสัมพัทธ์กับคนส่วนใหญ่" เมื่อมันเกิดขึ้นโดยเฉลี่ยมันจะเอนเอียงไปทางชนชั้นส่วนใหญ่และด้วยเหตุนี้การทำบางอย่างเพื่อชดเชยอคตินั้นก็มีประโยชน์ การแบ่งชั้นเป็นวิธีหนึ่งในการทำเช่นนั้น แต่ไม่ใช่วิธีที่ดีที่สุด
Dikran Marsupial

@Simon, BTW ขอบคุณสำหรับการอ้างอิง Prentice และ Pyke มันดูมีประโยชน์
Dikran Marsupial

1
@Dikran: มันอาจจะลำเอียงสำหรับรุ่นอื่น ๆ แต่ไม่ใช่สำหรับการถดถอยโลจิสติกนั่นคือจุดทั้งหมด
Simon Byrne

3

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

ถ้าสิ่งนี้เป็นไปไม่ได้สิ่งที่ดีที่สุดที่ควรทำคือการสุ่มตัวอย่างข้อมูลใหม่เพื่อให้ได้ชุดข้อมูลที่สมดุลจากนั้นใช้การปรับแบบทวีคูณกับเอาต์พุตของตัวจําแนกเพื่อชดเชยความแตกต่างระหว่างชุดการฝึกอบรม ในขณะที่คุณสามารถคำนวณ (asymptotically) ปัจจัยการปรับที่ดีที่สุดในทางปฏิบัติมันเป็นวิธีที่ดีที่สุดในการปรับการปรับใช้การตรวจสอบข้าม (ในขณะที่เรากำลังจัดการกับกรณีการปฏิบัติแน่นอน จำกัด มากกว่าหนึ่ง asymptotic

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


2
แต่สิ่งนี้เกี่ยวข้องกับการถดถอยโลจิสติกหรือไม่ เราไม่จำเป็นต้องอธิบายการแจกแจงเชิงสถิติของแต่ละคลาสเพียงแค่อัตราส่วนอัตราต่อรองสัมพัทธ์ (ดูความคิดเห็นของฉันต่อ @Henry)
Simon Byrne

ในตัวอย่างที่ไม่มีตัวแปรบางที แต่ถ้าคุณมีตัวแปรอธิบายมากกว่าหนึ่งตัวคุณต้องมีข้อมูลเกี่ยวกับการกระจายของรูปแบบเพื่อปรับทิศทาง "discriminant" ให้ถูกต้อง
Dikran Marsupial

จะเป็นการดีกว่าหรือไม่ที่จะใช้การปรับปรุงแบบหลายค่าในพื้นที่ว่างของอัตราการบันทึกก่อนที่จะใช้ฟังก์ชั่นลอจิสติก
rm999

IIRC การปรับที่เหมาะสมที่สุดอย่างสมมาตรคือการคูณด้วยอัตราส่วนของการปฏิบัติงานต่อการฝึกอบรมชุดความถี่ระดับนี้เป็นไปตามกฎของเบย์ดังนั้นมันจึงถูกนำไปใช้กับความน่าจะเป็นมากกว่าอัตราการบันทึกอัตราต่อรอง อย่างไรก็ตามในขณะที่เรากำลังพยายามแก้ไขเพื่อความสามารถในการประมาณค่าทางคณิตศาสตร์มันอาจไม่สำคัญว่าจะทำการปรับค่ามากเกินไปจริง ๆ แล้วมันเป็นเพียง "ปัจจัยเหลวไหล"
Dikran Marsupial

@Dikran: ฉันไม่เข้าใจสิ่งที่คุณหมายถึงเกี่ยวกับการปรับ "discriminant" อย่างถูกต้อง แม้แต่ในกรณีหลายตัวแปรการถดถอยโลจิสติกก็ยังคงคำนวณอัตราส่วนอัตราต่อรองสัมพัทธ์
Simon Byrne

1

ในทางทฤษฎีคุณจะสามารถแยกแยะได้ดีขึ้นหากสัดส่วนของ "ดี" และ "ไม่ดี" มีขนาดใกล้เคียงกัน คุณอาจสามารถย้ายไปยังสิ่งนี้ได้โดยการสุ่มตัวอย่างแบบแบ่งชั้น, oversampling กรณีที่ไม่ดีจากนั้นทำการชั่งน้ำหนักใหม่เพื่อกลับไปที่สัดส่วนที่แท้จริงในภายหลัง

สิ่งนี้มีความเสี่ยง โดยเฉพาะอย่างยิ่งโมเดลของคุณมีแนวโน้มที่จะติดป้ายบุคคลว่า "อาจไม่ดี" - สันนิษฐานว่าผู้ที่ไม่จ่ายค่าสาธารณูปโภคเมื่อถึงกำหนด เป็นสิ่งสำคัญที่ผลกระทบของข้อผิดพลาดเมื่อทำเช่นนี้จะได้รับการยอมรับอย่างถูกต้อง: โดยเฉพาะจำนวน "ลูกค้าที่ดี" จะถูกระบุว่า "อาจไม่ดี" โดยรุ่นและคุณมีโอกาสน้อยที่จะได้รับน้ำหนักผิดถ้าคุณไม่บิดเบือน แบบจำลองโดยการสุ่มแบบแบ่งชั้น.


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

@Simon: ฉันไม่เห็นด้วยกับความคิดเห็นของคุณเกี่ยวกับอัตราต่อรอง แต่ฉันเห็นคนล้มเหลวที่จะนำสิ่งนี้กลับมาเป็นผลที่ตามมาสำหรับประชากรอย่างถูกต้องหลังจากการสุ่มตัวอย่างแบบแบ่งชั้นเมื่อพวกเขาทำเช่นนั้นในกรณีอื่น ๆ ตัวอย่างเช่นหากคุณพบว่าคนที่ปัจจัย A จริงมีอัตราต่อรองของการเป็น "ไม่ดี" เป็นสองเท่าของคนที่ไม่มีปัจจัย A สิ่งนี้ไม่ควรเปลี่ยนด้วยการสุ่มตัวอย่างแบบแบ่งชั้น แต่ถ้าคุณต้องการทราบสัดส่วนของประชากร ได้รับผลกระทบโดยไม่จำเป็นหากคุณกำหนดเป้าหมายผู้ที่มีปัจจัย A จากนั้นคุณต้องชั่งน้ำหนักข้อมูลจากตัวอย่างของคุณอย่างระมัดระวัง
Henry

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

@Simon: เมื่อคุณพูดว่า "case-control study" คุณหมายถึงว่าในตอนแรกคุณวางแผนที่จะนำตัวอย่างคดี "เลวร้าย" และตัวอย่างคดี "ดี" มาหรือไม่? ด้วยสัดส่วนที่สูงขึ้นของคดี "เลวร้าย" มากกว่าสัดส่วนเล็ก ๆ ในประชากร? ถ้าเป็นเช่นนั้นนั่นคือสิ่งที่ฉันตั้งใจจะทำโดย
Henry

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

0

Yผมพีผมพีผม

Yผม~Bernoulli(พีผม)
พีผม=logit-1(a+1x1+...+nxn)
logit-1=ประสบการณ์(X)1+ประสบการณ์(x)

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

สุดท้าย แต่ไม่ท้ายสุดถ้าคุณมีตัวอย่างที่สมดุลหรือไม่มีอคติในการเลือกคุณอาจกังวลกับความจริงที่ว่าบัญชีไม่ดีนั้นหายาก ฉันไม่คิดว่า 5% นั้นหายาก แต่ในกรณีนี้ลองดูที่กระดาษโดย Gary Kingเกี่ยวกับการใช้งาน logistic ที่หายาก ในแพ็คเกจ Zelig ใน R คุณสามารถเรียกใช้โลจิสติกเหตุการณ์ที่หายาก


0

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

นี่คือตัวเลือกของคุณตามที่ฉันเห็น:

  1. ดูตัวอย่างชนชั้นน้อย จำนวนนี้เพื่อสุ่มตัวอย่างกลุ่มชนกลุ่มน้อยที่มีการเปลี่ยนจนกว่าคุณจะมีจำนวนการสังเกตเท่ากันกับกลุ่มเสียงข้างมาก มีวิธีแฟนซีในการทำเช่นนี้เพื่อให้คุณทำสิ่งต่าง ๆ เช่นการเขย่าค่าการสังเกตเพื่อให้คุณมีค่าใกล้เคียงกับต้นฉบับ แต่ไม่ใช่สำเนาที่สมบูรณ์แบบ ฯลฯ
  2. ตัวอย่างที่นี่คือที่ที่คุณใช้ตัวอย่างย่อยของคนส่วนใหญ่ วิธีแฟนซีอีกวิธีในการทำเช่นนี้เพื่อให้คุณลบตัวอย่างส่วนใหญ่ที่ใกล้เคียงกับตัวอย่างส่วนน้อยโดยใช้อัลกอริทึมเพื่อนบ้านที่ใกล้ที่สุดและอื่น ๆ
  3. Reweight ชั้นเรียน สำหรับการถดถอยโลจิสติกนี่คือสิ่งที่ฉันทำ โดยพื้นฐานแล้วคุณกำลังเปลี่ยนฟังก์ชั่นการสูญเสียเพื่อลงโทษกรณีชนกลุ่มน้อยที่ไม่ได้จัดประเภทมากยิ่งกว่าชั้นเรียนส่วนใหญ่ที่ผิดประเภท แต่แล้วอีกครั้งคุณเทคนิคไม่ได้ทำโอกาสสูงสุด
  4. จำลองข้อมูล ไอเดียที่ประณีตที่ฉันเคยเล่นที่นี่มีมากมาย คุณสามารถใช้ SMOTE เพื่อสร้างข้อมูล, Generative Adversarial Networks, Autoencoders โดยใช้ส่วนกำเนิด, การประมาณความหนาแน่นของเคอร์เนลเพื่อดึงตัวอย่างใหม่

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

-Intercept/beta

ที่ควรจะเป็นขอบเขตการตัดสินใจ (50% น่าจะเป็นของการอยู่ในระดับใดอย่างหนึ่ง) บนที่กำหนดตัวแปรparibus ceteris ถ้ามันไม่สมเหตุสมผลเช่นขอบเขตการตัดสินใจคือจำนวนลบของตัวแปรที่เป็นค่าบวกอย่างเคร่งครัดแสดงว่าคุณมีอคติในการถดถอยโลจิสติกที่ต้องได้รับการแก้ไข

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