regression

logisticScore

Description

L'action logisticScore crée une table sur le serveur qui contient les résultats du scoring des observations à l'aide d'un modèle ajusté. Cette action est essentielle après avoir entraîné un modèle de régression logistique pour appliquer ce modèle à de nouvelles données (ou aux mêmes données) et générer des prédictions, des probabilités et d'autres statistiques de diagnostic.

regression.logisticScore <result=results> <status=rc> / alpha=double, casOut={...}, cBar="string", copyVars="ALL" | "ALL_NUMERIC" | {"variable-name-1" <, "variable-name-2", ...>}, difChisq="string", difDev="string", display={...}, fitData=TRUE | FALSE, h="string", into="string", intoCutpt=double, ipred="string", lcl="string", lclm="string", level="string", obscat=TRUE | FALSE, outputTables={...}, post="string", pred="string", predprobs=TRUE | FALSE, resChi="string", resDev="string", resLik="string", resRaw="string", restore={...}, resWork="string", role="string", stdResChi="string", stdResDev="string", stdXBeta="string", table={...}, ucl="string", uclm="string", xBeta="string";
Paramètres
ParamètreDescription
alphaSpécifie le niveau de significativité à utiliser pour la construction des intervalles de confiance. Par défaut, il est défini sur le niveau de significativité global.
casOutSpécifie les paramètres de la table de sortie où les résultats du scoring seront sauvegardés.
cBarNomme la variable pour le déplacement de l'intervalle de confiance (C), qui mesure le changement global des estimations de régression dû à la suppression de l'observation individuelle.
copyVarsSpécifie une liste d'une ou plusieurs variables à copier de la table d'entrée vers la table de sortie.
difChisqNomme la variable pour la variation de la statistique du chi-carré de Pearson attribuable à la suppression de l'observation individuelle.
difDevNomme la variable pour la variation de la déviance attribuable à la suppression de l'observation individuelle.
displaySpécifie une liste de tables de résultats à envoyer au client pour affichage.
fitDataLorsque défini sur True, spécifie que les données à scorer ont également été utilisées pour ajuster le modèle.
hNomme la variable pour l'effet de levier (leverage) de l'observation.
intoNomme la variable pour le niveau de réponse prédit.
intoCutptSpécifie la probabilité d'événement prédite qui détermine le niveau de réponse binaire prédit.
ipredNomme la variable pour la valeur prédite individuelle pour un lien cumulatif.
lclNomme la variable pour la borne inférieure d'un intervalle de confiance pour le prédicteur linéaire.
lclmNomme la variable pour la borne inférieure d'un intervalle de confiance pour la moyenne.
levelNomme la variable pour le niveau de réponse ordonné.
obscatLorsque défini sur True, calcule les statistiques de sortie multinomiales au niveau de réponse observé.
outputTablesListe les noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur.
postNomme la variable pour la valeur prédite a posteriori.
predNomme la variable pour la valeur prédite.
predprobsLorsque défini sur True, affiche les probabilités prédites multinomiales demandées en tant que variables distinctes.
resChiNomme la variable pour le résidu du chi-carré de Pearson.
resDevNomme la variable pour le résidu de déviance.
resLikNomme la variable pour le résidu de vraisemblance (déplacement de vraisemblance).
resRawNomme la variable pour le résidu brut.
restoreRestaure les modèles de régression à partir d'un objet binaire volumineux (BLOB).
resWorkNomme la variable pour le résidu de travail.
roleIdentifie les rôles d'entraînement, de validation et de test pour les observations.
stdResChiNomme la variable pour le résidu du chi-carré de Pearson standardisé.
stdResDevNomme la variable pour le résidu de déviance standardisé.
stdXBetaNomme la variable pour l'erreur standard du prédicteur linéaire.
tableSpécifie la table de données d'entrée à scorer.
uclNomme la variable pour la borne supérieure d'un intervalle de confiance pour le prédicteur linéaire.
uclmNomme la variable pour la borne supérieure d'un intervalle de confiance pour la moyenne.
xBetaNomme la variable pour le prédicteur linéaire.
Préparation des Données Voir la fiche de ce code dataprep
Création d'un jeu de données et d'un modèle pour le scoring

