Au-delà de la logistique : Maîtrisez le modèle Probit et l'Item Store pour vos prévisions SAS

Niveau de difficulté
Expert
Publié le :
Simon

Le Conseil de l'Expert

Simon
Expert SAS et fondateur.

L'utilisation combinée des procédures PROC PROBIT et PROC PLM illustre une méthodologie rigoureuse pour la modélisation des choix binaires, comme ici la souscription. Contrairement à une régression linéaire standard, le modèle Probit (ou Logit, selon la distribution choisie) garantit que les probabilités prédites restent confinées dans l'intervalle $[0, 1]$. L'expertise technique réside ici dans l'usage de l'option d=logistic, qui permet d'ajuster une régression logistique au sein de la procédure PROBIT, et l'instruction STORE, qui encapsule l'intelligence du modèle (coefficients, variables de classe et formats) dans un objet binaire persistant.L'intérêt majeur de ce flux est la séparation entre la phase d'apprentissage et la phase de scoring. En restaurant le modèle via la PROC PLM, on s'affranchit de la nécessité de réexécuter les calculs itératifs de maximum de vraisemblance (affichés ici par itprint) pour chaque nouvelle prédiction. L'option ilink (Inverse Link function) dans l'instruction score est cruciale : elle permet de transformer le score linéaire théorique en une probabilité de souscription concrète et interprétable pour les métiers, ici pour le profil d'une femme de 35 ans.Une recommandation d'expert : lors de l'analyse des résultats, portez une attention particulière au test du khi-deux de Pearson pour évaluer l'adéquation globale du modèle (Goodness-of-Fit). Si la valeur $p$ est trop faible, cela pourrait indiquer que des interactions entre l'âge et le sexe, ou des termes non-linéaires, manquent à votre équation pour capturer toute la complexité du comportement de souscription.

Le script commence par la création d'un jeu de données 'news' contenant des informations sur le sexe, l'âge et le statut de souscription. Un format est défini pour la variable de souscription. La procédure PROC PROBIT est utilisée pour construire un modèle de régression Probit avec une fonction de lien logistique, modélisant la variable 'subs' (avec 'accept' comme événement) en fonction des variables 'sex' et 'age'. Le modèle résultant est sauvegardé. Ensuite, un nouveau jeu de données 'test' est créé avec une observation unique. La procédure PROC PLM restaure le modèle sauvegardé et l'applique au jeu de données 'test' pour prédire la probabilité de souscription. Enfin, les résultats des prédictions sont affichés avec PROC PRINT.
Analyse des données

Type : CREATION_INTERNE


Les jeux de données 'news' et 'test' sont tous deux créés directement dans le script à l'aide de blocs DATALINES.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée le jeu de données 'news' à partir de données brutes fournies via DATALINES. Il contient trois variables : 'sex' (caractère), 'age' (numérique) et 'subs' (numérique, représentant le statut de souscription).
Copié !
1DATA news;
2 INPUT sex $ age subs;
3 DATALINES;
4Female 35 0 Male 44 0
5Male 45 1 Female 47 1
6Female 51 0 Female 47 0
7Male 54 1 Male 47 1
8Female 35 0 Female 34 0
9Female 48 0 Female 56 1
10Male 46 1 Female 59 1
11Female 46 1 Male 59 1
12Male 38 1 Female 39 0
13Male 49 1 Male 42 1
14Male 50 1 Female 45 0
15Female 47 0 Female 30 1
16Female 39 0 Female 51 0
17Female 45 0 Female 43 1
18Male 39 1 Male 31 0
19Female 39 0 Male 34 0
20Female 52 1 Female 46 0
21Male 58 1 Female 50 1
22Female 32 0 Female 52 1
23Female 35 0 Female 51 0
24;
25 
2 Bloc de code
PROC FORMAT
Explication :
Cette procédure PROC FORMAT définit un format personnalisé nommé 'subscrib'. Ce format est utilisé pour associer les valeurs numériques 1 et 0 aux chaînes de caractères 'accept' et 'reject' respectivement, améliorant la lisibilité des sorties.
Copié !
1PROC FORMAT;
2 value subscrib 1 = 'accept' 0 = 'reject';
3RUN;
4 
3 Bloc de code
PROC PROBIT
Explication :
La procédure PROC PROBIT est utilisée pour ajuster un modèle de régression Probit au jeu de données 'news'. La variable 'sex' est déclarée comme variable de classification. L'instruction MODEL spécifie 'subs' comme variable de réponse (avec 'accept' comme événement d'intérêt) et 'sex' et 'age' comme prédicteurs. L'option 'd=logistic' spécifie une fonction de lien logistique. 'itprint' affiche les détails de l'itération. Le format 'subscrib' est appliqué à la variable 'subs' pour la sortie. Le modèle ajusté est sauvegardé dans le catalogue 'LogitModel' pour une utilisation ultérieure.
Copié !
1PROC PROBIT DATA=news;
2 class sex;
3 model subs(event="accept")=sex age / d=logistic itprint;
4 FORMAT subs subscrib.;
5 store out=LogitModel;
6RUN;
7 
4 Bloc de code
DATA STEP Data
Explication :
Ce bloc DATA STEP crée un petit jeu de données 'test' à partir de DATALINES. Il contient une seule observation avec les variables 'sex' (caractère) et 'age' (numérique), destinée à être utilisée pour des prédictions basées sur le modèle Probit ajusté.
Copié !
1DATA test;
2 INPUT sex $ age;
3 DATALINES;
4Female 35
5;
6 
5 Bloc de code
PROC PLM Data
Explication :
La procédure PROC PLM (Post-processing of Linear Models) est utilisée ici pour restaurer le modèle 'LogitModel' précédemment sauvegardé. L'instruction SCORE applique ce modèle au jeu de données 'test' pour générer des prédictions. Les prédictions sont stockées dans le nouveau jeu de données 'testout', incluant la variable 'predicted'. L'option 'ilink' transforme les prédictions de la fonction de lien (logit) en probabilités sur l'échelle originale.
Copié !
1PROC PLM restore=LogitModel;
2 score DATA=test out=testout predicted / ilink;
3RUN;
4 
6 Bloc de code
PROC PRINT
Explication :
Cette procédure PROC PRINT affiche le contenu du jeu de données 'testout', qui contient les prédictions générées par PROC PLM pour l'observation dans le jeu de données 'test'.
Copié !
1PROC PRINT DATA=testout;
2RUN;
3 
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.
Informations de Copyright : S A S S A M P L E L I B R A R Y