logisticOddsRatio
Description
L'action logisticOddsRatio permet de générer une table qui compare différentes sous-populations en utilisant des odds ratios (rapports de cotesIndicateur (Odds Ratio) mesurant l'effet d'une variable : c'est le rapport entre la cote d'un événement pour deux groupes. Un ratio > 1 indique une probabilité accrue de l'événement.). Idéal pour interpréter l'impact de vos variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. dans un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). logistique sans attraper mal à la tête ! Notez que cette action s'utilise sur un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). préalablement ajusté et sauvegardé via un analytic storeFormat binaire (ASTORE) sauvegardant l'état d'un modèle de Machine Learning entraîné dans SAS Viya pour permettre son déploiement et son exécution rapide sur de nouvelles données. (BLOB). Pour tout savoir, consultez la documentation officielle .
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| alpha | Spécifie le niveau de signification pour les limites de confiance (0.05 par défaut, soit 95%). |
| at | Modifie les valeurs ou niveaux fixes par défaut pour les covariables qui interagissent avec la variable de l'odds ratio. Un bon moyen de cibler une population spécifique. |
| diff | Indique quelles paires de niveaux de réponse comparer. 'ALL' pour tout comparer, ou 'REF' pour comparer par rapport à la référence. |
| display | Spécifie une liste de tables de résultats à envoyer au client pour l'affichage. |
| outputTables | Liste les noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur. |
| restore | Restaure les modèles de régression à partir d'un objet binaire volumineux (BLOB). C'est ici que vous indiquez la table contenant votre modèle logistique préalablement entraîné. |
| unit | Change les unités de variation par défaut pour les variables d'odds ratio continues (ex: voir l'effet par tranche de 10 ans d'âge). |
| vars | Spécifie précisément la ou les variables pour lesquelles les odds ratios doivent être calculés. |
Préparation des données
Création des données et entraînement du modèle initial
Avant de pouvoir utiliser `logisticOddsRatio`, nous avons besoin d'un modèle sauvegardé. Générons quelques données médicales fictives et entraînons un modèle logistique.
| 1 | PROC CAS; |
| 2 | /* 1. Création d'une table de données fictives */ |
| 3 | datastep.runCode / |
| 4 | code="data casuser.patients; |
| 5 | call streaminit(12345); |
| 6 | do id = 1 to 1000; |
| 7 | age = 20 + 60*rand('uniform'); |
| 8 | sexe = ifc(rand('uniform')>0.5, 'M', 'F'); |
| 9 | traitement = ifc(rand('uniform')>0.5, 'A', 'B'); |
| 10 | prob = 0.1 + 0.1*(sexe='M') + 0.01*age - 0.15*(traitement='A'); |
| 11 | malade = (rand('uniform') < prob); |
| 12 | output; |
| 13 | end; |
| 14 | run;"; |
| 15 | /* 2. Entraînement et sauvegarde du modèle avec l'action logistic */ |
| 16 | regression.logistic / |
| 17 | TABLE={name="patients", caslib="casuser"}, |
| 18 | class={"sexe", "traitement"}, |
| 19 | model={depVar="malade", effects={"age", "sexe", "traitement"}}, |
| 20 | store={name="modele_log", caslib="casuser", replace=true}; |
| 21 | RUN; |
| 22 | QUIT; |
Exemples d'utilisation
Calcul simple d'Odds Ratios
Restauration du modèle et calcul des rapports de cotes pour la variable traitement.
| 1 | PROC CAS; |
| 2 | regression.logisticOddsRatio / |
| 3 | restore={name="modele_log", caslib="casuser"}, |
| 4 | vars={{var={"traitement"}}}, |
| 5 | diff="REF"; |
| 6 | RUN; |
| 7 | QUIT; |
Résultat Attendu :
Odds Ratios avancés avec unités spécifiques et sauvegarde
Analyse plus poussée avec un intervalle de confiance à 99% (`alpha=0.01`), une unité de +10 pour la variable continue `age`, et sauvegarde du résultat dans une table CAS.
| 1 | PROC CAS; |
| 2 | regression.logisticOddsRatio / |
| 3 | restore={name="modele_log", caslib="casuser"}, |
| 4 | alpha=0.01, |
| 5 | diff="ALL", |
| 6 | unit={{var="age", value=10}}, |
| 7 | vars={{var={"traitement", "sexe", "age"}}}, |
| 8 | outputTables={names={OddsRatios="Table_OR_Resultats"}, replace=true}; |
| 9 | RUN; |
| 10 | QUIT; |