Групповые ящики по весу доказательств в R - PullRequest
0 голосов
/ 12 октября 2018

Допустим, у меня есть фрейм данных (df).Для этого примера я просто возьму пример, который выглядит следующим образом:

X1  Binned_X1   Dependent   WOE_X1
-236    [-316,67)   1   -0.154412769
-236    [-316,67)   0   -0.154412769
-236    [-316,67)   0   -0.154412769
-236    [-316,67)   0   -0.154412769
-236    [-316,67)   0   -0.154412769
-236    [-316,67)   0   -0.154412769
-236    [-316,67)   0   -0.154412769
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   1   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   1   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   1   -0.184265732
320     [244,420)   0   -0.184265732
320     [244,420)   1   -0.184265732
320     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   0   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   1   -0.184265732
244     [244,420)   0   -0.184265732

для расчета бинов, я использовал cutr :: smart_cut (на случай, если вы хотите знать) и для расчета WOE я использовал InformationValue :: WOE .Теперь, что я хочу сделать, это объединить ячейки, когда разница между значениями WOE меньше определенного числа, для этого примера, скажем, 0.2

Итак, в этом случае (-0.1544-(-0.1842)) = 0.0298, поэтому я хотел бы, чтобы столбец Binned_X1 сгруппировал оба значения, чтобы это было что-то вроде [-316,67),[244,67).И после объединения одного бина снова вычислите WOE.

Если вам интересно, как рассчитывается WOE, формула будет: ln((Relative frecuency of Goods)/(Relative frecuency of Bads)).Будучи «Товарами» каждые 1 в столбце Dependent, и «Бадами» каждые 0.

К вашему сведению, в df у нас будет такая таблица:

           [-316,67)    [244,420)
Local Goods   18          22
Local Bads    54          68
Total Goods   212         212
Total bads    545         545
WOE      -0.154412769   -0.184265732

И ввывод у нас будет что-то вроде этой таблицы

             [-316,67),[244,420)
Local Goods          40
Local Bads           122
Total Goods          212
Total bads           545
WOE             -0.170942071

Может кто-нибудь мне помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...