Słownik metodologiczny · Modele regresji

EPV – ile zdarzeń na predyktor potrzeba w regresji logistycznej?

EPV to liczba zdarzeń przypadająca na parametr w regresji logistycznej. Wyjaśniamy, skąd reguła 10 zdarzeń, dlaczego jej nie wystarcza i co pokazuje prosta symulacja w R.

W skrócie: EPV to liczba zdarzeń w mniej licznej kategorii wyniku na jeden parametr kandydujący. Reguła „10 EPV” pochodzi z symulacji Peduzziego i in. (1996), ale jest zbyt prosta. Liczebność lepiej wyznaczać kryteriami Rileya i in. (2019).

Co to jest EPV?

EPV (ang. events per variable), czyli liczba zdarzeń na predyktor, to liczba obserwacji w mniej licznej kategorii wyniku podzielona przez liczbę parametrów kandydujących w modelu. Stosuje się ją w regresji logistycznej i modelu Coxa. Liczy się wszystkich kandydatów rozważanych w analizie, a nie tylko predyktory, które zostały w modelu końcowym. Predyktor o czterech kategoriach zużywa trzy parametry, a każda interakcja – kolejny.

Reguła 10 zdarzeń i jej ograniczenia

Peduzzi i in. (1996) w symulacji pokazali, że przy EPV co najmniej 10 regresja logistyczna nie sprawiała większych problemów. Przy EPV poniżej 10 współczynniki były obciążone, przedziały ufności miały złe pokrycie, a częściej pojawiały się związki o odwrotnym kierunku. Stąd popularna reguła „10 zdarzeń na predyktor”.

Późniejsze badania osłabiły tę regułę. Van Smeden i in. (2016) wykazali, że wyniki zależą też od całkowitej liczebności próby i separacji danych, a dowody za progiem 10 ocenili jako słabe. Riley i in. (2019) proponują zamiast tego wyznaczać minimalną liczebność z trzech kryteriów: małego przeuczenia (skurczenie ≥ 0.9), małej różnicy między pozornym a skorygowanym R² oraz precyzyjnego oszacowania ogólnego ryzyka. W ich przykładach minimalna liczba zdarzeń na parametr wyniosła 4.8 i 23. Szczegóły i obliczenia zawiera wpis Ile predyktorów może mieć regresja, a zastosowanie w modelu omawia Regresja logistyczna krok po kroku.

Przykład

W symulacji (1000 powtórzeń) model logistyczny miał 5 predyktorów, a prawdziwy współczynnik pierwszego wynosił 0.5. Przy n = 60 średnie EPV wyniosło 2.44, średnie oszacowanie 0.61 (SD = 0.54), a 18% oszacowań przekraczało 1, czyli dwukrotność prawdy. Przy n = 120 (EPV = 4.91) było to 0.54 (SD = 0.29) i 7%, a przy n = 500 (EPV = 20.33) – 0.51 (SD = 0.12) i 0%.

Jak opisać w pracy

Model obejmował [liczba] parametrów kandydujących (w tym [liczba] zmiennych zero-jedynkowych). W mniej licznej kategorii wyniku było [liczba] osób, co daje EPV = [wartość]. Minimalną liczebność próby sprawdzono dodatkowo według kryteriów Rileya i in. (2019).

Na co uważać

Przykład reprodukowalny

EPV w symulacji w R

Kod 1000 razy losuje dane dla modelu logistycznego z pięcioma predyktorami przy trzech liczebnościach próby i sprawdza, jak zachowuje się oszacowanie pierwszego współczynnika (prawdziwa wartość 0.5).

Oszacowanie współczynnika przy różnym EPV

Dane wejściowe: pięć predyktorów o rozkładzie normalnym, prawdziwe współczynniki 0.5, 0.5, 0, 0, 0; n = 60, 120 i 500 (dane symulowane, set.seed(2730)).

Co odczytać: średnie EPV, średnie i SD oszacowania b1 oraz odsetek oszacowań większych niż 1.

