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
alpha Spé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.
casOut Spécifie les paramètres de la table de sortie où les résultats du scoring seront sauvegardés.
cBar Nomme 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.
copyVars Spécifie une liste d'une ou plusieurs variables à copier de la table d'entrée vers la table de sortie.
difChisq Nomme la variable pour la variation de la statistique du chi-carré de Pearson attribuable à la suppression de l'observation individuelle.
difDev Nomme la variable pour la variation de la déviance attribuable à la suppression de l'observation individuelle.
display Spécifie une liste de tables de résultats à envoyer au client pour affichage.
fitData Lorsque défini sur True, spécifie que les données à scorer ont également été utilisées pour ajuster le modèle.
h Nomme la variable pour l'effet de levier (leverage) de l'observation.
into Nomme la variable pour le niveau de réponse prédit.
intoCutpt Spécifie la probabilité d'événement prédite qui détermine le niveau de réponse binaire prédit.
ipred Nomme la variable pour la valeur prédite individuelle pour un lien cumulatif.
lcl Nomme la variable pour la borne inférieure d'un intervalle de confiance pour le prédicteur linéaire.
lclm Nomme la variable pour la borne inférieure d'un intervalle de confiance pour la moyenne.
level Nomme la variable pour le niveau de réponse ordonné.
obscat Lorsque défini sur True, calcule les statistiques de sortie multinomiales au niveau de réponse observé.
outputTables Liste les noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur.
post Nomme la variable pour la valeur prédite a posteriori.
pred Nomme la variable pour la valeur prédite.
predprobs Lorsque défini sur True, affiche les probabilités prédites multinomiales demandées en tant que variables distinctes.
resChi Nomme la variable pour le résidu du chi-carré de Pearson.
resDev Nomme la variable pour le résidu de déviance.
resLik Nomme la variable pour le résidu de vraisemblance (déplacement de vraisemblance).
resRaw Nomme la variable pour le résidu brut.
restore Restaure les modèles de régression à partir d'un objet binaire volumineux (BLOB).
resWork Nomme la variable pour le résidu de travail.
role Identifie les rôles d'entraînement, de validation et de test pour les observations.
stdResChi Nomme la variable pour le résidu du chi-carré de Pearson standardisé.
stdResDev Nomme la variable pour le résidu de déviance standardisé.
stdXBeta Nomme la variable pour l'erreur standard du prédicteur linéaire.
table Spécifie la table de données d'entrée à scorer.
ucl Nomme la variable pour la borne supérieure d'un intervalle de confiance pour le prédicteur linéaire.
uclm Nomme la variable pour la borne supérieure d'un intervalle de confiance pour la moyenne.
xBeta Nomme 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` ?