phreg cox

Analyse de survie standard sur essai clinique avec génération de scoring

Scénario de test & Cas d'usage

Contexte Métier

Un laboratoire pharmaceutique souhaite évaluer l'efficacité d'un nouveau traitement oncologique en comparant le temps de survie des patients par rapport à un groupe de contrôle, tout en ajustant le modèle sur l'âge et le sexe. L'objectif final est de générer du code pour scorer de futurs patients.
Préparation des Données

Création d'une table de 200 patients avec temps de survie (mois), statut de censure (0=censuré, 1=décès), groupe de traitement, âge et sexe.

Copié !
1 
2DATA casuser.clinical_data;
3call streaminit(123);
4DO i=1 to 200;
5treatment = rand('BERNOULLI', 0.5);
6age = 50 + floor(rand('NORMAL') * 10);
7IF rand('UNIFORM') < 0.5 THEN sex='F';
8ELSE sex='M';
9hazard = exp(0.5*treatment + 0.02*age);
10time = rand('EXPONENTIAL') / hazard;
11IF time > 24 THEN DO;
12time=24;
13STATUS=0;
14END;
15ELSE STATUS=1;
16OUTPUT;
17END;
18 
19RUN;
20 

Étapes de réalisation

1
Exécution du modèle de Cox avec effets explicatifs et génération du code de scoring.
Copié !
1 
2PROC CAS;
3phreg.cox / TABLE={name="clinical_data"} model={depVars={{name="time"}}, censor="status", censVals={0}, effects={{vars={"treatment", "age", "sex"}}}} code={casOut={name="score_code", replace=TRUE}};
4 
5RUN;
6 
7QUIT;
8 
2
Vérification que la table de code a bien été générée.
Copié !
1 
2PROC CAS;
3TABLE.tableInfo / TABLE="score_code";
4 
5RUN;
6 
7QUIT;
8 

Résultat Attendu


Le modèle converge et produit les Hazard Ratios pour les variables treatment, age et sex. La table 'score_code' est créée dans la caslib et contient le code DATA step nécessaire pour prédire le risque sur de nouvelles données.