Le script démontre l'utilisation de PROC LOGISTIC à travers quatre exemples distincts. Le premier analyse des facteurs influençant l'incarcération à partir de données de fréquence. Le deuxième modélise le lien entre le cancer du poumon et le tabagisme. Le troisième exemple construit un modèle prédictif pour un résultat binaire, l'enregistre avec 'outmodel', puis l'utilise pour scorer de nouvelles observations. Le dernier exemple utilise la syntaxe 'événements/essais' (model failed/trial) pour analyser des données de défaillance, génère des graphiques et effectue également un scoring sur de nouvelles données.
Analyse des données
Type : CREATION_INTERNE
Toutes les données ('jail', 'lungcancer', 'car', 'oring', 'new') sont créées directement dans le script à l'aide d'instructions DATA STEP et de données en ligne (CARDS).
1 Bloc de code
DATA STEP Data
Explication : Crée la table 'jail' en lisant des données catégorielles et de fréquence en ligne pour une analyse de contingence.
Copié !
DATA jail;
INPUT live $ arrest $ jail $ count;
CARDS;
n y y 42
n y n 109
n n y 17
n n n 75
y y y 33
y y n 175
y n y 53
y n n 359
;
RUN;
1
DATA jail;
2
INPUT live $ arrest $ jail $ count;
3
CARDS;
4
n y y 42
5
n y n 109
6
n n y 17
7
n n n 75
8
y y y 33
9
y y n 175
10
y n y 53
11
y n n 359
12
;
13
RUN;
2 Bloc de code
PROC LOGISTIC
Explication : Applique un modèle de régression logistique sur la table 'jail'. 'jail' est la variable dépendante, et 'live' et 'arrest' sont les prédicteurs. L'option 'FREQ' pondère les observations par la variable 'count'.
Copié !
PROC LOGISTIC DESCENDING;
FREQ count;
CLASS live arrest;
MODEL jail = live arrest / SCALE = NONE AGGREGATE;
RUN;
1
PROC LOGISTIC DESCENDING;
2
FREQ count;
3
CLASS live arrest;
4
MODEL jail = live arrest / SCALE = NONE AGGREGATE;
5
RUN;
3 Bloc de code
DATA STEP Data
Explication : Crée la table 'lungcancer' à partir de données en ligne pour modéliser la relation entre le cancer et le tabagisme.
Explication : Crée un modèle de régression logistique basé sur les données 'car' et le sauvegarde dans un item nommé 'predmodel' sans afficher de sortie.
Copié !
PROC LOGISTIC DESCENDING data =car outmodel=predmodel noprint;
MODEL y = x1 x2 / SCALE = NONE AGGREGATE;
RUN;
1
2
PROC LOGISTIC DESCENDING
3
DATA =car outmodel=predmodel noprint;
4
MODEL y = x1 x2 / SCALE = NONE AGGREGATE;
5
RUN;
6
7 Bloc de code
DATA STEP Data
Explication : Crée une nouvelle table 'new' avec une observation à scorer.
Copié !
DATA new;
INPUT x1 x2 ;
CARDS;
44 2.5
;
run;
1
DATA new;
2
INPUT x1 x2 ;
3
CARDS;
4
442.5
5
;
6
RUN;
8 Bloc de code
PROC LOGISTIC Data
Explication : Utilise le modèle 'predmodel' précédemment sauvegardé pour calculer les probabilités prédites sur la table 'new'. Les résultats sont stockés dans 'newprob' puis affichés.
Explication : Crée la table 'oring' contenant des données sur la défaillance d'anneaux toriques (O-rings) avec le nombre d'essais, d'échecs et la température.
Explication : Ajuste un modèle logistique en utilisant la syntaxe 'événements/essais' (model failed/trial) pour modéliser la probabilité d'échec en fonction de la température.
Copié !
proc logistic data=oring ;
model failed/trial = temp ;
run;
1
2
PROC LOGISTIC
3
DATA=oring ;
4
model failed/trial = temp ;
5
6
RUN;
7
11 Bloc de code
PROC LOGISTIC Data
Explication : Active les graphiques ODS et génère un graphique d'effet ('effect plot') pour la température. Les statistiques du modèle sont également sauvegardées dans la table 'pdata'.
Explication : Sauvegarde le modèle 'events/trials' dans 'predmodel', puis l'utilise pour prédire la probabilité d'échec pour de nouvelles valeurs de température. Les résultats sont affichés.
PROC LOGISTIC DESCENDING DATA =oring outmodel=predmodel noprint;
2
MODEL failed/trial = temp / SCALE = NONE AGGREGATE;
3
RUN;
4
5
DATA new;
6
INPUT temp ;
7
CARDS;
8
50
9
40
10
30
11
;
12
RUN;
13
14
PROC LOGISTIC inmodel=predmodel;
15
score DATA=new out=newprob;
16
RUN;
17
18
PROC PRINTDATA=newprob; RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.