Ich suche nach einer optimalen Binning-Methode (Diskretisierung) einer kontinuierlichen Variablen in Bezug auf eine gegebene Antwort- (Ziel-) Binärvariable und mit einer maximalen Anzahl von Intervallen als Parameter.
Beispiel: Ich habe eine Reihe von Beobachtungen von Personen mit den Variablen "height" (fortlaufende Zahl) und "has_back_pains" (binär). Ich möchte die Höhe in höchstens 3 Intervalle (Gruppen) mit unterschiedlichem Anteil von Menschen mit Rückenschmerzen diskretisieren, damit der Algorithmus den Unterschied zwischen den Gruppen maximiert (mit gegebenen Einschränkungen, zum Beispiel, dass jedes Intervall mindestens x Beobachtungen hat).
Die offensichtliche Lösung für dieses Problem wäre die Verwendung von Entscheidungsbäumen (ein einfaches Ein-Variablen-Modell), aber ich kann in R keine Funktion finden, die "maximale Anzahl von Zweigen" als Parameter hätte - alle teilen die Variable in 2 Gropus (<= x und> x). SAS Miner hat einen "Maximum Branch" -Parameter, aber ich suche nach einer nicht kommerziellen Lösung.
Einige meiner Variablen haben nur wenige eindeutige Werte (und können als diskrete Variablen behandelt werden), aber ich möchte sie auch in eine kleinere Anzahl von Intervallen diskretisieren.
Die Lösung, die meinem Problem am nächsten kommt, ist im smbinning-Paket in R implementiert (das auf der ctree-Funktion des Party-Pakets basiert), hat jedoch zwei Nachteile: Es ist unmöglich, die Anzahl der Intervalle festzulegen (Sie können jedoch einen Weg finden, um dies zu ändern, indem Sie es ändern der p-Parameter) und es funktioniert nicht, wenn der Datenvektor weniger als 10 eindeutige Werte hat. Wie auch immer, Sie können die Beispielausgabe hier sehen (Cutpoint- und Odds-Spalten sind entscheidend):
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
Oh, ich bin mir völlig bewusst, dass das Binning zu Informationsverlust führt und dass es bessere Methoden gibt, aber ich werde es für die Datenvisualisierung verwenden und diese Variablen als Faktor behandeln.
SPSS Algorithms Optimal Binning
.