주어진 응답 (목표) 이진 변수와 최대 간격 수를 매개 변수로 사용하여 연속 변수의 최적 비닝 방법 (분화)을 찾고 있습니다.
예 : 나는 "높이"(숫자 연속)와 "has_back_pains"(이진) 변수를 가진 사람들에 대한 관찰 결과를 가지고 있습니다. 나는 허리 통증이있는 사람들의 다른 비율로 최대 높이를 3 간격 (그룹)으로 이산화하고 싶습니다. 그래서 알고리즘이 그룹 간의 차이를 최대화하기 위해 (예를 들어 주어진 제한으로 각 간격에 적어도 x 개의 관측치가 있음).
이 문제에 대한 확실한 해결책은 의사 결정 트리 (단일 변수 모델)를 사용하는 것이지만 R에서 매개 변수로 "최대 분기 수"를 갖는 함수를 찾을 수는 없습니다. 모두 변수를 나눕니다. 2 그 루푸스로 (<= x 및> x). SAS 광부에는 "최대 분기"매개 변수가 있지만 비 상업용 솔루션을 찾고 있습니다.
내 변수 중 일부는 몇 가지 고유 한 값을 가지며 (이산 변수로 취급 될 수 있음) 작은 간격으로도 이산화하고 싶습니다.
내 문제에 가장 가까운 솔루션은 R의 smbinning 패키지 (파티 패키지의 ctree 함수에 의존)에서 구현되지만 두 가지 단점이 있습니다. 간격 수를 설정하는 것은 불가능합니다 (단, 변경하여 방법을 찾을 수는 있습니다) 데이터 매개 변수가 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
.