regression

logisticAssociation

Description

Calcule les indices de corrélation de rang entre les probabilités prédites et les réponses observées, utilisés pour évaluer la capacité prédictive d'un modèle de régression logistique.

regression.logisticAssociation <result=results> <status=rc> / accuracy="string", allStats=TRUE | FALSE, association=TRUE | FALSE, binEps=double, casOut={casouttable}, ctable=TRUE | FALSE, cutpt=double | {double-1 <, double-2, ...>}, display={displayTables}, fitData=TRUE | FALSE, fnf="string", fpf="string", lift="string", misclass="string", nocounts=TRUE | FALSE, npv="string", outputTables={outputTables}, pc="string", ppv="string", restore={castable}, table={castable}, tnf="string", tpf="string";
Paramètres
ParamètreDescription
accuracyInclut et nomme la précision (accuracy) dans la table de classification.
allStatsLorsqu'il est défini sur True, demande toutes les statistiques disponibles.
associationLorsqu'il est défini sur True, crée la table d'association.
binEpsSpécifie la précision des probabilités prédites qui sont utilisées pour la classification.
casOutSpécifie les paramètres pour une table de sortie.
ctableCrée la table de classification.
cutptSpécifie les points de coupure pour la table de classification.
displaySpécifie une liste de tables de résultats à envoyer au client pour affichage.
fitDataLorsqu'il est défini sur True, spécifie que les données à scorer ont également été utilisées pour ajuster le modèle.
fnfInclut et nomme la fraction de faux négatifs dans la table de classification.
fpfInclut et nomme la fraction de faux positifs (1-spécificité) dans la table de classification.
liftInclut et nomme le lift dans la table de classification.
misclassInclut et nomme le taux de mauvaise classification dans la table de classification.
nocountsLorsqu'il est défini sur True, supprime les comptages de la table de classification.
npvInclut et nomme la valeur prédictive négative dans la table de classification.
outputTablesListe les noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur.
pcInclut et nomme le pourcentage de corrections dans la table de classification.
ppvInclut et nomme la valeur prédictive positive (précision) dans la table de classification.
restoreRestaure les modèles de régression à partir d'un objet binaire volumineux (BLOB).
tableSpécifie la table de données d'entrée.
tnfInclut et nomme la fraction de vrais négatifs (spécificité) dans la table de classification.
tpfInclut et nomme la fraction de vrais positifs (rappel, sensibilité) dans la table de classification.
Préparation des Données Voir la fiche de ce code dataprep
Création des données de test

Crée une table CAS nommée 'getStarted' contenant des données pour un modèle de régression logistique. La variable 'y' est la variable dépendante binaire, et 'p' est un prédicteur.

Copié !
1DATA casuser.getStarted;
2DO i=1 to 100;
3 IF rand('UNIFORM') > 0.5 THEN y=1; ELSE y=0;
4 p = 0.4 + 0.2*y + 0.1*rand('NORMAL');
5 OUTPUT;
6END;
7RUN;

Exemples

Ajuste un modèle de régression logistique simple, puis calcule les statistiques d'association de base sur les données d'entraînement pour évaluer la performance du modèle.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 regression.logistic DATA='getStarted' class={'y'} model={depvar='y', effects={'p'}}
3 store={name='myModel', replace=true};
4 RUN;
5 regression.logisticAssociation TABLE='getStarted' restore='myModel';
6 RUN;
7QUIT;
Résultat :
Affiche la table 'Association Statistics' qui contient les mesures de corrélation de rang entre les probabilités prédites et les réponses observées, incluant les paires concordantes, discordantes, et les indices C de Somers, Gamma, Tau-a et Goodman-Kruskal.

Après avoir ajusté un modèle logistique, cette exemple utilise `logisticAssociation` pour générer une table de classification détaillée avec plusieurs points de coupure (0.2, 0.4, 0.6, 0.8) et produit une table de sortie CAS ('roc_data') contenant les données nécessaires pour tracer une courbe ROC.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 regression.logistic DATA='getStarted' class={'y'} model={depvar='y', effects={'p'}} store={name='myModel', replace=true};
3 RUN;
4 regression.logisticAssociation
5 TABLE='getStarted'
6 restore='myModel'
7 ctable=true
8 cutpt={0.2, 0.4, 0.6, 0.8}
9 pc='Pourcentage_Correct'
10 casOut={name='roc_data', replace=true};
11 RUN;
12QUIT;
Résultat :
Génère trois tables de résultats : 'Association Statistics' (statistiques d'association), 'Classification' (une table de classification détaillée pour chaque point de coupure spécifié avec une colonne nommée 'Pourcentage_Correct'), et 'OutputCasTables' qui confirme la création de la table CAS 'roc_data'.

FAQ

Quel est l'objectif de l'action 'logisticAssociation' dans SAS Viya ?
Quels sont les paramètres d'entrée principaux requis par l'action 'logisticAssociation' ?
Comment générer une table de classification avec cette action ?
Quelles sont les principales statistiques de performance de modèle que l'on peut obtenir ?
Est-il possible d'enregistrer les tables de résultats générées ?