*-------------------------------------------------------------*; * ; * TOOL : Variable Selection ; * TYPE : EXPLORE ; * NODE : Variable Selection [T2MIBINR] ; * ; *-------------------------------------------------------------*; length _warn_ $ 4; label _warn_ = "Warnings"; length _norm1 $ %DMNORLEN; _norm1 = ' '; length _FORMAT $200; drop _FORMAT; length I_BAD $ 1; _FORMAT = put(JOB, $7.); %DMNORMCP(_FORMAT, _norm1); select(_norm1); when('MGR') G_JOB = 1; when('OFFICE') G_JOB = 4; when('OTHER') G_JOB = 2; when('PROFEXE') G_JOB = 3; when('SALES') G_JOB = 0; when('SELF') G_JOB = 0; otherwise _warn_ = 'U'; end; label G_JOB = "Group: JOB"; _PVAL = -0.36111753996775; if INDELINQ = . then _PVAL = _PVAL + (0.1976510067114 * -0.25510339877349); else _PVAL = _PVAL + (INDELINQ * -0.25510339877349); if INDEROG = . then _PVAL = _PVAL + (0.11778523489932 * -0.22395064238875); else _PVAL = _PVAL + (INDEROG * -0.22395064238875); if CLAG_K4W = . then _PVAL = _PVAL + (5.07961348482811 * 0.08791690054888); else _PVAL = _PVAL + (CLAG_K4W * 0.08791690054888); _FORMAT = put(NINQ_76F, NINQ_OE_17.); %DMNORMCP(_FORMAT, _norm1); select(_norm1); when('0001:LOW-0.5') _PVAL = _PVAL + 0.0870464144261; when('0002:0.5-1.5') _PVAL = _PVAL + 0.07813816124177; when('0003:1.5-HIGH') _PVAL = _PVAL + 0; otherwise _warn_ = 'U'; end; if DEBTINC = . then _PVAL = _PVAL + (33.9914901173123 * -0.00679146734123); else _PVAL = _PVAL + (DEBTINC * -0.00679146734123); if LOAN_9QB = . then _PVAL = _PVAL + (9.67363904057105 * 0.07272718177752); else _PVAL = _PVAL + (LOAN_9QB * 0.07272718177752); select(G_JOB); when(0) _PVAL = _PVAL + -0.11521152443102; when(1) _PVAL = _PVAL + -0.07433212354402; when(2) _PVAL = _PVAL + -0.06688016972061; when(3) _PVAL = _PVAL + -0.05511343652105; when(4) _PVAL = _PVAL + 0; otherwise; end; if YOJ_34KW = . then _PVAL = _PVAL + (2.08788668700967 * 0.033175479962); else _PVAL = _PVAL + (YOJ_34KW * 0.033175479962); if VALU_2UI = . then _PVAL = _PVAL + (11.4125993826275 * 0.02147772904327); else _PVAL = _PVAL + (VALU_2UI * 0.02147772904327); /* binary target */ if _warn_ ne 'U' then do; _X = -(-3.37938168262369 + 6.34252538751584 * _PVAL); if (_X < -23) then _PVAL = 1; else if (_X > 23) then _PVAL = 0; else _PVAL = 1/(1+exp(_X)); if _PVAL < 0 then _PVAL = 1; else if _PVAL > 1 then _PVAL = 0; else _PVAL = 1 - _PVAL; P_EVENT = _PVAL; P_NEVENT = 1-P_EVENT; if P_EVENT ge 0.5 then I_BAD = '1'; else I_BAD = '0'; end; else do; P_EVENT = 0.198322147651; P_NEVENT = 0.80167785234899; I_BAD = '0'; end; label P_EVENT = "Predicted: EVENT for BAD"; label P_NEVENT = "Predicted: NO EVENT for BAD"; label I_BAD = "Into: BAD"; DROP _PVAL _X; DROP _NORM1;