R
set.seed(2730)
b <- c(-1.5, 0.5, 0.5, 0, 0, 0)                     # stała + 5 predyktorów, prawdziwe b1 = 0.5
symuluj <- function(n, R = 1000) {
  wyn <- t(replicate(R, {
    X <- matrix(rnorm(n * 5), n, 5)
    y <- rbinom(n, 1, plogis(cbind(1, X) %*% b))
    m <- suppressWarnings(glm(y ~ X, family = binomial))
    c(EPV = min(sum(y), sum(1 - y)) / 5, b1 = unname(coef(m)[2]))
  }))
  round(c(n = n, EPV = mean(wyn[, "EPV"]), b1_srednia = mean(wyn[, "b1"]),
          b1_SD = sd(wyn[, "b1"]), odsetek_b1_ponad_1 = mean(wyn[, "b1"] > 1)), 2)
}
rbind(symuluj(60), symuluj(120), symuluj(500))      # EPV ok. 2.5, 5 i 20
Wynik w R
       n   EPV b1_srednia b1_SD odsetek_b1_ponad_1
[1,]  60  2.44       0.61  0.54               0.18
[2,] 120  4.91       0.54  0.29               0.07
[3,] 500 20.33       0.51  0.12               0.00

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats). W pracy podaj wersję R, której faktycznie użyto (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/

Najczęstsze pytania

Jak policzyć EPV w regresji logistycznej?

Policz osoby w mniej licznej kategorii wyniku, zwykle ze zdarzeniem, i podziel przez liczbę parametrów kandydujących. Predyktor kategorialny o k poziomach liczy się jako k − 1 parametrów.

Czy 10 zdarzeń na predyktor to wystarczająca próba?

Nie zawsze. Van Smeden i in. (2016) ocenili dowody za tą regułą jako słabe. Riley i in. (2019) proponują wyznaczać liczebność z kryteriów przeuczenia i precyzji, co daje różne wartości EPV.

Co zrobić, gdy EPV jest za niskie?

Ogranicz liczbę kandydatów na podstawie teorii przed analizą, połącz rzadkie kategorie albo użyj metod z karą. Nie usuwaj predyktorów na podstawie wyników, bo to nie zwiększa EPV.

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. Peduzzi, P., Concato, J., Kemper, E., Holford, T. R., & Feinstein, A. R. (1996). A simulation study of the number of events per variable in logistic regression analysis. Journal of Clinical Epidemiology, 49(12), 1373–1379. https://doi.org/10.1016/s0895-4356(96)00236-3 ● Otwarty dostęp
  2. Riley, R. D., Snell, K. I. E., Ensor, J., Burke, D. L., Harrell, F. E., Jr., Moons, K. G. M., & Collins, G. S. (2019). Minimum sample size for developing a multivariable prediction model: PART II – Binary and time-to-event outcomes. Statistics in Medicine, 38(7), 1276–1296. https://doi.org/10.1002/sim.7992 ● Otwarty dostęp
  3. van Smeden, M., de Groot, J. A. H., Moons, K. G. M., Collins, G. S., Altman, D. G., Eijkemans, M. J. C., & Reitsma, J. B. (2016). No rationale for 1 variable per 10 events criterion for binary logistic regression analysis. BMC Medical Research Methodology, 16(1), Article 163. https://doi.org/10.1186/s12874-016-0267-3 ● Otwarty dostęp

Cytowania BibTeX

@article{peduzzi1996simulation, author={Peduzzi, Peter and Concato, John and Kemper, Elizabeth and Holford, Theodore R. and Feinstein, Alvan R.}, title={{A simulation study of the number of events per variable in logistic regression analysis}}, journal={Journal of Clinical Epidemiology}, year={1996}, volume={49}, number={12}, pages={1373--1379}, doi={10.1016/s0895-4356(96)00236-3}}
@article{riley2019minimum, author={Riley, Richard D. and Snell, Kym I. E. and Ensor, Joie and Burke, Danielle L. and Harrell, Frank E., Jr. and Moons, Karel G. M. and Collins, Gary S.}, title={{Minimum sample size for developing a multivariable prediction model: PART II – Binary and time-to-event outcomes}}, journal={Statistics in Medicine}, year={2019}, volume={38}, number={7}, pages={1276--1296}, doi={10.1002/sim.7992}}
@article{vansmeden2016no, author={van Smeden, Maarten and de Groot, Joris A. H. and Moons, Karel G. M. and Collins, Gary S. and Altman, Douglas G. and Eijkemans, Marinus J. C. and Reitsma, Johannes B.}, title={{No rationale for 1 variable per 10 events criterion for binary logistic regression analysis}}, journal={BMC Medical Research Methodology}, year={2016}, volume={16}, number={1}, eid={163}, doi={10.1186/s12874-016-0267-3}}
R