Interwał ocenzurowany model proporcjonalnych hazardów Coxa w R.

9

Biorąc pod uwagę czasy przeżycia ocenzurowane w odstępach, w jaki sposób mogę wykonać model ocenzurowanych interwałów Coxa PH R? Rseek search wyświetla pakiet intcox, którego już nie ma w Rrepozytorium. Jestem prawie pewien, że coxphfunkcja w survivalpakiecie nie może obsłużyć ocenzurowanych interwałów przeżycia.

Nie chcę też przypisywać danych, a następnie korzystać z coxphfunkcji. Ta metoda nie docenia standardowych błędów współczynników, ponieważ ignoruje się niepewność cenzury przedziałowej.

wcampbell
źródło
1
Nadal możesz zainstalować intcoxpakiet, nawet jeśli nie CRANużywa on normalnego install.packages("intcox").
smillig 12.12.12
Hmmm ... Nie byłem w stanie tego zrobić. Czy wybór kopii lustrzanej może wpłynąć na pobieranie?
wcampbell 12.12.12
1
Jest to możliwe, ale nie wiem. Właśnie użyłem Berlin CRAN, aby to zrobić około 10 minut temu (wersja R 2.15.1).
smillig 12.12.12
2
Survival Analiza CRAN Zadanie Zobacz zestawienie dostępnych pakietów dla analizy przeżycia, w tym wielu ze wsparciem dla interwału cenzurowania.
jthetzel
1
Na dzień 21 grudnia 2015 r. Byłem w stanie install.packages("intcox")bez szczególnych problemów (R-devel, ale każdy nowoczesny R powinien działać)
Ben Bolker

Odpowiedzi:

4

Jak wspomniano powyżej, możesz użyć funkcji Surreg. Uwaga: nie jest to wyłącznie model PH Coxa, ale raczej modele w skali lokalizacji. Przy użyciu domyślnej transformacji dziennika jest to model rufowy. W przypadku rozkładu wykładniczego proporcjonalne zagrożenia i model rufowy są równoważne, więc jeśli rozkład jest ustawiony na wykładniczy, jest to proporcjonalny model zagrożeń z wykładniczą linią bazową. Podobnie, jeśli stosuje się bazowy model rozkładu Weibulla za rufą, oszacowania parametrów są po prostu liniową transformacją transformacji zastosowanych w modelu proporcjonalnego ryzyka z rozkładem linii bazowej Weibulla. Ale ogólnie rzecz biorąc, surreg nie pasuje do modelu PH Coxa.

Jeśli pożądany jest model półparametryczny, jak stwierdzono zaimplementowany w intcoxie, uwaga: istnieje kilka problemów z obecną wersją intcoxu (algorytm zazwyczaj kończy się przedwcześnie znacznie z dala od MLE, całkowicie zawiedzie z nieocenzurowanymi obserwacjami, bez standardowych błędów automatycznie prezentowane).

Nową alternatywą, której możesz użyć, jest pakiet „icenReg”.

Dopuszczenie stronniczości: to jest autor icenReg.

Cliff AB
źródło
1
Witamy na naszej stronie! Cieszymy się, że mamy Ciebie i Twoje grzywny.
whuber
@Cliff AB Jakiej konkretnej metody półparametrycznej używasz w funkcji ic_sp? Czy masz artykuł lub samouczek na temat tej metody?
Monachiumong
@Munichong: pełny papier można znaleźć tutaj . Alternatywnie, winieta opakowania daje również szybkie wprowadzenie do modeli; patrz tutaj
Cliff AB
@CliffAB Ponieważ moje dane są zbyt duże, aby zmieściły się w pamięci, chcę zmodyfikować ic_sp w sposób stochastyczny: podaj mini-partię do ic_sp i ustaw maxIter = 1, uzyskaj gradienty i aktualizuj beta iteracyjnie. Czy wiesz, jak mogę uzyskać dostęp do gradientów z funkcji ic_sp?
Monachiumong
1
@Munichong: ciekawe! Niestety nie sądzę, aby ta metoda działała. W szczególności ic_spmusi oszacować wyjściowy rozkład przeżycia (w odróżnieniu od właściwego przypadku ocenzurowanego), który ma tyle samo parametrów, ile niepowtarzalnych czasów w danych. Stwarza to problem dla mini-partii; z ciągłymi czasami, podstawowe kroki nie będą uszeregowane od partii do partii.
Cliff AB
1

Aby wykonać analizę ocenzurowanej interwału w R, musisz utworzyć obiekt Surv, a następnie użyć survfit (). Jeśli masz więcej niż zmienną, pakiet intcox rozwiązuje problem.

JMarcelino
źródło