Szukam optymalnej metody binowania (dyskretyzacji) zmiennej ciągłej w odniesieniu do danej zmiennej binarnej odpowiedzi (celu) i maksymalnej liczby interwałów jako parametru.
przykład: mam zestaw obserwacji ludzi ze zmiennymi „wzrost” (ciągłe cyfry) i „has_back_pains” (binarne). Chcę dyskretyzować wzrost na 3 przedziały (grupy) co najwyżej z różnym odsetkiem osób z bólami pleców, aby algorytm maksymalizował różnicę między grupami (na przykład z określonymi ograniczeniami, że każdy przedział ma co najmniej x obserwacji).
Oczywistym rozwiązaniem tego problemu byłoby użycie drzew decyzyjnych (prosty model z jedną zmienną), ale nie mogę znaleźć w R żadnej funkcji, która miałaby „parametr maksymalną liczbę rozgałęzień” - wszystkie dzielą zmienną w 2 gropus (<= x i> x). SAS górnik ma parametr „maksymalna gałąź”, ale szukam rozwiązania niekomercyjnego.
niektóre z moich zmiennych mają tylko kilka unikalnych wartości (i mogą być traktowane jako zmienne dyskretne), ale chcę je również dyskretyzować w mniejszej liczbie przedziałów.
Najbliższe rozwiązanie mojego problemu jest zaimplementowane w pakiecie smbinning w R (który opiera się na funkcji ctree z pakietu party), ale ma dwie wady: nie można ustawić liczby interwałów (można to jednak obejść, zmieniając parametr p) i nie działa, gdy wektor danych ma mniej niż 10 unikalnych wartości. W każdym razie możesz zobaczyć przykładowe dane wyjściowe (kluczowe są punkty Cutpoint i 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
Och, jestem w pełni świadomy, że binowanie powoduje utratę informacji i że istnieją lepsze metody, ale zamierzam użyć go do wizualizacji danych i potraktować te zmienne jako czynnik.
SPSS Algorithms Optimal Binning
.