regression

logisticLackfit

Description

Calcule le test d'ajustement de Hosmer et Lemeshow pour les modèles de régression logistique. Ce test évalue la qualité de l'ajustement du modèle en comparant les fréquences observées aux fréquences attendues dans des groupes formés à partir des probabilités prédites. C'est un outil essentiel pour valider la calibration d'un modèle de classification binaire.

regression.logisticLackfit / restore={caslib='string', name='table-name', ...}, table={caslib='string', name='table-name', ...}, binEps=double, cutpt=double | {double-1, ...}, df=double, dfReduce=integer, nGroups=integer, noncentrality=double, powerAdj=boolean
Paramètres
ParamètreDescription
restoreRestaure les modèles de régression à partir d'un objet binaire volumineux (BLOB). C'est le modèle dont l'ajustement sera testé.
tableSpécifie la table de données d'entrée sur laquelle le test sera appliqué.
binEpsSpécifie la précision des probabilités prédites utilisées pour la classification. La valeur par défaut est 1E-05.
cutptSpécifie les points de coupe pour les partitions du test de Hosmer et Lemeshow.
dfSpécifie les degrés de liberté à utiliser pour le test de Hosmer et Lemeshow.
dfReduceSpécifie la réduction des degrés de liberté pour le test. La valeur par défaut est 2.
displaySpécifie une liste de tables de résultats à envoyer au client pour affichage.
nGroupsSpécifie le nombre maximum de groupes à créer pour le test. La valeur par défaut est 10.
noncentralitySpécifie le paramètre de non-centralité pour le test. La valeur par défaut est 0.
outputTablesListe les noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur.
powerAdjSi défini sur True, ajuste le nombre de groupes pour que le test de Hosmer et Lemeshow puisse maintenir sa puissance.
Préparation des Données Voir la fiche de ce code dataprep
Création de Données d'Exemple

Ce bloc de données SAS crée une table CAS nommée 'mycas.mydata' qui peut être utilisée pour les exemples. Comme aucun exemple de données n'a été fourni dans la documentation source, un jeu de données générique est suggéré ici. Il faut d'abord ajuster un modèle logistique et le sauvegarder avec l'action 'logistic'.

Copié !
1/* Étape 1: Ajuster un modèle logistique et le sauvegarder */
2PROC CAS;
3 regression.logistic
4 TABLE={name='hmeq', caslib='casuser'},
5 class={'job', 'reason'},
6 model={depvar='bad', effects={'job', 'reason', 'clage', 'clno', 'debtinc'}},
7 store={name='myModel', replace=true};
8RUN;
9QUIT;
10 
11/* Étape 2: Utiliser la table de modèle pour le test d'ajustement */
12/* La table HMEQ est utilisée comme données d'entrée pour le test */

Exemples

Cet exemple montre comment effectuer un test de Hosmer et Lemeshow de base en utilisant une table de modèle ('myModel') restaurée et la table de données 'hmeq'.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3regression.logisticLackfit / restore={name='myModel'}, TABLE={name='hmeq', caslib='casuser'};
4 
5RUN;
6 
7QUIT;
8 
Résultat :
Le résultat attendu est une table ('LackfitTest') contenant les statistiques du test de Hosmer et Lemeshow, y compris le chi-carré, les degrés de liberté et la p-valeur, évaluant l'ajustement du modèle.

Cet exemple illustre comment utiliser le test de Hosmer et Lemeshow en spécifiant un nombre différent de groupes (par exemple, 8) pour partitionner les données.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3regression.logisticLackfit / restore={name='myModel'}, TABLE={name='hmeq', caslib='casuser'}, nGroups=8;
4 
5RUN;
6 
7QUIT;
8 
Résultat :
Une table ('LackfitTest') est générée, affichant les résultats du test de Hosmer et Lemeshow calculé sur 8 groupes au lieu des 10 par défaut.

Cet exemple montre comment définir des points de coupe spécifiques pour créer les groupes du test, offrant un contrôle plus fin sur la partition des probabilités prédites.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3regression.logisticLackfit / restore={name='myModel'}, TABLE={name='hmeq', caslib='casuser'}, cutpt={0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9};
4 
5RUN;
6 
7QUIT;
8 
Résultat :
Les résultats du test d'ajustement sont calculés en utilisant les 10 groupes définis par les 9 points de coupe spécifiés, permettant une analyse plus ciblée de l'ajustement du modèle.

FAQ

À quoi sert l'action logisticLackfit ?
Quels sont les paramètres principaux pour configurer le test de Hosmer et Lemeshow ?
Comment l'action détermine-t-elle les groupes pour le test ?
Que fait le paramètre `powerAdj` ?
Quelles sont les tables d'entrée requises pour cette action ?
Peut-on spécifier une réduction des degrés de liberté ?