Jak wygenerować przewidywane krzywe przeżycia na podstawie słabych modeli (przy użyciu R coxph)?

13

Chcę obliczyć przewidywaną funkcję przeżycia dla proporcjonalnego modelu zagrożeń Coxa z terminami kruchymi [przy użyciu pakietu przeżycia]. Wydaje się, że gdy w modelu występują słabe terminy, nie można obliczyć przewidywanej funkcji przeżycia.

## Example 
require(survival)
data(rats)

## Create fake weight
set.seed(90989)
rats$weight<-runif(nrow(rats),0.2,0.9)

## Cox model with gamma frailty on litter
fit <- coxph(Surv(time, status) ~ rx+weight+frailty(litter,dist="gamma"),
data = rats) 

## Compute survival curve from the cox model for rx=0 and weight=0.5 kg
plot(survfit(fit, newdata=data.frame(rx=0,weight=0.5)),xlab = "time",
ylab="Survival") 

## Running this line, I get following error message:
Error in survfit.coxph(fit, newdata = data.frame(rx = 0, weight = 0.5)) : 
Newdata cannot be used when a model has sparse frailty terms

Próbowałem użyć zarówno rzadkich, jak i nielicznych metod obliczeniowych, używając sparse=TRUE, Sparse =FALSE, sparse =0, sparse=5opcji. Jednak żadne nie działało.

Jak obliczyć przewidywaną krzywą ocalałych na podstawie mojego słabego modelu?

ledzep
źródło

Odpowiedzi:

3

Problem tutaj jest taki sam, jaki można uzyskać próbując przewidzieć wyniki z liniowego modelu efektów mieszanych. Ponieważ krzywa przeżycia jest nierozkładalna, każdy miot w twoim przykładzie ma specyficzną dla miotu krzywą przeżycia zgodnie z dopasowanym modelem. Słabość, jaką możesz znać, jest tym samym, co losowe przechwytywanie, wskazujące wspólne poziomy mylących i prognostycznych zmiennych endemicznych dla każdego miotu, prawdopodobnie w stosunku do cech genetycznych. Dlatego liniowy predyktor współczynnika ryzyka jest mieszanką zaobserwowanych stałych efektów i losowych efektów śmieci. W przeciwieństwie do modeli mieszanych, model Coxa pasuje do kruchego terminu z regresją karną, dopasowany obiekt należy do klasy coxph-penali nie ma metody survreg.coxph-penal, więc próby utworzenia liniowego predyktora zawodzą. Istnieje kilka obejść.

  1. Po prostu dopasuj model brzeżny do wyśrodkowanych współzmiennych.

  2. Wyśrodkuj zmienne towarzyszące, dopasuj 1, a następnie dopasuj model efektów losowych za pomocą coxmei wyodrębnij efekty losowe, dodaj je do predyktora liniowego z przesunięciem, aby obliczyć krzywą przeżycia charakterystyczną dla warstwy dla każdego miotu.

  3. Wykonaj 2 i zmarginalizuj je, uśredniając wszystkie krzywe przeżycia razem, osobne podejście do dopasowania modelu brzeżnego.

  4. Użyj ustalonych efektów lub warstw w marginalnym modelu Coxa, aby przewidzieć różne krzywe przeżycia dla każdego miotu.

AdamO
źródło