Słownik metodologiczny · Modele regresji

Regresja kwantylowa – jak modelować medianę i inne kwantyle?

Regresja liniowa opisuje średnią, a regresja kwantylowa pokazuje, jak predyktor wiąże się z wynikami niskimi, środkowymi i wysokimi. Przykład w R i gotowy opis.

Strona główna / Słownik / Regresja kwantylowa
W skrócie: Regresja kwantylowa szacuje związek predyktora z wybranym kwantylem zmiennej zależnej, np. medianą czy 90. centylem. Pokazuje różnice, które średnie nachylenie z regresji liniowej ukrywa, i nie zakłada stałej wariancji reszt.

Co to jest regresja kwantylowa?

Regresja kwantylowa (ang. quantile regression) modeluje wybrany kwantyl zmiennej zależnej, np. medianę albo 10. lub 90. centyl, zamiast średniej. Koenker i Hallock (2001) opisują ją jako rozszerzenie metody najmniejszych kwadratów na zestaw modeli dla różnych kwantyli. Przydaje się, gdy predyktor inaczej wiąże się z wynikami niskimi, a inaczej z wysokimi, np. przy braku homoskedastyczności albo przy silnej skośności.

Jak to działa?

min Σ ρτ(yi − b0 − b1xi),   ρτ(u) = u · [τ − I(u < 0)]

τ to wybrany kwantyl (od 0 do 1), a I(·) przyjmuje wartość 1, gdy reszta jest ujemna. Przy τ = .50 dostajesz regresję medianową, która minimalizuje sumę wartości bezwzględnych reszt. Inne kwantyle minimalizują asymetrycznie ważoną sumę wartości bezwzględnych reszt (Koenker i Hallock, 2001). Każde τ daje własne nachylenie.

Przykład

W danych symulowanych 400 osób podało, ile godzin dziennie spędza w mediach społecznościowych (0–8), i wypełniło skalę objawów depresji (0–27). Regresja liniowa daje b = 0.55, 95% CI [0.43, 0.66]. Regresja kwantylowa pokazuje więcej: dla τ = .10 b = 0.00 [−0.19, 0.19], dla mediany 0.51 [0.38, 0.64], a dla τ = .90 1.14 [0.98, 1.30]. Nachylenia dla τ = .10 i .90 różnią się istotnie, F(1, 799) = 86.98, p < .001. Średnie nachylenie ukrywa więc brak związku na dole rozkładu.

Jak opisać w pracy

Związek czasu w mediach społecznościowych z objawami depresji oszacowano regresją kwantylową dla τ = .10, .50 i .90 (pakiet quantreg). Przy 90. centylu każda dodatkowa godzina wiązała się z wynikiem wyższym o 1.14 pkt, 95% CI [0.98, 1.30], przy medianie o 0.51 pkt, 95% CI [0.38, 0.64], a przy 10. centylu związku nie stwierdzono, b = 0.00, 95% CI [−0.19, 0.19].

Na co uważać

  • To nie to samo co podział próby według wyniku. Osobne regresje w tercylach zmiennej zależnej obcinają jej zakres i obciążają nachylenia. Regresja kwantylowa korzysta z całej próby.
  • Kwantyl jest warunkowy. „90. centyl” to górna część rozkładu wyniku przy danej wartości predyktora, a nie grupa konkretnych osób.
  • Pokaż kilka kwantyli. Petscher i Logan (2014) pokazują na danych rozwojowych, że regresja liniowa i kwantylowa mogą prowadzić do różnych wniosków. Podaj też metodę błędów standardowych.

Regresja medianowa słabiej reaguje na obserwacje odstające w zmiennej zależnej. Założenia zwykłej regresji omawia wpis Regresja wieloraka krok po kroku.

Przykład reprodukowalny

Regresja kwantylowa w R

Kod porównuje nachylenie z regresji liniowej z nachyleniami dla 10. centyla, mediany i 90. centyla oraz testuje równość nachyleń.

Nachylenia dla τ = .10, .50 i .90

Dane wejściowe: czas w mediach społecznościowych (0–8 godzin dziennie) i wynik skali objawów depresji (0–27) u 400 osób (dane symulowane, set.seed(184)).

