Le script commence par une étape DATA qui lit des données agrégées en ligne (datalines) pour générer des observations individuelles avec une variable de réponse binaire 'y'. Les données sont réparties dans les tables 'train' et 'valid'. Ensuite, plusieurs procédures PROC LOGISTIC sont utilisées : 1) Un modèle est entraîné sur 'train' et ses performances sont évaluées sur 'valid' via l'instruction SCORE, en générant des courbes ROC pour les deux jeux de données. 2) Le script montre comment évaluer des prédictions déjà calculées avec une nouvelle courbe ROC. 3) Une autre exécution génère des prédictions avec des statistiques d'ajustement. 4) Un modèle final est appliqué à l'ensemble des données pour produire des prédictions par validation croisée (cross-validation).
Analyse des données
Type : CREATION_INTERNE
Les données sont entièrement générées au sein de la première étape DATA à l'aide d'une instruction `datalines`. Le code transforme des données agrégées (nombre d'essais 'n' et de succès 'r') en observations individuelles formatées pour une analyse de régression binaire.
1 Bloc de code
DATA STEP Data
Explication : Ce bloc DATA lit des données brutes multilignes (grâce à l'opérateur '@@') et les transforme. Pour chaque ligne lue, deux boucles 'do' génèrent des observations individuelles avec une variable binaire 'y' (1 pour 'r' observations, 0 pour 'n-r' observations). Les données sont réparties dans trois tables : 'alldata' (toutes les données), 'train' (blocs 1-3) et 'valid' (bloc 4).
Explication : Ce bloc entraîne un modèle de régression logistique sur le jeu de données 'train', où 'y' est la variable dépendante et 'entry' est la variable explicative. L'option 'outroc=troc' sauvegarde les données de la courbe ROC pour l'échantillon d'entraînement. L'instruction 'score' applique ce modèle à l'échantillon 'valid', génère les prédictions dans la table 'valpred' et les données ROC dans 'vroc'. 'roc' et 'roccontrast' affichent et comparent les courbes ROC.
Explication : Affiche la description des variables (métadonnées) de la table 'valpred' créée par l'étape de scoring précédente.
Copié !
proc contents data=valpred;
run;
1
PROC CONTENTSDATA=valpred;
2
RUN;
4 Bloc de code
PROC PRINT
Explication : Tente d'afficher les 100 premières observations de la table 'preds'. Note : à ce stade du script, la table 'preds' n'a pas encore été créée, ce qui provoquerait une erreur d'exécution. Elle est générée dans un bloc ultérieur.
Copié !
proc print data=preds(obs=100);
run;
1
PROC PRINTDATA=preds(obs=100);
2
RUN;
5 Bloc de code
PROC LOGISTIC
Explication : Cette série de procédures logistiques explore différentes techniques d'évaluation :
1. Un modèle nul (intercept-only) est utilisé pour générer une courbe ROC basée sur les probabilités prédites ('p_1') de la table 'valpred'.
2. Le modèle est ré-entraîné et l'instruction 'score' est de nouveau utilisée, cette fois avec l'option 'fitstat' pour obtenir des statistiques d'ajustement sur les données de validation.
3. Un modèle est entraîné sur l'ensemble des données ('alldata') et l'instruction 'output' crée la table 'preds' contenant les probabilités prédites par validation croisée ('crossvalidate').
4. Finalement, une courbe ROC est générée à partir de ces prédictions croisées ('xp_1') pour évaluer le modèle.
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.
« Le script va au-delà de la simple modélisation en utilisant l'instruction ROCCONTRAST. Cela permet de tester statistiquement si les différences entre plusieurs modèles ou entre les performances de validation sont significatives. L'activation d' ODS GRAPHICS transforme ces résultats complexes en diagnostics visuels immédiats, facilitant la prise de décision métier. »
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.