Uma maneira simples de calibrar os modelos de sobrevivência Cox é usar a calibrate
função fornecida pelo rms
pacote em R, como na página que você vinculou . Este pacote fornece um cph
método para os modelos Cox, projetado para funcionar com os métodos de calibração e validação que fornece para vários tipos de modelos de regressão.
Citando a partir da página do manual: "[ calibrate
você] inicia o bootstrapping ou a validação cruzada para obter estimativas corrigidas de viés (overfitting-corrigido) dos valores previstos versus observados". Em vez de usar estimativas binárias de Kaplan-Meier para fornecer valores "observados", no entanto, a cmethod="hare"
configuração padrão calibrate
para cph
modelos usa estimativas de interpolação de regressão-spline que permitem riscos não proporcionais e não linearidade, considerando a censura. Essa modelagem adaptativa dos dados observados permite um gráfico de calibração contínua para um tempo de sobrevivência específico. Este esboço fornece mais detalhes sobre o método HARE, com uma referência ao artigo original. (Se você definir cmethod="KM"
a chamada para calibrate
obter uma comparação com as estimativas da Kaplan-Meier).
Antes de fazer isso, leia as páginas de manual para garantir que você gere o cph
modelo com as configurações corretas que permitem o uso dessas funções e que o polspline
pacote esteja instalado para fornecer a hare
funcionalidade.
Frank Harrell, o autor do rms
pacote, compara a abordagem binacional de Kaplan-Meier e HARE contínua nas páginas 506-9 de Regression Modeling Stratgies , segunda edição, e (mais enigmaticamente) em suas notas de curso associadas , capítulo 17, páginas 18-19 .
O que está acontecendo "sob o capô"
O problema de calibração para a análise de sobrevivência é que as observações são eventos enquanto tentamos calibrar as probabilidades dos eventos. Portanto, é necessário algum tipo de interpolação. Para os modelos de Cox, um tempo de sobrevivência específico é levado para análise.
Considere a calibração do KM em bin. Você começa agrupando os casos por probabilidades previstas e, em seguida, para cada grupo de probabilidades previstas semelhantes, plota a curva de sobrevivência de KM e interpola entre esses poucos casos no tempo de sobrevivência escolhido para obter a probabilidade de sobrevivência "observada" estimada para esse grupo.
Na abordagem usada por calibrate
para cph
modelos, você ao invés primeira interpolar o risco entre todos os casos como uma função geral das variáveis de previsão e de tempo. Essa função geral, conforme fornecida porhare
, permite que cada variável preditora e tempo sejam modelados como splines lineares e permite interações em pares entre as variáveis (incluindo o tempo como variável). A coleção de splines e interações fornece um conjunto de funções básicas, cada uma das quais é uma função das variáveis preditoras e do tempo. Em seguida, você procura a combinação dessas funções básicas que melhor se ajustam aos dados de sobrevivência, com os coeficientes ponderando as funções básicas estimadas maximizando a probabilidade parcial, da mesma forma que um modelo de Cox encontra coeficientes para as próprias variáveis preditoras. A complexidade do modelo (por exemplo, qual base funciona para incluir o número de nós de spline) é selecionada por um processo de adição e exclusão passo a passo que é bem explicado no esquema mencionado acima.
O resultado do hare
processo é uma única função que fornece o risco em função de todas as variáveis preditoras e tempo, de uma forma que normalmente será muito mais complicada do que o modelo de Cox de riscos proporcionais. Eu gosto de pensar nisso como começar com uma interpolação entre todos os casos em todos os momentos, juntamente com seus valores associados de variáveis preditoras, em vez da interpolação em um determinado momento para um subconjunto de casos usados no esquema de calibração de KM binado.
Com a função de risco fornecida por hare
, agora você pode usar qualquer combinação de valores de variáveis preditivas e comparar a probabilidade de sobrevivência "prevista" de Cox em um determinado momento com a estimativa interpolada da probabilidade de sobrevivência "observada" fornecida por hare
. (Observe que, em princípio, você não está limitado aos casos em questão para esta comparação; qualquer combinação razoável de valores de variáveis preditivas pode ser examinada.) A curva de calibração é então um gráfico suavizado da probabilidade de sobrevivência "observada" versus "prevista" , no horário desejado, entre todos os casos. O calibrate
método rms
repete esse processo para várias amostras de inicialização dos casos para avaliar quão bem os resultados serão generalizados para a população da qual os casos foram extraídos.
Se você deseja não apenas olhar sob o capô, mas também desconstruir o mecanismo, isso é fácil no R. Quando o rms
pacote é carregado, digite rms:::calibrate.cph
no prompt de comando para obter o código desse calibrate
método. O wrapper para hare
está disponível, digitando hare
no prompt quando o polspline
pacote é carregado; grande parte do trabalho é realizada por funções compiladas cujo código fonte está disponível no CRAN .