Oferty statystyczne Tutoriale Opinie Kontakt

Efekt pośredni i test Sobela – wzór i przykład

Efekt pośredni (mediacyjny) opisuje, jaka część związku między zmienną X a zmienną Y przechodzi przez trzecią zmienną M, a test Sobela sprawdza, czy ten efekt jest istotnie różny od zera. Typowe pytanie z pracy dyplomowej: czy związek liczby godzin nauki z wynikiem kolokwium da się częściowo opisać tym, że osoby uczące się dłużej rozwiązują więcej zadań próbnych?

W prostych słowachLiczysz dwie regresje. Pierwsza mówi, o ile rośnie M, gdy X rośnie o 1 (ścieżka a). Druga mówi, o ile rośnie Y, gdy M rośnie o 1, przy tym samym X (ścieżka b). Efekt pośredni to po prostu iloczyn a · b. Test Sobela dzieli ten iloczyn przez jego błąd standardowy i sprawdza, czy wynik jest daleko od zera. Dziś zamiast testu Sobela zwykle podaje się przedział bootstrapowy.

Kiedy liczyć efekt pośredni?

  • masz hipotezę, że związek X z Y częściowo przebiega przez zmienną M (mediator), np. godziny nauki → zadania próbne → punkty;
  • wszystkie trzy zmienne są ilościowe (lub X jest dwukategorialny) i możesz je opisać regresją liniową;
  • kolejność X → M → Y wynika z teorii albo z planu badania (np. M zmierzono później niż X), a nie z samych danych;
  • chcesz podać wielkość efektu pośredniego i jego niepewność, a nie tylko „jest / nie ma mediacji”.

Mediacji nie myl z moderacją. Moderacja pyta, dla kogo związek jest silniejszy – to interakcja w regresji. Pokrewną ideę „odejmowania” wspólnej części trzeciej zmiennej znajdziesz w haśle o korelacji cząstkowej. Przykładowy opis pełnej analizy z bootstrapem pokazuje raport z analizy mediacji.

Wzór na efekt pośredni i test Sobela

