Я шукаю оптимальний метод бінінгу (дискретизація) безперервної змінної щодо заданої відповіді (цільової) бінарної змінної та з максимальною кількістю інтервалів як параметр.
Приклад: У мене є набір спостережень за людьми зі змінними "висота" (число безперервно) та "has_back_pains" (бінарні). Я хочу розрізнити висоту на 3 інтервали (групи) максимум з різною часткою людей з болями в спині, щоб алгоритм максимізував різницю між групами (наприклад, із заданими обмеженнями, щоб кожен інтервал мав принаймні х спостережень).
Очевидним рішенням цієї проблеми було б використання дерев рішень (проста модель з однією змінною), але я не можу знайти жодної функції в R, яка мала б "максимальну кількість гілок" як параметр - всі вони ділять змінну на 2 гропу (<= x і> x). У шахтера SAS є параметр "максимальна галузь", але я шукаю некомерційне рішення.
деякі мої змінні мають лише декілька унікальних значень (і їх можна розглядати як дискретні змінні), але я хочу їх дискретизувати також на меншу кількість інтервалів.
Найближче рішення моєї проблеми реалізовано в пакеті smbinning в R (який покладається на функцію ctree від партійного пакета), але він має два недоліки: встановити кількість інтервалів неможливо (однак, ви можете знайти спосіб її вирішення, змінивши параметр p), і він не працює, коли вектор даних має менше 10 унікальних значень. У будь-якому випадку ви можете побачити приклад результату тут (стовпці "Точка вирішення" та "Коефіцієнти мають вирішальне значення":
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
.