phreg cox

Análisis de Eficacia de Tratamiento y Generación de Código de Puntuación

Scénario de test & Cas d'usage

Contexto empresarial

Una empresa farmacéutica está finalizando un ensayo clínico de Fase III. Necesitan analizar el tiempo de supervivencia de los pacientes bajo un Nuevo Tratamiento frente al Estándar. Además, el equipo de IT requiere el código de puntuación (scoring) para desplegar el modelo en producción y evaluar a futuros pacientes en tiempo real.
Preparación de datos

Simulación de 200 pacientes con Tratamiento (A/B), Edad, Sexo y Tiempo hasta el evento.

¡Copiado!
1DATA mycas.clinical_trials;
2 call streaminit(12345);
3 DO id = 1 to 200;
4 Treatment = ifc(rand('BERNOULLI', 0.5), 'NewDrug', 'Standard');
5 Sex = ifc(rand('BERNOULLI', 0.6), 'F', 'M');
6 Age = 40 + rand('NORMAL') * 12;
7 /* El riesgo base depende del tratamiento */
8 BaseHaz = ifn(Treatment='NewDrug', 0.5, 1.0);
9 Time = rand('EXPONENTIAL') * 20 / BaseHaz;
10 Event = (rand('UNIFORM') < 0.8);
11 OUTPUT;
12 END;
13RUN;

Étapes de réalisation

1
Carga de datos y verificación preliminar (implícito en la preparación).
¡Copiado!
1/* Datos ya cargados en mycas.clinical_trials */
2
Ejecución del modelo de Cox con variables de clasificación y generación de código de scoring.
¡Copiado!
1PROC CAS;
2 phreg.cox /
3 TABLE={name='clinical_trials'},
4 class={{vars={'Treatment', 'Sex'}}},
5 model={depVars={{name='Time', event='Event(0)'}}, effects={{vars={'Treatment', 'Sex', 'Age'}}}},
6 code={casOut={name='score_code', replace=TRUE}, survival=TRUE, cumHaz=TRUE};
7RUN;

Resultado esperado


La acción debe ejecutarse sin errores. Se deben generar tablas de 'Estimaciones de Parámetros' mostrando la significancia del 'Treatment'. Crucialmente, debe crearse una tabla CAS llamada 'score_code' que contenga el código SAS DATA step necesario para calcular probabilidades de supervivencia en nuevos datos.