Avant de pouvoir utiliser l'action `logisticScore`, il faut d'abord entraîner un modèle de régression logistique et le sauvegarder. Cet exemple montre comment créer un jeu de données, entraîner un modèle simple et le sauvegarder dans un item store CAS.

Copié !
1PROC CAS;
2 LOADACTIONSET 'regression';
3 /* 1. Créer un jeu de données */
4 DATA mycas.hmeq_score;
5 SET sampsio.hmeq;
6 RUN;
7 
8 /* 2. Entraîner le modèle logistique */
9 regression.logistic
10 TABLE={name='hmeq'},
11 class={'job','reason'},
12 model={depvar='bad', effects={'loan','mortdue','value','reason','job','yoj'}},
13 store={name='myModelStore', replace=true};
14 RUN;
15QUIT;

Exemples

Cet exemple utilise le modèle sauvegardé dans `myModelStore` pour scorer le jeu de données `hmeq_score` et crée une table de sortie `hmeq_scored` contenant les prédictions.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 regression.logisticScore
3 restore={name='myModelStore'},
4 TABLE={name='hmeq_score'},
5 casOut={name='hmeq_scored', replace=true};
6 RUN;
7QUIT;
Résultat :
Une table CAS nommée `hmeq_scored` est créée. Elle contient les variables d'origine de `hmeq_score` ainsi qu'une colonne de prédiction par défaut (généralement `_PRED_`).

Cet exemple montre comment générer des statistiques de scoring spécifiques, telles que les probabilités prédites, les bornes de confiance pour la moyenne et les résidus bruts. Les noms des nouvelles variables sont personnalisés.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 regression.logisticScore
3 restore={name='myModelStore'},
4 TABLE={name='hmeq_score'},
5 copyVars={'bad', 'loan', 'value'},
6 pred='P_bad1',
7 lclm='LCLM_bad1',
8 uclm='UCLM_bad1',
9 resRaw='Resid_bad1',
10 casOut={name='hmeq_scored_detailed', replace=true};
11 RUN;
12QUIT;
Résultat :
Une table CAS nommée `hmeq_scored_detailed` est créée avec les variables copiées (`bad`, `loan`, `value`) et les nouvelles variables statistiques : `P_bad1` (probabilité prédite), `LCLM_bad1` (borne de confiance inférieure pour la moyenne), `UCLM_bad1` (borne de confiance supérieure pour la moyenne), et `Resid_bad1` (résidu brut).

Pour un modèle multinomial, cet exemple génère les probabilités prédites pour chaque niveau de la variable de réponse et les stocke dans des variables distinctes.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 regression.logisticScore
3 restore={name='myModelStore'},
4 TABLE={name='hmeq_score'},
5 predProbs=true,
6 casOut={name='hmeq_scored_probs', replace=true};
7 RUN;
8QUIT;
Résultat :
La table de sortie `hmeq_scored_probs` contiendra des colonnes séparées pour la probabilité prédite de chaque niveau de la variable dépendante (par exemple, `_P_BAD0_` et `_P_BAD1_`).

Cet exemple classifie les observations dans une catégorie prédite en utilisant un seuil de probabilité personnalisé de 0.6 au lieu de la valeur par défaut de 0.5. Le résultat est stocké dans une nouvelle variable nommée `Classification_60pct`.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 regression.logisticScore
3 restore={name='myModelStore'},
4 TABLE={name='hmeq_score'},
5 into='Classification_60pct',
6 intoCutpt=0.6,
7 casOut={name='hmeq_scored_custom_cut', replace=true};
8 RUN;
9QUIT;
Résultat :
La table `hmeq_scored_custom_cut` contiendra une colonne `Classification_60pct` avec la classe prédite (0 ou 1) basée sur le seuil de 0.6.

FAQ

À quoi sert l'action logisticScore dans SAS Viya ?
Quel est le rôle du paramètre `restore` ?
Comment spécifier la table de données à scorer ?
À quoi sert le paramètre `casOut` et est-il obligatoire ?
Comment inclure les variables de la table d'entrée dans la table de sortie ?
Comment obtenir les probabilités prédites pour chaque classe dans la sortie ?
Quelle est l'utilité du paramètre `fitData` ?