Proporciona métodos agnósticos del modelo para estimar las medias de los resultados potenciales y los efectos causales de los tratamientos categóricos.
| Parámetro | Descripción |
|---|---|
| alpha | Especifica el nivel de significancia para la construcción de todos los intervalos de confianza. |
| difference | Especifica los efectos causales a estimar en la escala de diferencia. |
| display | Especifica una lista de tablas de resultados para enviar al cliente para su visualización. |
| freq | Nombra la variable numérica que contiene la frecuencia de ocurrencia para cada observación. |
| inference | Cuando 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. |
| method | Especifica el método a utilizar para estimar las medias de los resultados potenciales (POMs). |
| outcomeModel | Especifica el modelo a utilizar para puntuar los valores predichos de los resultados contrafactuales. |
| outcomeVar | Especifica información sobre la variable de resultado. |
| outputTables | Lista los nombres de las tablas de resultados para guardar como tablas CAS en el servidor. |
| pom | Especifica los resultados potenciales a estimar. |
| pomCov | Cuando se establece en True, muestra una matriz de covarianza de las estimaciones de la media del resultado potencial. |
| pomInfo | Cuando se establece en True, crea una tabla que resume las especificaciones del resultado potencial. |
| scaledIPWFlag | Especifica un múltiplo del peso de probabilidad inversa esperado de una observación que se utiliza para marcar observaciones que tienen pesos grandes. |
| table | Especifica la tabla de datos de entrada. |
| treatVar | Especifica información sobre la variable de tratamiento. |
| weight | Nombra la variable numérica a utilizar para realizar un análisis ponderado de los datos. |
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.
| 1 | DATA 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; |
| 17 | RUN; |
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.
| 1 | PROC 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; |
| 10 | RUN; |
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'.
| 1 | PROC 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'}}; |
| 13 | RUN; |