Comment effectuer une validation croisée avec un modèle de risques proportionnels de Cox?

15

Supposons que j'ai construit un modèle de prédiction pour l'occurrence d'une maladie particulière dans un jeu de données (le jeu de données de construction du modèle) et que je souhaite maintenant vérifier l'efficacité du modèle dans un nouveau jeu de données (le jeu de données de validation). Pour un modèle construit avec une régression logistique, je calculerais la probabilité prédite pour chaque personne dans l'ensemble de données de validation sur la base des coefficients du modèle obtenus à partir de l'ensemble de données de construction du modèle, puis, après avoir dichotomisé ces probabilités à une certaine valeur seuil, je peux construire un tableau 2x2 cela me permet de calculer le vrai taux positif (sensibilité) et le vrai taux négatif (spécificité). De plus, je peux construire l'intégralité de la courbe ROC en variant la valeur seuil, puis obtenir l'ASC pour le graphique ROC.

Supposons maintenant que j'ai réellement des données de survie. J'ai donc utilisé un modèle de risques proportionnels de Cox dans le jeu de données de construction de modèle et je veux maintenant vérifier dans quelle mesure le modèle fonctionne dans le jeu de données de validation. Étant donné que le risque de base n'est pas une fonction paramétrique dans les modèles de Cox, je ne vois pas comment obtenir la probabilité de survie prédite pour chaque personne dans le jeu de données de validation en fonction des coefficients du modèle obtenus dans le jeu de données de construction du modèle. Alors, comment puis-je vérifier le fonctionnement du modèle dans l'ensemble de données de validation? Existe-t-il des méthodes établies pour ce faire? Et si oui, sont-ils implémentés dans un logiciel? Merci d'avance pour toute suggestion!

Wolfgang
la source

Réponses:

9

Une courbe ROC n'est pas utile dans ce cadre, bien que la zone ROC généralisée (c-index, qui ne nécessite aucune dichotomisation) l'est. Le rmspackage R calculera le c-index et les versions à validation croisée ou à correction de suramorçage de celui-ci. Vous pouvez le faire sans retenir de données si vous pré-spécifiez complètement le modèle ou répétez un algorithme de rétrogradation à chaque rééchantillonnage. Si vous voulez vraiment faire une validation externe, c'est-à-dire si votre échantillon de validation est énorme, vous pouvez utiliser les rmsfonctions suivantes : rcorr.cens, val.surv.

Frank Harrell
la source
Merci pour la réponse. Pourriez-vous expliquer pourquoi une courbe ROC n'est pas utile dans ce paramètre? J'ai vu des applications importantes où une telle approche a été utilisée (par exemple, Hippisley-Cox et al. (2007). Dérivation et validation de QRISK, un nouveau score de risque de maladie cardiovasculaire pour le Royaume-Uni: étude prospective de cohorte ouverte. British Medical Journal , 335 (7611): 136), alors maintenant je me pose des questions sur leurs méthodes.
Wolfgang
1
Voici une analogie. Supposons que l'on s'intéresse à l'évaluation du lien entre le vieillissement et la capacité de courir. L'approche ROC poserait la question étant donné la capacité de course de quelqu'un, quelle est la probabilité qu'il soit au-dessus d'un certain âge (arbitraire)? Dans une étude de cohorte, cela ajoute seulement de la confusion pour inverser les rôles des variables indépendantes et dépendantes, et les courbes ROC tentent également de faire des seuils sur un prédicteur, qui est connu pour être une mauvaise pratique statistique - voir biostat.mc.vanderbilt.edu/ CatContinuous . Outre la création de havock, les points de coupure doivent en fait être des fonctions de tous les autres prédicteurs.
Frank Harrell
Encore une fois, merci d'avoir répondu. Je ne suis cependant pas entièrement convaincu. Je suis totalement d'accord que la catégorisation arbitraire d'une variable continue est une mauvaise pratique, mais l'approche ROC catégorise tous les seuils possibles et résume cette information via l'AUC. Il n'y a donc aucun arbitraire à cela. Cela semble également être une pratique standard et acceptée pour les modèles de régression logistique. Êtes-vous donc contre l'utilisation des courbes ROC en général ou simplement dans le contexte des modèles de survie?
Wolfgang
2
X=XX>c
Mon expérience me dit que beaucoup de chercheurs / praticiens veulent réellement des règles de décision dichotomiques (en laissant de côté si cela est utile ou non). Quoi qu'il en soit, je vais suivre certaines de ces fonctions R et voir où cela me mène. Merci pour la discussion.
Wolfgang
0

Je sais que cette question est assez ancienne mais ce que j'ai fait quand j'ai rencontré le même problème était d'utiliser la fonction de prédiction pour obtenir un "score" pour chaque sujet dans l'ensemble de validation. Cela a été suivi en divisant les sujets selon que le score était supérieur ou inférieur à la médiane et en traçant la courbe de Kaplan-Meier. Cela devrait montrer une séparation des sujets si votre modèle est prédictif. J'ai également testé la corrélation du score (en fait de son ln [pour une distribution normale]) avec la survie en utilisant la fonction coxph du package de survie dans R.

PMA
la source