Co odczytać: nachylenie MNK z 95% CI, tabelę nachyleń z 95% CI dla trzech kwantyli i test F równości nachyleń dla τ = .10 i .90.

R
# Regresja kwantylowa a regresja liniowa (dane symulowane)
suppressPackageStartupMessages(library(quantreg))
set.seed(184)
n <- 400
media <- runif(n, 0, 8)                                   # godziny dziennie w mediach społecznościowych
objawy <- pmax(0, round(5 + 0.6 * media + rnorm(n, 0, 1 + 0.35 * media)))  # wynik skali objawów 0–27
objawy <- pmin(objawy, 27)
round(c(M = mean(objawy), SD = sd(objawy), Mdn = median(objawy)), 2)
ols <- lm(objawy ~ media)
round(c(b = coef(ols)[2], confint(ols)[2, ]), 2)
taus <- c(0.10, 0.50, 0.90)
tab <- t(sapply(taus, function(t) {
  s <- summary(rq(objawy ~ media, tau = t), se = "nid")$coefficients
  b <- s[2, 1]; se <- s[2, 2]
  c(tau = t, b = b, dolna = b - 1.96 * se, gorna = b + 1.96 * se)
}))
round(tab, 2)
anova(rq(objawy ~ media, tau = 0.10), rq(objawy ~ media, tau = 0.90))   # równość nachyleń
Wynik w R
   M   SD  Mdn 
7.22 2.95 7.00 
b.media   2.5 %  97.5 % 
   0.55    0.43    0.66 
     tau    b dolna gorna
[1,] 0.1 0.00 -0.19  0.19
[2,] 0.5 0.51  0.38  0.64
[3,] 0.9 1.14  0.98  1.30
Quantile Regression Analysis of Deviance Table

Model: objawy ~ media
Joint Test of Equality of Slopes: tau in {  0.1 0.9  }

  Df Resid Df F value    Pr(>F)    
1  1      799  86.976 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats, pakiet quantreg). 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/
  2. quantreg (wersja 6.1): Koenker, R. (2025). quantreg: Quantile regression (R package version 6.1) [Computer software]. https://doi.org/10.32614/CRAN.package.quantreg

Najczęstsze pytania

Czym regresja medianowa różni się od zwykłej regresji liniowej?

Regresja liniowa modeluje średnią i minimalizuje sumę kwadratów reszt. Regresja medianowa modeluje medianę i minimalizuje sumę wartości bezwzględnych reszt, więc słabiej reaguje na obserwacje odstające w zmiennej zależnej.

Czy regresja kwantylowa wymaga normalności reszt?

Nie zakłada określonego rozkładu reszt ani stałej wariancji. Nadal zakładasz jednak poprawną postać związku i niezależność obserwacji.

Jak zrobić regresję kwantylową w R?

Użyj funkcji rq() z pakietu quantreg, np. rq(y ~ x, tau = 0.9). Funkcja summary() poda współczynniki z przedziałami ufności, a anova() sprawdzi równość nachyleń dla dwóch kwantyli.

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. Koenker, R., & Hallock, K. F. (2001). Quantile regression. Journal of Economic Perspectives, 15(4), 143–156. https://doi.org/10.1257/jep.15.4.143
  2. Petscher, Y., & Logan, J. A. R. (2014). Quantile regression in the study of developmental sciences. Child Development, 85(3), 861–881. https://doi.org/10.1111/cdev.12190 ● Otwarty dostęp: pełny tekst

Cytowania BibTeX

@article{koenker2001quantile, author={Koenker, Roger and Hallock, Kevin F.}, title={{Quantile regression}}, journal={Journal of Economic Perspectives}, year={2001}, volume={15}, number={4}, pages={143--156}, doi={10.1257/jep.15.4.143}}
@article{petscher2014quantile, author={Petscher, Yaacov and Logan, Jessica A. R.}, title={{Quantile regression in the study of developmental sciences}}, journal={Child Development}, year={2014}, volume={85}, number={3}, pages={861--881}, doi={10.1111/cdev.12190}}
R