Vous n'êtes pas identifié.
Vous êtes sur le forum du master ESA !
Le site du master ESA - description de la formation, notes de cours, contacts... vient de déménager !!!
Venez visiter notre nouveau site : www.master-esa.fr
%macro cutoff(base=,event=,proba_etim=); proc iml; use &base ; read all var {&event &proba_etim} into a; c=ncol(a); n=nrow(a); tb=j(100,1,0); tc=j(100,1,0); do s=1 to 100; n00=0; n11=0; do i=1 to n; if a[i,c]>=s/100 then yhat=1; else yhat=0; if yhat=0 & a[i,c-1]=0 then n00i=1; else n00i=0; n00=n00+n00i; if yhat=1 & a[i,c-1]=1 then n11i=1; else n11i=0; n11=n11+n11i; end; tb[s,1]=(n00+n11)/n; tc[s,1]=s/100; end; maxtb=max(tb); fin=j(100,2,0); do j=1 to 100; if tb[j,1]=maxtb then fin[j,1]=tb[j,1]; else fin[j,1]=0; if tb[j,1]=maxtb then fin[j,2]=tc[j,1]; else fin[j,2]=0; end; create sortie FROM fin ; append FROM fin ; close sortie ; quit; data sortie; set sortie; label COL1='n00+n11 n'; label COL2='les cutoff optimaux'; run; proc print data=sortie label noobs; where COL1^=0; run; %mend; %cutoff(base=score1,event=incident,proba_etim=p_1);
De rien !!!
Hors ligne