$$ M = i_M + a\,X \qquad Y = i_Y + c'\,X + b\,M \qquad \text{efekt pośredni} = a\,b \qquad c = c' + a\,b $$ $$ SE_{ab} = \sqrt{b^2\,SE_a^2 + a^2\,SE_b^2} \qquad z = \frac{a\,b}{SE_{ab}} $$
\(a\)
współczynnik regresji M na X: o ile średnio rośnie mediator, gdy X rośnie o jedną jednostkę
\(b\)
współczynnik przy M w regresji Y na X i M: o ile rośnie Y, gdy M rośnie o 1, przy stałym X
\(c'\)
efekt bezpośredni: związek X z Y, który nie przechodzi przez M
\(c\)
efekt całkowity: współczynnik z prostej regresji Y na X; w regresji liniowej zawsze c = c′ + ab
\(SE_a,\ SE_b\)
błędy standardowe współczynników a i b – odczytasz je z wyniku regresji
\(SE_{ab}\)
przybliżony błąd standardowy iloczynu a · b (wzór Sobela)
\(z\)
statystyka testu Sobela, porównywana z rozkładem normalnym; |z| > 1,96 oznacza p < 0,05
\(i_M,\ i_Y\)
wyrazy wolne obu regresji – w obliczeniach efektu pośredniego nie są potrzebne

Na głos: „zet Sobela to iloczyn a razy b podzielony przez pierwiastek z sumy: b kwadrat razy kwadrat błędu a plus a kwadrat razy kwadrat błędu b”.

Przykład krok po kroku

W badaniu ankietowym studentów z dwóch regresji odczytałeś: a = 0,5 (SE = 0,1) – każda dodatkowa godzina nauki tygodniowo wiąże się średnio z połową zadania próbnego więcej; b = 0,4 (SE = 0,1) – każde dodatkowe zadanie wiąże się z 0,4 punktu więcej przy tej samej liczbie godzin.

Tabela 1. Składniki błędu standardowego Sobela
SkładnikWspółczynnik²SE²Iloczyn
b² · SEa²0,4² = 0,160,1² = 0,010,16 · 0,01 = 0,0016
a² · SEb²0,5² = 0,250,1² = 0,010,25 · 0,01 = 0,0025
Σ0,0041
  1. Efekt pośredni. a · b = 0,5 · 0,4 = 0,20. Osoby różniące się o godzinę nauki różnią się średnio o 0,2 punktu „przez” liczbę zadań próbnych.
  2. Kwadraty. b² = 0,16; a² = 0,25; SEa² = SEb² = 0,01.
  3. Składniki. 0,16 · 0,01 = 0,0016 oraz 0,25 · 0,01 = 0,0025. Suma: 0,0041.
  4. Błąd standardowy. SEab = √0,0041 = 0,064.
  5. Statystyka z. z = 0,20 / 0,064 = 3,12.
  6. Wartość p. Wartość krytyczna dla α = 0,05 (dwustronnie) to 1,96 – odczytasz ją z tablic rozkładu normalnego albo w R: qnorm(0.975). Nasze 3,12 jest większe, a dokładne p = 2 · (1 − Φ(3,12)) = 0,0018 (w R: 2 * pnorm(-3.12)).
  7. Przedział ufności Sobela. 0,20 ± 1,96 · 0,064, czyli od 0,07 do 0,33. Zero nie leży w przedziale.
Schemat ścieżek: godziny nauki do zadań próbnych a = 0,5, zadania próbne do punktów b = 0,4, bezpośrednio godziny nauki do punktów c prim = 0,3; efekt pośredni 0,2 i całkowity 0,5
Rys. 1. Schemat mediacji dla danych ośmiu osób z przykładu w R. Czerwone strzałki to droga przez mediator (a = 0,5 i b = 0,4), niebieska – efekt bezpośredni c′ = 0,3. Efekt całkowity c = 0,5 rozkłada się dokładnie na 0,3 + 0,2. Strzałki oznaczają kierunek przyjęty w modelu, a nie udowodnioną przyczynę.
Histogram 100 000 iloczynów a razy b, prawoskośny, z przedziałem 0,09 do 0,34 oraz krzywa normalna Sobela z przedziałem 0,07 do 0,33
Rys. 2. Dlaczego test Sobela bywa nietrafny? Gdy a i b mają rozkłady normalne, ich iloczyn ma rozkład prawoskośny (szare słupki). Sobel zakłada krzywą normalną (niebieska linia), więc jego przedział [0,07; 0,33] jest przesunięty w lewo względem przedziału z rzeczywistego rozkładu iloczynu [0,09; 0,34]. Przy mniejszych próbach ta różnica jest większa.
Histogram 5000 bootstrapowych wartości a razy b dla 8 osób z przedziałem od −0,42 do 0,68, który zawiera zero
Rys. 3. Bootstrap na danych ośmiu osób. Efekt pośredni wynosi znów 0,20, ale przy tak małej próbie wartości a · b w losowaniach rozrzucają się od wartości ujemnych do prawie 1. Przedział 95% [−0,42; 0,68] zawiera zero, więc nie ma podstaw do stwierdzenia efektu pośredniego.

Jak zinterpretować i opisać wynik?

W badaniu z SE = 0,1 efekt pośredni 0,20 jest istotny. Zauważ jednak, co dzieje się w danych ośmiu osób z przykładu w R: a i b są identyczne (0,5 i 0,4), ale błędy standardowe są dużo większe (0,244 i 0,297), więc z = 1,13 i p = 0,260. Ta sama wielkość efektu, inny wniosek – o istotności decyduje tu przede wszystkim liczebność próby. Przy danych zebranych w jednym momencie (badanie przekrojowe) pisz o „efekcie pośrednim” albo „związku przechodzącym przez M”, a nie o tym, że X „powoduje” M. Kierunek strzałek wynika z Twoich założeń, a dane tylko je z nimi uzgadniają.

Zapis w stylu APA: Liczba godzin nauki była dodatnio związana z liczbą rozwiązanych zadań próbnych (a = 0,50; SE = 0,10), a ta – przy kontroli godzin nauki – z wynikiem kolokwium (b = 0,40; SE = 0,10). Efekt pośredni był istotny, ab = 0,20; SE = 0,064; z = 3,12; p = 0,002.

Jak policzyć efekt pośredni i test Sobela w R?

# 1) test Sobela „na kartce”: a = 0,5 (SE 0,1), b = 0,4 (SE 0,1)
a <- 0.5; se_a <- 0.1; b <- 0.4; se_b <- 0.1
se_ab <- sqrt(b^2 * se_a^2 + a^2 * se_b^2)
round(c(ab = a * b, SE = se_ab, z = a * b / se_ab,
        p = 2 * pnorm(-a * b / se_ab)), 4)

# 2) małe dane: godziny nauki (X) -> zadania próbne (M) -> punkty (Y)
godz <- 1:8; zad <- c(2, 5, 6, 2, 4, 6, 6, 7); pkt <- c(1, 5, 4, 4, 4, 4, 5, 7)
sa <- summary(lm(zad ~ godz))$coef["godz", 1:2]          # a i jego SE
sb <- summary(lm(pkt ~ godz + zad))$coef["zad", 1:2]     # b i jego SE
coef(lm(pkt ~ godz + zad))["godz"]                       # c' (efekt bezpośredni)
se2 <- sqrt(sb[[1]]^2 * sa[[2]]^2 + sa[[1]]^2 * sb[[2]]^2)
round(c(a = sa[[1]], b = sb[[1]], ab = sa[[1]] * sb[[1]], z = sa[[1]] * sb[[1]] / se2), 3)

# 3) bootstrap percentylowy dla a·b (5000 losowań osób ze zwracaniem)
set.seed(2026)
ab_boot <- replicate(5000, { i <- sample(8, replace = TRUE)
  coef(lm(zad[i] ~ godz[i]))[2] * coef(lm(pkt[i] ~ godz[i] + zad[i]))[3] })
round(quantile(ab_boot, c(0.025, 0.975), na.rm = TRUE), 2)

Wynik w konsoli R:

    ab     SE      z      p 
0.2000 0.0640 3.1235 0.0018 
godz 
 0.3 
    a     b    ab     z 
0.500 0.400 0.200 1.126 
 2.5% 97.5% 
-0.42  0.68 

Pierwsza część kodu powtarza rachunek z kartki (z = 3,12). Druga liczy a, b i c′ z dwóch funkcji lm() na danych ośmiu osób, trzecia – przedział bootstrapowy. W pracy zwykle korzysta się z gotowych narzędzi: pakietu lavaan (se = "bootstrap") albo modułu analizy mediacji w aplikacji SZTOS.

Dlaczego dziś zaleca się bootstrap zamiast testu Sobela?

Test Sobela zakłada, że iloczyn a · b ma rozkład normalny. Tak nie jest: iloczyn dwóch zmiennych normalnych jest skośny, szczególnie w małych próbach (rys. 2). Przez to test Sobela ma mniejszą moc i daje symetryczne przedziały tam, gdzie powinny być niesymetryczne. Bootstrap nie potrzebuje tego założenia: wielokrotnie losuje osoby ze zwracaniem, za każdym razem liczy a · b od nowa i z tysięcy wyników odczytuje 2,5 i 97,5 percentyl (Preacher i Hayes, 2008; Hayes, 2018). Jeśli przedział nie zawiera zera, raportujesz istotny efekt pośredni. Test Sobela możesz podać pomocniczo albo gdy masz tylko współczynniki z cudzego artykułu, bez surowych danych.

Najczęstsze błędy

  • Pisanie, że „M wyjaśnia przyczynowo” związek X z Y, gdy wszystkie zmienne zmierzono jednocześnie w ankiecie.
  • Wymaganie istotnego efektu całkowitego c przed analizą mediacji (stara procedura Barona i Kenny’ego). Efekt pośredni może być istotny także wtedy, gdy c nie jest.
  • Wstawianie do wzoru współczynników standaryzowanych z błędami standardowymi niestandaryzowanymi – a, b i ich SE muszą pochodzić z tego samego modelu.
  • Branie b z prostej regresji Y na M zamiast z regresji Y na X i M.
  • Raportowanie samego p bez wielkości efektu ab i przedziału ufności.

Bibliografia

  1. Sobel, M. E. (1982). Asymptotic confidence intervals for indirect effects in structural equation models. Sociological Methodology, 13, 290–312. https://doi.org/10.2307/270723
  2. Preacher, K. J., & Hayes, A. F. (2008). Asymptotic and resampling strategies for assessing and comparing indirect effects in multiple mediator models. Behavior Research Methods, 40(3), 879–891. https://doi.org/10.3758/BRM.40.3.879
  3. Hayes, A. F. (2018). Introduction to mediation, moderation, and conditional process analysis: A regression-based approach (2nd ed.). Guilford Press.
  4. Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. SAGE.
  5. Hryniewicz, K., & Milewska, A. (2023). SZTOS: System Zautomatyzowanego Tworzenia Opisu Statystycznego [Oprogramowanie]. SZTOS IT. https://sztos-it.com/

Zobacz też

Przygotowujesz artykuł, doktorat lub grant?

Zaplanujemy i wykonamy analizy, przygotujemy raport z tabelami, wykresami i kodem R oraz pomożemy odpowiedzieć na uwagi recenzentów dotyczące statystyki.

Na skróty