Come fa il coxph () di R a gestire misure ripetute?


10

Contesto

Sto cercando di capire come R's coxph () accetta e gestisce le voci ripetute per soggetti (o paziente / cliente, se preferisci). Alcuni lo chiamano formato lungo, altri lo chiamano "misure ripetute".

Vedere ad esempio il set di dati che include la colonna ID nella sezione Risposte all'indirizzo:

I migliori pacchetti per i modelli Cox con covariate variabili nel tempo

Supponiamo anche che le covariate varino nel tempo e che esista esattamente una variabile di censura (cioè evento), che è binaria.

Domande

1) Nella risposta del link sopra, se ID non è indicato come parametro nella chiamata a coxph (), i risultati dovrebbero essere gli stessi di includere cluster (ID) come parametro in coxph ()?

Ho tentato di cercare la documentazione, ma non sembra che il seguente indirizzo sia chiaro (1): https://stat.ethz.ch/pipermail/r-help//2013-July/357466.html

2) Se la risposta a (1) è "no", allora (matematicamente) perché? Sembra cluster () in coxph () cerca correlazioni tra soggetti secondo la sottosezione 'cluster' a pag. 20 a

https://cran.r-project.org/web/packages/survival/survival.pdf

3) Vaga domanda: come si confronta coxph () con misure ripetute con i metodi di regressione di fragilità di R?

addenda

I seguenti suggerimenti sull'uso del cluster (ID):

Esiste una versione consapevole delle misure ripetute del test logrank?

come fa:

https://stat.ethz.ch/pipermail/r-help//2013-July/357466.html

Approccio GEE: aggiungere "+ cluster (soggetto)" alla dichiarazione del modello in coxph Approccio a modelli misti: aggiungere "+ (1 | soggetto)" alla dichiarazione del modello in coxme.

Grazie in anticipo!

Risposte:


11
  1. L'inclusione cluster(ID)non modifica le stime puntuali dei parametri. Tuttavia, cambia il modo in cui vengono calcolati gli errori standard.

    Maggiori dettagli sono disponibili nel libro di Therneau & Grambsch Estensione del modello Cox , capitolo 8.2. Si noti che nel loro esempio, usano method = "breslow"come correzione per i legami, ma anche con il default ( method = "efron") verrà usato un calcolo simile per i se, e appare nel sommario come "se robusto".

  2. Se si utilizza il cluster (ID), viene imposta una stima "solida" degli errori standard e viene misurata la possibile dipendenza tra i soggetti (ad es. Mediante errori standard e punteggi di varianza). Il non utilizzo del cluster (ID), d'altra parte, impone l'indipendenza su ogni osservazione e più "informazioni" sono assunte nei dati. In termini più tecnici, la funzione di punteggio per i parametri non cambia, ma cambia la varianza di questo punteggio. Un argomento più intuitivo è che 100 osservazioni su 100 individui forniscono più informazioni di 100 osservazioni su 10 individui (o cluster).

  3. Vago davvero. In breve, +frailty(ID)in coxph()accoppiamenti di fragilità standard con effetti casuali gamma o log-normali e con rischio / intensità di base non parametrici. frailtypackutilizza la linea di base parametrica (anche versioni flessibili con spline o funzioni costanti a tratti) e si adatta anche a modelli più complicati, come fragilità correlata, fragilità nidificata, ecc.

Infine, +cluster()è un po 'nello spirito di GEE, in quanto si prendono le equazioni del punteggio da una probabilità con osservazioni indipendenti e si usa un diverso "robusto" stimatore per gli errori standard.

modifica: Grazie @Ivan per i suggerimenti sulla chiarezza del post.


Grazie. Riguardo a (2): può "Questo perché se (erroneamente) supponi ..." essere sostituito da "Se non usi il cluster (ID) nella chiamata a coxph (), allora presumi erroneamente ...."
Quetzalcoatl,

Intendevo: se le osservazioni sono raggruppate, potrebbero essere o non essere indipendenti. Supporre che siano indipendenti (cioè non usano cluster (id)) è quasi certamente sbagliato in questo caso, ma non si ha idea di saperlo prima
Theodor

(2) può essere riformulato come: se si utilizza il cluster (ID), viene imposta una stima "solida" degli errori standard e viene misurata la possibile dipendenza tra i soggetti (ad esempio mediante errori standard e punteggi di varianza). Il non utilizzo del cluster (ID), d'altra parte, impone l'indipendenza su ogni osservazione e più "informazioni" sono assunte nei dati.
Quetzalcoatl,

Il link di riferimento che hai fornito in (1) dovrebbe essere: springer.com/us/book/9780387987842 (supponendo che stai citando il libro di Therneau e Grambsch)
Quetzalcoatl

Nota anche: come spiegato nel libro di Therneau e Grambsch, il motivo per cui la risposta in (1) sopra è corretta è perché coxph () usa il metodo Breslow come predefinito per i legami.
Quetzalcoatl,

1

Ecco una risposta da una survivalvignetta del pacchetto che ho trovato utile: è collegata nella prima risposta alla prima domanda a cui hai collegato:

I migliori pacchetti per i modelli Cox con covariate variabili nel tempo

Si riferiscono alla configurazione dei dati in formato lungo o ai dati con voci ripetute per i soggetti.

Una domanda comune con questa configurazione di dati è se dobbiamo preoccuparci dei dati correlati, poiché un determinato argomento ha più osservazioni. La risposta è no, non lo facciamo. Il motivo è che questa rappresentazione è semplicemente un trucco di programmazione. Le equazioni di probabilità in qualsiasi momento utilizzano solo una copia di qualsiasi argomento, il programma seleziona ogni volta la riga di dati corretta. Esistono due eccezioni a questa regola:

  • Quando i soggetti hanno più eventi, le righe per gli eventi sono correlate all'interno del soggetto ed è necessaria una varianza del cluster.
  • Quando un soggetto appare ad intervalli sovrapposti. Questo, tuttavia, è quasi sempre un errore di dati, poiché corrisponde a due copie del soggetto presenti negli stessi strati contemporaneamente, ad esempio, potrebbe incontrarsi a una festa.

L'esempio che danno è

fit <- coxph(Surv(time1, time2, status) ~ age + creatinine, data=mydata)

suggerendo che se fornisci due volte (inizio e fine del periodo) Survinvece di uno, coxph()scoprirai il resto.


A meno che non abbia frainteso qualcosa, penso che questo commento sia fuorviante? Dobbiamo preoccuparci dei dati correlati se vogliamo ottenere stime accurate della varianza, quindi perché l'aggiunta di un termine + cluster (ID) modifica i termini di varianza stimati?
AP30
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.