วิธีจัดการกับข้อมูลที่ไม่มีอยู่ (ไม่หายไป)?


11

ฉันไม่เคยพบข้อความหรือตัวอย่างที่ดีเกี่ยวกับวิธีจัดการข้อมูล 'ไม่มีอยู่จริง' สำหรับอินพุตไปยังตัวจําแนกประเภทใด ๆ ฉันได้อ่านข้อมูลที่ขาดหายไปมากมาย แต่สิ่งที่สามารถทำได้เกี่ยวกับข้อมูลที่ไม่สามารถหรือไม่มีอยู่ที่เกี่ยวข้องกับอินพุตหลายตัวแปร ฉันเข้าใจว่านี่เป็นคำถามที่ซับซ้อนมากและจะแตกต่างกันไปขึ้นอยู่กับวิธีการฝึกอบรมที่ใช้ ...

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

  1. ตัวแปรอินพุต - นักวิ่งครั้งแรก (Y / N)
  2. ตัวแปรอินพุต - รอบเวลาก่อนหน้า (0 - 500 วินาที)
  3. ตัวแปรอินพุต - อายุ
  4. ตัวแปรอินพุต - ความสูง . . ตัวแปรอินพุตอื่น ๆ อีกมากมาย

& เอาท์พุททำนาย - เวลาที่คาดการณ์ไว้ Laptime (0 - 500 วินาที)

'ตัวแปรที่ขาดหายไป' สำหรับ '2. รอบเวลาก่อนหน้า' สามารถคำนวณได้หลายวิธี แต่ '1 นักวิ่งครั้งแรก 'เสมอเท่ากับ N แต่สำหรับ 'ข้อมูลที่ไม่มีอยู่จริง' สำหรับนักวิ่งครั้งแรก (โดยที่ '1. นักวิ่งครั้งแรก' = Y) ฉันควรให้ความสำคัญกับการรักษาแบบใดกับ '2 รอบก่อนหน้า '

ตัวอย่างเช่นการกำหนด '2 รอบเวลาก่อนหน้า '-99 หรือ 0 สามารถเบี่ยงเบนการกระจายอย่างมากและทำให้ดูเหมือนว่านักวิ่งใหม่ทำงานได้ดี

วิธีการฝึกอบรมปัจจุบันของฉันใช้การถดถอยโลจิสติก, SVM, NN และต้นไม้การตัดสินใจ


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

คำตอบ:


6

แทนการกำหนดค่าพิเศษสำหรับนักวิ่งครั้งแรกที่ไม่มีตัวตนครั้งแรกในรอบก่อนหน้านี้เพียงใช้คำศัพท์การโต้ตอบสำหรับเวลารอบก่อนหน้ากับค่าผกผันของตัวจำลองรองอันดับ 1:

Yi=β0+β1FTRi+β2(NFTRi)×PLTi+...

ที่นี่

  • Yiคือตัวแปรอินพุตของคุณ
  • ...เป็นตัวแปรอื่นของคุณ
  • FTRiนั้นหลอกตาสำหรับนักวิ่งครั้งแรก
  • PLTiเป็นเวลารอบก่อนหน้าและ
  • NFTRiเป็นตัวแทนเชิดสำหรับนักวิ่งที่ไม่ได้เป็นครั้งแรกซึ่งมีค่าเท่ากับ 1 เมื่อและ 0 เป็นอย่างอื่นFTRi=0

จากนั้นแบบจำลองสำหรับนักวิ่งครั้งแรกจะเป็น:

Yi=(β0+β1)+...

และสำหรับนักวิ่งที่ไม่ใช่ครั้งแรก:

Yi=β0+β2PLTi+...

8

สำหรับการถดถอยแบบลอจิสติกที่เหมาะสมโดยความเป็นไปได้สูงสุดตราบใดที่คุณมีทั้ง (1) และ (2) ในโมเดลแล้วไม่ว่าค่า "เริ่มต้น" ที่คุณให้กับนักวิ่งใหม่สำหรับ (2) คืออะไร จะปรับตาม

ตัวอย่างเช่นให้เป็นตัวแปรตัวบ่งชี้สำหรับ "is new runner" และเป็นตัวแปร "laptime ก่อนหน้านี้ในไม่กี่วินาที" จากนั้นตัวทำนายเชิงเส้นคือ:X1X2

η=α+β1X1+β2X2+

หากค่าดีฟอลต์สำหรับเป็นศูนย์ดังนั้นตัวทำนายเชิงเส้นสำหรับนักวิ่งใหม่คือ:X2

η=α+β1+

ในขณะที่นักวิ่งที่มีอยู่มันจะเป็น:

η=α+β2X2+

ตอนนี้สมมติว่าคุณเปลี่ยนค่าเริ่มต้นสำหรับจาก 0 ถึง -99 จากนั้นผู้ทำนายเชิงเส้นสำหรับนักวิ่งใหม่ก็มาถึงตอนนี้:X2

η=α+β199β2+

แต่สำหรับนักวิ่งที่มีอยู่มันจะยังคงเหมือนเดิม ดังนั้นสิ่งที่คุณทำทั้งหมดคือการสร้างโมเดลใหม่เช่นและเนื่องจากความเป็นไปได้สูงสุดคือค่าคงที่แบบ paremeterisation ค่าประมาณจะปรับตามβ199β2=β1

แน่นอนว่าถ้าคุณไม่ได้ใช้ความเป็นไปได้สูงสุด (เช่นคุณกำลังใช้บทลงโทษบางประเภทหรือก่อนหน้าพารามิเตอร์) คุณจะได้รับค่าที่แตกต่างนอกจากว่าคุณจะปรับการลงโทษ / ก่อน และหากโมเดลนั้นไม่ใช่แบบเส้นตรง (เช่น SVM, NN และ Decision trees) ดังนั้นอาร์กิวเมนต์นี้จะไม่ทำงานเลย

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