causalanalysis

caEffect

##set_causalanalysis

Description

L'action caEffect du set d'actions Causal Analysis est votre couteau suisse pour l'inférence causaleGemini said

L’inférence causale est une méthode statistique mesurant l’effet réel d’une variable sur une autre en isolant les corrélations trompeuses, afin d’établir des liens de cause à effet directs.
moderne. Elle permet d'estimer les moyennes des résultats potentiels (Potential Outcome MeansLes Potential Outcome Means (POM) estiment la réponse moyenne de la population si chaque individu recevait un traitement spécifique, permettant de comparer les effets de différents scénarios. - POM) et les effets causauxMesure de l'impact direct d'une intervention ou d'un traitement sur un résultat, isolée des autres variables grâce à des méthodes statistiques comme le score de propension. de traitements catégoriels en utilisant des méthodes agnostiques vis-à-vis du 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).. Que vous soyez adepte de la pondération par l'inverse de la probabilité (IPW) ou de l'ajustement par régression, cette action gère tout, même les méthodes doublement robustes comme l'AIPW ou la TMLE. C'est l'outil idéal pour répondre à la question : 'Et si j'avais fait l'inverse ?' sans avoir besoin d'une machine à remonter le temps (ce qui est plus économique en budget cloud).

Syntaxe Officielle
proc cas;
causalanalysis.caEffect /
alpha=0.05
difference={{evtLev={'Niveau1'}, refLev={'NiveauRef'}}}
inference=true
method='AIPW' | 'IPW' | 'REGADJ' | 'TMLE'
outcomeModel={predName='P_Cible', restore={name='TableModele'}}
outcomeVar={name='Cible', type='CONTINUOUS'}
pom={{trtLev='A', predOut='P_Y_A', trtProb='P_T_A'}, {trtLev='B', predOut='P_Y_B', trtProb='P_T_B'}}
table={name='DonneesEntree'}
treatVar={name='Traitement'}
;
run;

Paramètres Clés

Nom du paramètre Description
method Définit la recette statistique : AIPW (doublement robuste), IPW (pondération), REGADJ (ajustement régression) ou TMLE (maximum de vraisemblance ciblé).
pom Paramètre crucial définissant les niveaux de traitement à analyser et les variables de prédiction associées (probabilités de traitement et sorties du modèle de résultat).
outcomeModel Permet de restaurer un modèle préalablement sauvegardé (par exemple via une action de forêt aléatoire ou de régression) pour prédire les résultats contre-factuels.
inference Si activé (TRUE), l'action calcule les erreurs types et les intervalles de confiance. Très utile pour ne pas dire n'importe quoi avec trop d'assurance.
difference Spécifie les comparaisons par paires (différences) entre les moyennes des résultats potentiels pour estimer l'effet causal moyen (ATE).

Préparation des données

Création de données pour analyse causale

Simulation d'un essai clinique avec un traitement (Drug), une réponse (Outcome) et des probabilités prédites (Propensity Scores) ainsi que des résultats potentiels prédits.

1DATA casuser.essais_cliniques;
2 INPUT ID Drug $ Outcome Age P_DrugA P_DrugB P_Y_A P_Y_B;
3 DATALINES;
41 A 15.5 45 0.6 0.4 16.2 14.8
52 B 12.1 50 0.3 0.7 15.9 12.5
63 A 18.2 35 0.8 0.2 17.5 16.0
74 B 14.4 60 0.4 0.6 14.0 14.2
85 A 16.0 42 0.5 0.5 16.5 15.5
9;
10RUN;

Exemples d'utilisation

Estimation basique par pondération (IPW)

Utilisation de la méthode IPW pour estimer les moyennes des résultats potentiels en se basant sur les scores de propension déjà présents dans la table.

1PROC CAS;
2 causalanalysis.caEffect / TABLE={name='essais_cliniques'}, method='IPW', treatVar={name='Drug'}, outcomeVar={name='Outcome', type='CONTINUOUS'}, pom={{trtLev='A', trtProb='P_DrugA'}, {trtLev='B', trtProb='P_DrugB'}}, difference={{evtLev={'A'}, refLev={'B'}}}, inference=true;
3RUN;
Résultat Attendu :
Un tableau affichant les estimations de POM pour les traitements A et B, ainsi que la différence (ATE) avec les intervalles de confiance.
Analyse robuste AIPW avec modèle de résultat externe

Exemple complet utilisant la méthode AIPW (Augmented IPW) qui nécessite à la fois les probabilités de traitement (modèle de propension) et les prédictions de résultat (modèle de réponse) pour une robustesse maximale face aux erreurs de spécification.

1PROC CAS;
2 causalanalysis.caEffect / TABLE={name='essais_cliniques'}, method='AIPW', treatVar={name='Drug'}, outcomeVar={name='Outcome', type='CONTINUOUS'}, pom={{trtLev='A', predOut='P_Y_A', trtProb='P_DrugA'}, {trtLev='B', predOut='P_Y_B', trtProb='P_DrugB'}}, difference={{evtLev={'A'}, refLev={'B'}}}, pomCov=true, pomInfo=true, inference=true, alpha=0.01;
3RUN;
Résultat Attendu :
Estimations hautement robustes avec matrice de covariance des POM, informations détaillées sur la spécification et statistiques d'inférence avec un niveau de confiance de 99%.