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.
| Paramètre | Description |
|---|---|
| restore | Restaure les modèles de régression à partir d'un objet binaire volumineux (BLOB). C'est le modèle dont l'ajustement sera testé. |
| table | Spécifie la table de données d'entrée sur laquelle le test sera appliqué. |
| binEps | Spécifie la précision des probabilités prédites utilisées pour la classification. La valeur par défaut est 1E-05. |
| cutpt | Spécifie les points de coupe pour les partitions du test de Hosmer et Lemeshow. |
| df | Spécifie les degrés de liberté à utiliser pour le test de Hosmer et Lemeshow. |
| dfReduce | Spécifie la réduction des degrés de liberté pour le test. La valeur par défaut est 2. |
| display | Spécifie une liste de tables de résultats à envoyer au client pour affichage. |
| nGroups | Spécifie le nombre maximum de groupes à créer pour le test. La valeur par défaut est 10. |
| noncentrality | Spécifie le paramètre de non-centralité pour le test. La valeur par défaut est 0. |
| outputTables | Liste les noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur. |
| powerAdj | Si défini sur True, ajuste le nombre de groupes pour que le test de Hosmer et Lemeshow puisse maintenir sa puissance. |
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'.
| 1 | /* Étape 1: Ajuster un modèle logistique et le sauvegarder */ |
| 2 | PROC 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}; |
| 8 | RUN; |
| 9 | QUIT; |
| 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 */ |
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'.
| 1 | |
| 2 | PROC CAS; |
| 3 | regression.logisticLackfit / restore={name='myModel'}, TABLE={name='hmeq', caslib='casuser'}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
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.
| 1 | |
| 2 | PROC CAS; |
| 3 | regression.logisticLackfit / restore={name='myModel'}, TABLE={name='hmeq', caslib='casuser'}, nGroups=8; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
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.
| 1 | |
| 2 | PROC CAS; |
| 3 | regression.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 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |