Co to jest regresja Passinga–Babloka?
Regresja Passinga–Babloka (ang. Passing–Bablok regression) to nieparametryczna metoda dopasowania prostej przy porównaniu dwóch metod pomiaru. Passing i Bablok (1983) zaprojektowali ją tak, by nie wymagała założeń o rozkładzie próbek ani błędów pomiaru, a wynik nie zależał od tego, którą metodę przypiszemy do osi x, a którą do y. Jest odporna na obserwacje odstające (Bilić-Zulle, 2011).
Jak liczyć i interpretować
- Policz nachylenia odcinków dla wszystkich par punktów: Sij = (yj − yi) / (xj − xi). Pomiń pary z nachyleniem równym −1 i pary bez różnicy w x.
- Nachylenie b to mediana uporządkowanych Sij przesunięta o K – liczbę nachyleń mniejszych od −1. To przesunięcie zapewnia symetrię względem zamiany osi.
- Wyraz wolny a to mediana wartości yi − bxi.
Interpretacja jest taka sama jak w regresji Deminga: przedział ufności dla a porównuje się z 0 (błąd stały), a dla b z 1 (błąd proporcjonalny). Passing i Bablok podali przedziały oparte na rangach; tu użyto bootstrapu.
Przykład
Te same 40 próbek co w haśle o CCC Lina (dane symulowane, 780 par punktów). Wynik: b = 1.086, 95% CI [1.028, 1.140], a = −6.25, 95% CI [−17.14, 5.31]. Wniosek jak w regresji Deminga: błąd proporcjonalny, brak podstaw do stwierdzenia błędu stałego. Gdy do jednego wyniku przy najniższym stężeniu dodano 60 mg/dl, MNK zmieniło wyraz wolny z −1.07 na 9.40, a nachylenie z 1.065 na 1.018. Passing–Bablok dał a = −3.94 i b = 1.076.
Jak opisać w pracy
Na co uważać
- Liniowość. Metoda zakłada ciągłe dane i liniową zależność. Sprawdź wykres reszt; przy nieliniowości nie wnioskuj o zgodności (Bilić-Zulle, 2011).
- Mała próba. Odporność ma cenę: przy kilkunastu próbkach przedziały są bardzo szerokie.
- Brak granic zgodności. Regresja mówi o rodzaju błędu, nie o rozrzucie różnic u pojedynczych próbek – do tego służy metoda Blanda–Altmana.
Trzy podejścia na jednych danych porównuje wpis Zgodność dwóch metod pomiaru.
Regresja Passinga–Babloka w R
Kod liczy ręcznie nachylenia par, przesuniętą medianę i wyraz wolny, wyznacza bootstrapowe przedziały ufności i porównuje odporność z MNK po dodaniu jednego błędnego wyniku.
Passing–Bablok liczony krok po kroku
R
set.seed(3760)
prawda <- runif(40, 60, 300) # te same dane co w haśle o CCC
x <- prawda + rnorm(40, 0, 6) # metoda referencyjna
y <- 3 + 1.04 * prawda + rnorm(40, 0, 6) # nowa metoda
pb <- function(x, y) { # Passing i Bablok (1983), liczone ręcznie
p <- combn(length(x), 2)
dx <- x[p[2, ]] - x[p[1, ]]; dy <- y[p[2, ]] - y[p[1, ]]
s <- dy[dx != 0] / dx[dx != 0]
s <- sort(s[s != -1])
K <- sum(s < -1); N <- length(s) # przesunięcie o K nachyleń mniejszych od -1
b <- if (N %% 2) s[(N + 1) / 2 + K] else mean(s[N / 2 + 0:1 + K])
c(a = median(y - b * x), b = b)
}
est <- pb(x, y)
boot <- t(replicate(2000, { i <- sample(40, replace = TRUE); pb(x[i], y[i]) }))
round(rbind(PB = est, CI_dol = apply(boot, 2, quantile, 0.025),
CI_gor = apply(boot, 2, quantile, 0.975)), 3)
y_odst <- y; y_odst[which.min(x)] <- y[which.min(x)] + 60 # jeden błędny wynik przy niskim stężeniu
round(rbind(PB_odst = pb(x, y_odst), OLS_odst = coef(lm(y_odst ~ x))), 3)Wynik w R
a b
PB -6.245 1.086
CI_dol -17.141 1.028
CI_gor 5.312 1.140
a b
PB_odst -3.941 1.076
OLS_odst 9.396 1.018Bibliografia 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()).
- 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
Czym różni się regresja Passinga–Babloka od regresji Deminga?
Deming wymaga stosunku wariancji błędów i jest wrażliwy na obserwacje odstające. Passing–Bablok opiera się na medianach, nie wymaga założeń o rozkładzie błędów, ale potrzebuje większej próby dla wąskich przedziałów.
Dlaczego w regresji Passinga–Babloka mediana jest przesunięta?
Przesunięcie o liczbę nachyleń mniejszych od −1 sprawia, że wynik jest symetryczny: zamiana metod na osiach daje odwrotność nachylenia. Bez niego estymator zależałby od przypisania metod do x i y.
Jak sprawdzić założenie liniowości w regresji Passinga–Babloka?
Obejrzyj wykres reszt względem wartości pomiaru i użyj testu liniowości CUSUM. Wyraźna krzywizna oznacza, że jedna prosta nie opisuje relacji metod i wniosek o zgodności nie jest uprawniony.
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
Zgodność dwóch metod pomiaru: CCC, Deming, Passing–Bablok
CCC Lina, regresja Deminga i Passinga–Babloka, błąd stały i proporcjonalny, bootstrapowe przedziały ufności, przykład w R i wzór opisu.
Czytaj →PoradnikRegresja odporna: estymatory M i MM
Huber, bisquare i MM, rlm i lmrob w R, wagi obserwacji, różnica wobec HC3, granice metody i wzór opisu APA.
Czytaj →Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Bilić-Zulle, L. (2011). Comparison of methods: Passing and Bablok regression. Biochemia Medica, 21(1), 49–52. https://doi.org/10.11613/bm.2011.010 ● Otwarty dostęp
- Passing, H., & Bablok, W. (1983). A new biometrical procedure for testing the equality of measurements from two different analytical methods. Application of linear regression procedures for method comparison studies in clinical chemistry, Part I. Journal of Clinical Chemistry and Clinical Biochemistry, 21(11), 709–720. https://doi.org/10.1515/cclm.1983.21.11.709 ● Otwarty dostęp
Cytowania BibTeX
@article{bilic2011comparison, author={Bilić-Zulle, Lidija}, title={{Comparison of methods: Passing and Bablok regression}}, journal={Biochemia Medica}, year={2011}, volume={21}, number={1}, pages={49--52}, doi={10.11613/bm.2011.010}}@article{passing1983new, author={Passing, H. and Bablok, W.}, title={{A new biometrical procedure for testing the equality of measurements from two different analytical methods. Application of linear regression procedures for method comparison studies in clinical chemistry, Part I}}, journal={Journal of Clinical Chemistry and Clinical Biochemistry}, year={1983}, volume={21}, number={11}, pages={709--720}, doi={10.1515/cclm.1983.21.11.709}}