/* Score a new data set with one run of the  */
/* LOGISTIC procedure with the SCORE         */
/* statement                                 */



/* (1) New data set에 score적용 : Score 문장 사용*/

proc logistic data=develop;
   model ins(event='1')= dda ddabal dep depamt cashbk checks;
   score data = pmlr.new out=scored;
run;

/* score    : 모델결과를 새로운 데이터에 적용 */
/* pmlr.new : 적용데이터셋 */
/* out=     : 결과 데이터셋 생성 */



proc print data=scored(obs=10);
   var p_1 dda ddabal dep depamt cashbk checks;
run;



/* (2) New data set에 score적용 : OUTTEST= & PROC SCORE 사용 */

proc logistic data=develop des  outest=betas1;         
	model ins=dda ddabal dep depamt cashbk checks;  
run;
/* outest= : 최종 모수추청치에 대한 값을 테이블로 저장 */

proc print data=betas1;
run;


/* (2)-1 Score procedure사용해서 new데이터에 적용 (선형결합식만 계산) */

proc score data=pmlr.new   /* score에 사용할 데이터셋 */
     out=scored             /* score결과 데이터셋 */
     score=betas1           /* 추정계수값을 가지고 있는 테이블 */
     type=parms;            /* regression model의 경우 필요한 옵션 */
     var dda ddabal dep depamt cashbk checks; /* score에 필요한 변수 */
run;


/* (2)-2 로짓변환을 통한 확률값 계산 */
data scored;
	set scored;
    p=1/(1+exp(-ins));
run;


proc print data=scored(obs=20);
   var p ins dda ddabal dep depamt cashbk checks;
run;


