Słownik metodologiczny · Modele regresji

Indeks C Harrella – jak ocenić dyskryminację modelu przeżycia?

Indeks C Harrella mówi, jak często model przypisuje wyższe ryzyko osobie, u której zdarzenie wystąpiło wcześniej. Pokazujemy pary porównywalne, związek z AUC, przykład w R, opis do pracy i pułapki.

Strona główna / Słownik / Indeks C Harrella
W skrócie: Indeks C Harrella to odsetek par porównywalnych osób, w których model przypisuje wyższe ryzyko osobie z wcześniejszym zdarzeniem. C = .50 oznacza ranking przypadkowy, a 1 idealny. Dla wyniku 0/1 jest równy AUC, a w analizie przeżycia uwzględnia cenzurowanie.

Co to jest indeks C Harrella?

Indeks C Harrella (ang. Harrell's C, concordance index, C-index) to odsetek par porównywalnych osób, w których model przypisuje wyższe ryzyko osobie, u której zdarzenie wystąpiło wcześniej. Harrell i in. (1996) opisują go jako łatwą do interpretacji miarę dyskryminacji predykcyjnej, także dla danych przeżycia z obserwacjami cenzurowanymi. C = .50 oznacza ranking przypadkowy, a C = 1 ranking idealny.

Pary porównywalne i związek z AUC

Para jest porównywalna, gdy krótszy z dwóch czasów kończy się zdarzeniem. Jeśli krótszy czas jest cenzurowany, nie wiadomo, kto miał zdarzenie pierwszy, więc parę się pomija. Dla wyniku 0/1 bez czasu indeks C jest równy polu pod krzywą ROC; w danych przeżycia ocenia kolejność zdarzeń w całym okresie obserwacji, a nie w jednym punkcie czasu. Uno i in. (2011) zwrócili uwagę, że wartość C Harrella zależy od rozkładu cenzurowania w danym badaniu, i zaproponowali wersję z wagami, która tej wady nie ma.

Przykład

W symulacji 300 osób obserwowanych do 104 tygodni nawrót wystąpił u 195. Model Coxa z nasileniem objawów i wiekiem miał C Harrella = .684 (SE = 0.022), a C z wagami Uno = .694. Pełną analizę z C Harrella pokazuje poradnik Kaplan–Meier i model Coxa krok po kroku.

Jak opisać w pracy

Dyskryminację modelu Coxa oceniono indeksem C Harrella. Wyniósł on .684 (SE = 0.022; 195 zdarzeń u 300 osób), co oznacza, że w 68% par porównywalnych model przypisał wyższe ryzyko osobie z wcześniejszym nawrotem.

Na co uważać

  • Trafność pozorna. C liczony na danych, na których dopasowano model, jest zbyt optymistyczny; koryguj go bootstrapem lub walidacją krzyżową (Harrell i in., 1996).
  • Tylko dyskryminacja. Wysoki C nie mówi, czy przewidywane prawdopodobieństwa przeżycia są trafne – sprawdź też kalibrację.
  • Kierunek. Niektóre programy liczą zgodność dla czasu, a nie ryzyka; wynik wyraźnie poniżej .50 często oznacza po prostu odwrócony kierunek.
Przykład reprodukowalny

Indeks C Harrella w R

Kod symuluje czasy do nawrotu z cenzurowaniem, dopasowuje model Coxa i liczy indeks C Harrella z błędem standardowym oraz wersję z wagami Uno.

Indeks C Harrella i C Uno dla modelu Coxa

Dane wejściowe: dane symulowane z set.seed(4520): 300 osób, predyktory objawy i wiek, czas obserwacji do 104 tygodni.

Co odczytać: liczbę zdarzeń, C Harrella z SE i C z wagami Uno (timewt = "n/G2").

R
suppressPackageStartupMessages(library(survival))
set.seed(4520)
n <- 300
objawy <- rnorm(n); wiek <- rnorm(n)                     # predyktory standaryzowane
czas <- rexp(n, 0.02 * exp(0.7 * objawy + 0.2 * wiek))   # tygodnie do nawrotu
cenz <- runif(n, 10, 104)                                # koniec obserwacji
t_obs <- pmin(czas, cenz); zdarz <- as.numeric(czas <= cenz)
m <- coxph(Surv(t_obs, zdarz) ~ objawy + wiek)
c_h <- concordance(m)                                    # C Harrella
c_u <- concordance(m, timewt = "n/G2")                   # wagi w stylu Uno
round(c(zdarzenia = sum(zdarz), C_Harrell = c_h$concordance, SE = sqrt(c_h$var),
        C_Uno = c_u$concordance), 3)
Wynik w R
zdarzenia C_Harrell        SE     C_Uno 
  195.000     0.684     0.022     0.694 

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet survival). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
  2. survival (wersja 3.8.6): Therneau, T. M. (2026). A package for survival analysis in R [R package]. https://CRAN.R-project.org/package=survival

Najczęstsze pytania

Czym indeks C Harrella różni się od AUC?

Dla wyniku 0/1 to ta sama wartość. W danych przeżycia C porównuje kolejność czasów do zdarzenia w całej obserwacji i pomija pary rozstrzygnięte przez cenzurowanie, a AUC dotyczy stanu w jednym, ustalonym czasie.

Jaka wartość indeksu C Harrella jest dobra?

.50 to ranking przypadkowy, a 1 idealny. Umowne progi traktuj ostrożnie: ważniejsze jest, ile wynosi C w nowej próbie i czy model przewyższa prostsze alternatywy.

Jak policzyć indeks C Harrella w R?

Dla modelu z coxph() z pakietu survival użyj concordance(model); wartość jest też w summary(model) jako Concordance. Opcja timewt = "n/G2" daje C Uno.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Harrell, F. E., Lee, K. L., & Mark, D. B. (1996). Multivariable prognostic models: Issues in developing models, evaluating assumptions and adequacy, and measuring and reducing errors. Statistics in Medicine, 15(4), 361–387. https://doi.org/10.1002/(sici)1097-0258(19960229)15:4<361::aid-sim168>3.0.co;2-4
  2. Uno, H., Cai, T., Pencina, M. J., D'Agostino, R. B., & Wei, L. J. (2011). On the C-statistics for evaluating overall adequacy of risk prediction procedures with censored survival data. Statistics in Medicine, 30(10), 1105–1117. https://doi.org/10.1002/sim.4154 ● Otwarty dostęp

Cytowania BibTeX

@article{harrell1996multivariable, author={Harrell, Frank E. and Lee, Kerry L. and Mark, Daniel B.}, title={{Multivariable prognostic models: Issues in developing models, evaluating assumptions and adequacy, and measuring and reducing errors}}, journal={Statistics in Medicine}, year={1996}, volume={15}, number={4}, pages={361--387}, doi={10.1002/(sici)1097-0258(19960229)15:4<361::aid-sim168>3.0.co;2-4}}
@article{uno2011cstatistics, author={Uno, Hajime and Cai, Tianxi and Pencina, Michael J. and D'Agostino, Ralph B. and Wei, L. J.}, title={{On the C-statistics for evaluating overall adequacy of risk prediction procedures with censored survival data}}, journal={Statistics in Medicine}, year={2011}, volume={30}, number={10}, pages={1105--1117}, doi={10.1002/sim.4154}}
R