Modèle à risques proportionnels de Cox censuré par intervalles dans R

9

Étant donné les temps de survie à censure par intervalles, comment puis-je effectuer un modèle Cox PH à censure par intervalles dans R? Une recherche rseek révèle le package intcox, qui n'existe plus dans le Rréférentiel. Je suis presque certain que la coxphfonction dans le survivalpackage ne peut pas gérer les données de survie censurées par intervalles.

De plus, je ne veux pas imputer les données et ensuite utiliser la coxphfonction. Cette méthode sous-estime les erreurs standard des coefficients car vous ignorez l'incertitude de la censure d'intervalle.

wcampbell
la source
1
Vous pouvez toujours installer le intcoxpackage même s'il ne fonctionne pas CRANnormalement install.packages("intcox").
smillig
Hmmm ... je n'ai pas pu faire ça. La sélection du miroir pourrait-elle affecter le téléchargement?
wcampbell
1
C'est possible, mais je ne sais pas. Je viens d'utiliser le Berlin CRAN pour le faire il y a environ 10 minutes (R version 2.15.1).
smillig
2
L' affichage des tâches CRAN de l'analyse de survie résume les packages disponibles pour l'analyse de survie, y compris un certain nombre avec prise en charge de la censure d'intervalle.
jthetzel
1
À partir du 21 décembre 2015, j'ai pu install.packages("intcox")sans problème particulier (R-devel, mais tout R moderne devrait fonctionner)
Ben Bolker

Réponses:

4

Comme indiqué ci-dessus, vous pouvez utiliser la fonction survreg. Une remarque cependant: ce n'est pas strictement un modèle Cox PH, mais plutôt des modèles à l'échelle de l'emplacement. En utilisant la transformation de journal par défaut, c'est le modèle arrière. Dans le cas de la distribution exponentielle, les risques proportionnels et le modèle arrière sont équivalents, donc si la distribution est définie sur exponentielle, il s'agit d'un modèle de risques proportionnels avec une ligne de base exponentielle. De même, si un modèle arrière de distribution de base de Weibull est utilisé, les estimations des paramètres ne sont qu'une transformation linéaire de celles utilisées dans le modèle des risques proportionnels avec distribution de base de Weibull. Mais en général, survreg ne correspond pas à un modèle Cox PH.

Si un modèle semi-paramétrique est souhaité, tel que trouvé implémenté dans intcox, un mot d'avertissement: il y a plusieurs problèmes avec la version actuelle de intcox (l'algorithme se termine généralement prématurément de manière significative loin du MLE, échoue carrément avec des observations non censurées, pas d'erreurs standard automatiquement présenté).

Une nouvelle alternative que vous pourriez utiliser est le paquet "icenReg".

Admission de parti pris: c'est l'auteur de icenReg.

Cliff AB
la source
1
Bienvenue sur notre site! Nous sommes heureux de vous avoir et de vos belles contributions.
whuber
@Cliff AB Quelle méthode semi-paramétrique spécifique utilisez-vous dans la fonction ic_sp? Avez-vous un document ou un tutoriel sur la méthode?
Munichong
@Munichong: l'article complet peut être trouvé ici . Alternativement, la vignette du package donne également une introduction rapide aux modèles; voir ici
Cliff AB
@CliffAB Étant donné que mes données sont trop volumineuses pour tenir dans la mémoire, je souhaite modifier ic_sp de manière stochastique: alimentez un mini-lot à ic_sp et définissez maxIter = 1, obtenez les gradients et mettez à jour les bêtas de manière itérative. Savez-vous comment accéder aux dégradés à partir de la fonction ic_sp?
Munichong
1
@Munichong: intéressant! Malheureusement, je ne pense pas que cette méthode fonctionnera. En particulier, ic_spdoit estimer la distribution de survie de base (contrairement au cas censuré à droite), qui a autant de paramètres que de temps uniques dans vos données. Cela crée un problème pour le mini-batching; avec des temps continus, les étapes de base ne seront pas alignées de lot à lot.
Cliff AB
1

Pour effectuer une analyse censurée par intervalles dans R, vous devez créer un objet Surv, puis utiliser survfit (). Si vous avez plus d'une variable, le package intcox résout le problème.

JMarcelino
la source