Precisamente como o coxph () de R lida com medidas repetidas?

10

Contexto

Estou tentando entender como o coxph (R) aceita e lida com entradas repetidas para assuntos (ou paciente / cliente, se você preferir). Alguns chamam isso de formato longo, outros chamam de 'medidas repetidas'.

Veja, por exemplo, o conjunto de dados que inclui a coluna ID na seção Respostas em:

Melhores pacotes para modelos Cox com covariáveis ​​variáveis ​​no tempo

Suponha também que as covariáveis ​​variam no tempo e existe exatamente uma variável de censor (ou seja, evento), que é binária.

Questões

1) Na resposta do link acima, se o ID não for fornecido como parâmetro na chamada para coxph (), os resultados devem ser os mesmos que incluir cluster (ID) como parâmetro no coxph ()?

Tentei procurar documentação, mas o seguinte não parece abordar claramente (1): https://stat.ethz.ch/pipermail/r-help//2013-July/357466.html

2) Se a resposta a (1) é 'não', então (matematicamente) por que? Parece que cluster () no coxph () procura correlações entre os sujeitos conforme a subseção 'cluster' na pág. 20 em

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

3) Pergunta vaga: como o coxph () com medidas repetidas se compara aos métodos de regressão do fragiltypack de R?

Adendos

As seguintes dicas sobre o uso do cluster (ID):

Existe uma versão ciente das medidas repetidas do teste de logrank?

como faz:

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

Abordagem GEE: adicione "+ cluster (assunto)" à declaração do modelo no coxph Abordagem de modelos mistos: adicione "+ (1 | assunto)" à declaração do modelo no coxme.

Desde já, obrigado!

Quetzalcoatl
fonte

Respostas:

11
  1. A inclusão cluster(ID)não altera as estimativas pontuais dos parâmetros. Isso muda a maneira como os erros padrão são calculados.

    Mais detalhes podem ser encontrados no livro de Therneau & Grambsch, Extending the Cox Model , capítulo 8.2. Observe que no exemplo deles, eles usam method = "breslow"como correção para empates, mas também com o padrão ( method = "efron"), um cálculo semelhante para os se's será usado e aparecerá no resumo como "se robusto".

  2. Se o cluster (ID) for usado, uma estimativa "robusta" dos erros padrão é imposta e a possível dependência entre os indivíduos é medida (por exemplo, por erros padrão e pontuações de variação). A não utilização do cluster (ID), por outro lado, impõe independência a cada observação e mais "informações" são assumidas nos dados. Em termos mais técnicos, a função de pontuação para os parâmetros não muda, mas a variação dessa pontuação muda. Um argumento mais intuitivo é que 100 observações em 100 indivíduos fornecem mais informações do que 100 observações em 10 indivíduos (ou clusters).

  3. Vaga de fato. Em resumo, se encaixa +frailty(ID)nos coxph()modelos de fragilidade padrão com efeitos aleatórios gama ou log-normais e com risco / intensidade não paramétrica de linha de base. frailtypackusa linha de base paramétrica (também versões flexíveis com splines ou funções constantes por partes) e também se encaixa em modelos mais complicados, como fragilidade correlacionada, fragilidade aninhada, etc.

Finalmente, +cluster()está de acordo com o espírito do GEE, no qual você pega as equações de pontuação de uma probabilidade com observações independentes e usa um estimador "robusto" diferente para os erros padrão.

edit: Obrigado @Ivan pelas sugestões sobre a clareza da postagem.

Theodor
fonte
Obrigado. Em relação a (2): pode "Isso ocorre se você (incorretamente) assumir ..." ser substituído por "Se você não usar o cluster (ID) na chamada para coxph (), assumirá erroneamente ...."
Quetzalcoatl
Eu quis dizer: se as observações estão agrupadas, elas podem ou não ser independentes. Assumindo que eles são independentes (ou seja, não usando cluster (id)) é quase certamente errado neste caso, mas não há nenhuma idéia de saber que previamente
Theodor
(2) pode ser reformulado como: se o cluster (ID) for usado, uma estimativa "robusta" dos erros padrão será imposta e a possível dependência entre os sujeitos será medida (por exemplo, por erros padrão e pontuações de variação). A não utilização do cluster (ID), por outro lado, impõe independência a cada observação e mais "informações" são assumidas nos dados.
Quetzalcoatl
O link de referência fornecido na (1) deve ser: springer.com/us/book/9780387987842 (supondo que você está citando Therneau e livro de Grambsch)
Quetzalcoatl
Observe também: conforme explicado no livro de Therneau e Grambsch, a razão pela qual a resposta (1) acima está correta é porque coxph () usa o método Breslow como padrão para empates.
Quetzalcoatl
1

Aqui está a resposta de uma survivalvinheta de pacote que achei útil - ela está vinculada na primeira resposta à primeira pergunta à qual você vinculou:

Melhores pacotes para modelos Cox com covariáveis ​​variáveis ​​no tempo

Eles estão se referindo à configuração de dados do formulário longo ou dados com entradas repetidas para os assuntos.

Uma pergunta comum com essa configuração de dados é se precisamos nos preocupar com dados correlacionados, pois um determinado sujeito tem várias observações. A resposta é não, nós não. A razão é que essa representação é simplesmente um truque de programação. As equações de probabilidade a qualquer momento usam apenas uma cópia de qualquer assunto; o programa seleciona a linha correta de dados a cada vez. Existem duas exceções a esta regra:

  • Quando os assuntos têm vários eventos, as linhas dos eventos são correlacionadas no assunto e é necessária uma variação do cluster.
  • Quando um assunto aparece em intervalos sobrepostos. No entanto, isso quase sempre é um erro de dados, pois corresponde a duas cópias do sujeito presentes nos mesmos estratos ao mesmo tempo, por exemplo, ela pode se encontrar em uma festa.

O exemplo que eles dão é

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

sugerindo que, se você fornecer duas vezes (início e fim do período) para em Survvez de uma, coxph()descobrirá o resto.

BLT
fonte
A menos que eu tenha entendido algo errado, acho que esse comentário é enganador? Precisamos nos preocupar com dados correlacionados se quisermos obter estimativas precisas da variação, portanto, por que adicionar um termo + cluster (ID) altera os termos de variação estimados?
AP30