ฉันกำลังมองหาวิธีการ binning ที่ดีที่สุด (discretization) ของตัวแปรต่อเนื่องที่เกี่ยวข้องกับการตอบสนองที่กำหนด (เป้าหมาย) ตัวแปรไบนารีและมีจำนวนช่วงเวลาสูงสุดเป็นพารามิเตอร์
ตัวอย่าง: ฉันมีชุดการสังเกตของผู้ที่มี "ความสูง" (ต่อเนื่องเป็นตัวเลข) และ "has_back_pains" (ไบนารี) ตัวแปร ฉันต้องการแยกความสูงออกเป็น 3 ช่วง (กลุ่ม) อย่างน้อยที่สุดด้วยสัดส่วนที่แตกต่างกันของคนที่มีอาการปวดหลังดังนั้นอัลกอริทึมจึงเพิ่มความแตกต่างระหว่างกลุ่ม (ด้วยข้อ จำกัด ที่กำหนดเช่นแต่ละช่วงเวลามีการสังเกตอย่างน้อย x)
ทางออกที่ชัดเจนสำหรับปัญหานี้คือใช้ต้นไม้ตัดสินใจ (โมเดลหนึ่งตัวแปรแบบง่าย) แต่ฉันไม่สามารถหาฟังก์ชั่นใด ๆ ใน R ที่จะมี "จำนวนสาขาสูงสุด" เป็นพารามิเตอร์ - พวกเขาทั้งหมดแบ่งตัวแปร เป็น 2 gropus (<= x และ> x) SAS miner มีพารามิเตอร์ "branch branch" แต่ฉันกำลังมองหาโซลูชันที่ไม่ใช่เชิงพาณิชย์
ตัวแปรบางตัวของฉันมีค่าเฉพาะไม่กี่ค่า (และสามารถถือว่าเป็นตัวแปรแบบแยก) แต่ฉันต้องการแยกพวกมันออกเป็นช่วงเวลาที่น้อยลง
ทางออกที่ใกล้ที่สุดสำหรับปัญหาของฉันถูกนำไปใช้ในแพ็คเกจ smbinning ใน R (ซึ่งอาศัยฟังก์ชั่น ctree จากแพ็คเกจปาร์ตี้) แต่มันมีข้อเสียสองประการ: มันเป็นไปไม่ได้ที่จะกำหนดจำนวนช่วงเวลา (อย่างไรก็ตามคุณสามารถหาวิธีแก้ไขได้ พารามิเตอร์ p) และมันไม่ทำงานเมื่อ data vector มีค่าที่ไม่ซ้ำกันน้อยกว่า 10 ค่า อย่างไรก็ตามคุณสามารถดูตัวอย่างผลลัพธ์ได้ที่นี่ (คอลัมน์ Cutpoint และ Odds มีความสำคัญ):
Cutpoint CntRec CntGood CntBad CntCumRec CntCumGood CntCumBad PctRec BadRate Odds LnOdds WoE IV
1 <= 272 9081 169 8912 9081 169 8912 0.1874 0.9814 0.0190 -3.9653 -0.6527 0.0596
2 <= 311 8541 246 8295 17622 415 17207 0.1762 0.9712 0.0297 -3.5181 -0.2055 0.0068
3 <= 335 2986 163 2823 20608 578 20030 0.0616 0.9454 0.0577 -2.8518 0.4608 0.0163
4 Missing 27852 1125 26727 48460 1703 46757 0.5747 0.9596 0.0421 -3.1679 0.1447 0.0129
5 Total 48460 1703 46757 NA NA NA 1.0000 0.9649 0.0364 -3.3126 0.0000 0.0956
โอ้ฉันรู้อย่างถ่องแท้ว่าการทำข้อมูลให้ถูกต้องทำให้เกิดการสูญเสียข้อมูลและมีวิธีการที่ดีกว่า แต่ฉันจะใช้เพื่อสร้างภาพข้อมูลและถือว่าตัวแปรเหล่านั้นเป็นปัจจัย
SPSS Algorithms Optimal Binning
Google