/* TimeStamp (dos) : 22 Mars 06 17:58 ; z:\rl.sas */ OPTIONS LINESIZE=132 PAGESIZE=50 NOCENTER FORMDLIM=' ' FORMCHAR='-----------' ; TITLE "Etude des données fictives PG (Petits et Grands)" ; TITLE2 "================================================" ; /* données */ data CONNUES ; infile datalines firstobs=3 ; input ID $ TAILLE GROUPE $ ; datalines ; Données supervisées : ID TAILLE GROUPE A01 130 0 A02 140 0 C01 162 0 C02 160 1 A03 136 0 C03 165 1 A04 130 0 A05 135 0 A06 140 0 A07 135 0 C04 161 1 A08 136 0 C05 180 1 C06 190 1 A09 132 0 A10 141 1 C07 165 1 C08 168 1 C09 182 1 C10 177 1 C11 170 1 C12 168 1 C13 175 1 C14 181 1 C15 173 1 C16 169 1 C17 178 1 C18 179 1 C19 175 1 C20 164 1 ; data INCONNUES ; infile datalines firstobs=3 ; input ID $ TAILLE ; datalines ; Données à classer : ID TAILLE B01G 164 B02G 200 B03P 147 ; run ; /* régression logistique et scoring dans la foulée */ proc logistic data=CONNUES descending ; model GROUPE = TAILLE ; output out=SORTIES1 predprobs=(i); score data=INCONNUES out=SORTIES2; run; /* affichage des résultats */ proc print data=SORTIES1 ; proc print data=SORTIES2 ; run ; /* tracé non graphique des groupes */ data GROUPEC ; set INCONNUES ; GROUPE = "?"; data ALL ; set CONNUES GROUPEC ; proc sort data=ALL out=ALLTRIE ; by TAILLE; proc plot data=ALLTRIE ; plot TAILLE*ID=GROUPE ; run ; /* comparaison de logistic, probit, genmod et catmod */ TITLE "COMPARAISON logistic, probit, genmod et catmod" ; TITLE2 "==============================================" ; proc logistic data=CONNUES descending ; model GROUPE = TAILLE ; proc probit data=CONNUES ; class GROUPE ; model GROUPE = TAILLE / d = logistic ; proc genmod data=CONNUES ; class GROUPE ; model GROUPE = TAILLE / dist = bin link = logit lrci ; proc catmod data=CONNUES ; direct TAILLE ; response logits ; model GROUPE = TAILLE ; run;