causalanalysis

caEffect

Descripción

Proporciona métodos agnósticos del modelo para estimar las medias de los resultados potenciales y los efectos causales de los tratamientos categóricos.

causalanalysis.caEffect / alpha=double difference={{evtLev={"string-1" <, "string-2", ...>}, refLev={"string-1" <, "string-2", ...>}}, ...} display={...} freq="variable-name" inference=TRUE | FALSE method="AIPW" | "IPW" | "REGADJ" | "TMLE" outcomeModel={predName="string", restore={...}} outcomeVar={...} outputTables={...} pom={{predOut="variable-name", trtLev="string" | double, trtProb="variable-name"}, ...} pomCov=TRUE | FALSE pomInfo=TRUE | FALSE scaledIPWFlag=double table={...} treatVar={...} weight="variable-name";
Parámetros
ParámetroDescripción
alphaEspecifica el nivel de significancia para la construcción de todos los intervalos de confianza.
differenceEspecifica los efectos causales a estimar en la escala de diferencia.
displayEspecifica una lista de tablas de resultados para enviar al cliente para su visualización.
freqNombra la variable numérica que contiene la frecuencia de ocurrencia para cada observación.
inferenceCuando se establece en True, calcula los errores estándar y los intervalos de confianza para la media del resultado potencial y las estimaciones del efecto causal.
methodEspecifica el método a utilizar para estimar las medias de los resultados potenciales (POMs).
outcomeModelEspecifica el modelo a utilizar para puntuar los valores predichos de los resultados contrafactuales.
outcomeVarEspecifica información sobre la variable de resultado.
outputTablesLista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor.
pomEspecifica los resultados potenciales a estimar.
pomCovCuando se establece en True, muestra una matriz de covarianza de las estimaciones de la media del resultado potencial.
pomInfoCuando se establece en True, crea una tabla que resume las especificaciones del resultado potencial.
scaledIPWFlagEspecifica un múltiplo del peso de probabilidad inversa esperado de una observación que se utiliza para marcar observaciones que tienen pesos grandes.
tableEspecifica la tabla de datos de entrada.
treatVarEspecifica información sobre la variable de tratamiento.
weightNombra la variable numérica a utilizar para realizar un análisis ponderado de los datos.
Creación de Datos de Muestra

Este código crea una tabla en memoria llamada `causal_data` con un tratamiento, un resultado y algunas covariables, así como probabilidades de tratamiento precalculadas y resultados contrafactuales predichos, que son necesarios para los ejemplos.

¡Copiado!
1DATA mycas.causal_data;
2 call streaminit(123);
3 DO i = 1 to 100;
4 IF rand('UNIFORM') > 0.5 THEN treatment = 'A'; ELSE treatment = 'B';
5 covar1 = rand('NORMAL', 5, 1);
6 covar2 = rand('UNIFORM') * 10;
7 IF treatment = 'A' THEN outcome = 10 + 2*covar1 + 0.5*covar2 + rand('NORMAL', 0, 2);
8 ELSE outcome = 15 - 1.5*covar1 + 1*covar2 + rand('NORMAL', 0, 2);
9
10 /* Simular probabilidades de tratamiento y resultados predichos */
11 prob_treat_A = 0.4 + 0.02 * covar1;
12 prob_treat_B = 1 - prob_treat_A;
13 pred_outcome_A = 10 + 2*covar1 + 0.5*covar2;
14 pred_outcome_B = 15 - 1.5*covar1 + 1*covar2;
15 OUTPUT;
16 END;
17RUN;

Ejemplos

Este ejemplo estima las medias de los resultados potenciales (POM) para los tratamientos 'A' y 'B' utilizando el método de ajuste por regresión. Este método solo requiere los resultados contrafactuales predichos de un modelo de resultados.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 causalanalysis.caEffect /
3 TABLE={name='causal_data'},
4 method='REGADJ',
5 treatVar={name='treatment'},
6 outcomeVar={name='outcome', type='CONTINUOUS'},
7 pom={{trtLev='A', predOut='pred_outcome_A'},
8 {trtLev='B', predOut='pred_outcome_B'}},
9 inference=true;
10RUN;
Resultado :
La salida incluirá una tabla 'POM' con las medias de los resultados potenciales estimadas para los tratamientos 'A' y 'B', junto con sus errores estándar e intervalos de confianza.

Este ejemplo utiliza el método de ponderación por probabilidad inversa aumentada (AIPW), que es doblemente robusto. Requiere tanto las probabilidades de tratamiento predichas (de un modelo de propensión) como los resultados contrafactuales predichos (de un modelo de resultados). También calcula el efecto causal promedio del tratamiento (ATE) comparando el tratamiento 'A' con el 'B'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 causalanalysis.caEffect /
3 TABLE={name='causal_data'},
4 method='AIPW',
5 treatVar={name='treatment'},
6 outcomeVar={name='outcome', type='CONTINUOUS'},
7 pom={{trtLev='A', trtProb='prob_treat_A', predOut='pred_outcome_A'},
8 {trtLev='B', trtProb='prob_treat_B', predOut='pred_outcome_B'}},
9 difference={{evtLev={'A'}, refLev={'B'}}},
10 inference=true,
11 pomInfo=true,
12 outputTables={names={POM='mycas.pom_results', Effects='mycas.effects_results'}};
13RUN;
Resultado :
La salida producirá varias tablas: 'POMInfo' describiendo las especificaciones, 'POM' con las medias de los resultados potenciales, y 'Effects' mostrando el efecto causal estimado (A vs B). Las tablas 'pom_results' y 'effects_results' también se guardarán en la caslib 'mycas'.