Oferty statystyczne Tutoriale Opinie Kontakt

Moderacja i proste nachylenia – przykład krok po kroku w R

Moderacja odpowiada na pytanie „kiedy?” albo „u kogo?” związek X z Y jest silniejszy lub słabszy. Pokazujemy cały przebieg: centrowanie, model z interakcją, przyrost R², proste nachylenia przy M ± 1 SD, region Johnsona-Neymana, wykres i zapis w stylu APA. Pytanie badawcze: czy wsparcie społeczne osłabia związek stresu w pracy z wypaleniem?

W skrócieCentrujesz predyktor i moderator → dodajesz iloczyn do modelu → sprawdzasz b3 i ΔR² → jeśli interakcja jest istotna, „sondujesz” ją prostymi nachyleniami i regionem Johnsona-Neymana → opisujesz efekty warunkowe, a nie „efekty główne”. Wzór na proste nachylenie i jego błąd standardowy z rachunkiem na kartce znajdziesz w haśle interakcja w regresji – wzór i przykład.

Moderacja – co to jest i czym różni się od mediacji?

Moderator (M) to zmienna, od której zależy siła lub kierunek związku predyktora (X) ze zmienną zależną (Y). W modelu regresji zapisujesz to iloczynem: ŷ = b0 + b1X + b2M + b3XM. Współczynnik b3 mówi, o ile zmienia się nachylenie X, gdy M rośnie o 1. Mediacja pyta o coś innego – „przez co?” X wiąże się z Y. Jeśli to Twój przypadek, zajrzyj do wpisu mediacja z bootstrapem – jak opisać wyniki. Gdy oba czynniki są grupami, ten sam pomysł nazywa się interakcją w dwuczynnikowej ANOVA.

Krok 1. Dane, hipoteza i centrowanie

Mamy 12 pracowników: stres w pracy (1–7), wsparcie społeczne (1–7) i wynik w skali wypalenia (punkty). Obie skale 1–7 mają średnią 4 i SD = 2, a wypalenie M = 12,00; SD = 4,24. Stres koreluje z wypaleniem dodatnio (r = 0,69), wsparcie ujemnie (r = −0,50), a stres i wsparcie nie są ze sobą skorelowane (r = 0,00). To mały zbiór do nauki – w artykule potrzebujesz znacznie więcej osób (patrz FAQ).

Tabela 1. Dane 12 pracowników
Osoba123456789101112
stres262634715642
wsparcie122234456667
wypalenie10191018131318699910
  • H1 (moderacja): im wyższe wsparcie, tym słabszy dodatni związek stresu z wypaleniem (b3 < 0). H0: b3 = 0, czyli nachylenie stresu nie zależy od wsparcia; α = 0,05.
  • Centrowanie: od każdego wyniku odejmujesz średnią (stres − 4, wsparcie − 4). Dzięki temu zero oznacza „przeciętną osobę”, a nie wartość spoza skali.

Krok 2. Model z interakcją i przyrost R²

Tabela 2. Regresja wypalenia na stres, wsparcie i ich interakcję (zmienne wycentrowane) – wersja do pracy
PredyktorbSE95% CI dla bt(8)p
stała12,000,43[11,00; 13,00]27,66< 0,001
stres (X)1,380,23[0,86; 1,91]6,09< 0,001
wsparcie (M)−1,300,23[−1,84; −0,76]−5,560,001
stres × wsparcie−0,510,13[−0,80; −0,22]−4,030,004
R² = 0,91; skorygowane R² = 0,87; F(3, 8) = 26,55; p < 0,001. Model bez iloczynu: R² = 0,72; ΔR² = 0,19; F(1, 8) = 16,22; p = 0,004; n = 12
  1. Interakcja: b3 = −0,51. Każdy punkt wsparcia więcej zmniejsza nachylenie stresu średnio o 0,51 punktu wypalenia. Przedział ufności nie obejmuje zera.
  2. Przyrost R²: sam iloczyn wyjaśnia dodatkowe 19% zmienności wypalenia. Test F dla ΔR² to w modelu z jednym iloczynem ten sam test co t dla b3 (16,22 = 4,03²). Tak raportuje się regresję hierarchiczną – zobacz ΔR² w regresji hierarchicznej.
  3. b1 i b2 to efekty warunkowe: b1 = 1,38 to nachylenie stresu przy przeciętnym wsparciu, a b2 = −1,30 – nachylenie wsparcia przy przeciętnym stresie. Nie są to „efekty główne” w sensie ANOVA.

Krok 3. Proste nachylenia przy M − 1 SD, M i M + 1 SD

Istotna interakcja mówi tylko, że nachylenia się różnią. Żeby wiedzieć jak, liczysz proste nachylenia (ang. simple slopes) stresu przy trzech poziomach wsparcia: 2 (M − 1 SD), 4 (M) i 6 (M + 1 SD), zgodnie z propozycją Aiken i West (1991).

Tabela 3. Proste nachylenia stresu przy wybranych poziomach wsparcia
WsparcieNachylenie bSE95% CIt(8)p
niskie: 2 (M − 1 SD)2,410,33[1,65; 3,16]7,35< 0,001
przeciętne: 4 (M)1,380,23[0,86; 1,91]6,09< 0,001
wysokie: 6 (M + 1 SD)0,360,35[−0,45; 1,18]1,020,336

Przy niskim wsparciu każdy punkt stresu więcej to średnio o 2,41 punktu wyższe wypalenie. Przy wysokim wsparciu nachylenie spada do 0,36 i jest nieistotne – brak podstaw do odrzucenia hipotezy, że wynosi zero. To nie dowód, że związku tam nie ma: przedział sięga od −0,45 do 1,18.

Wykres z aplikacji SZTOS: wypalenie względem stresu dla trzech poziomów wsparcia; czerwona linia dla wsparcia poniżej średniej rośnie najstromiej, niebieska dla przeciętnego wsparcia słabiej, zielona przerywana dla wsparcia powyżej średniej jest prawie płaska
Rys. 1. Wykres prostych nachyleń z modułu moderacji aplikacji SZTOS (podział wsparcia: M − 1 SD, M, M + 1 SD). Linia ciągła oznacza istotne nachylenie, przerywana – nieistotne, a pasy to 95% przedziały ufności. Linie nie są równoległe – to właśnie interakcja. Taki wykres wkleja się do pracy pod tabelą regresji. Pełny raport z tego modułu pokazuje przykładowy raport z analizy moderacji.

Krok 4. Region Johnsona-Neymana

Wybór M ± 1 SD jest umowny. Metoda Johnsona-Neymana (Johnson i Neyman, 1936; Bauer i Curran, 2005) podaje dokładną wartość moderatora, przy której nachylenie przestaje być istotne. U nas granica wynosi 5,37: dla wsparcia poniżej 5,37 stres istotnie wiąże się z wypaleniem, a powyżej – nie. Druga granica (10,82) leży poza skalą 1–7, więc jej nie interpretujesz. Powyżej granicy są tylko 4 osoby z 12 (33%) – napisz to, bo wniosek o „wysokim wsparciu” opiera się na niewielu obserwacjach.

Nachylenie stresu w funkcji wsparcia, malejąca czerwona linia z pasem 95% przedziału ufności; pionowa niebieska linia przy wsparciu 5,37; na prawo od niej szare pole, gdzie przedział obejmuje zero
Rys. 2. Region Johnsona-Neymana. Czerwona linia to nachylenie stresu przy każdej wartości wsparcia, pas – jego 95% przedział ufności. Na lewo od granicy 5,37 pas leży nad zerem (nachylenie istotne), w szarym polu obejmuje zero. Niebieskie kropki to proste nachylenia z tabeli 3, szare kropki na dole – wsparcie poszczególnych osób.

„Efekty główne” przy interakcji – najczęstszy błąd

Bez centrowania R podaje dla wsparcia b = 0,74; p = 0,178. Kusi, by napisać „wsparcie nie wiąże się z wypaleniem”. To błąd: ten współczynnik opisuje nachylenie wsparcia przy stresie równym 0, a takiego wyniku na skali 1–7 nie ma. Po centrowaniu ten sam model daje b = −1,30; p = 0,001 – nachylenie przy przeciętnym stresie. Interakcja b3, R² i wykres są w obu wersjach identyczne. Centrowanie obniża też VIF iloczynu z 9,64 do 1,07, ale to tylko kosmetyka: zmienia się znaczenie b1 i b2, a nie jakość modelu (Echambadi i Hess, 2007).

Dwa współczynniki b2 dla wsparcia z 95% przedziałami: bez centrowania 0,74 z przedziałem obejmującym zero, p = 0,178; po centrowaniu −1,30 z przedziałem poniżej zera, p = 0,001
Rys. 3. Ten sam model, dwa różne „efekty” wsparcia. Bez centrowania b2 to nachylenie przy stresie 0 (poza skalą), po centrowaniu – przy średnim stresie 4. Dlatego przy interakcji opisuj efekty warunkowe i zawsze podawaj, przy jakiej wartości drugiej zmiennej obowiązują.

Założenia modelu

Sprawdzasz je jak w zwykłej regresji, na resztach modelu z iloczynem (szczegóły we wpisie diagnostyka regresji na wykresach). Tutaj: Shapiro-Wilk dla reszt W = 0,95; p = 0,603; test stałości wariancji p = 0,955; największa odległość Cooka 0,78, czyli poniżej często stosowanego progu 1. Pamiętaj też, że moderacja zakłada liniową zmianę nachylenia wraz z M.

Jak opisać moderację w pracy (APA)?

Zapis w stylu APA: Aby sprawdzić, czy wsparcie społeczne moderuje związek stresu w pracy z wypaleniem, przeprowadzono regresję liniową z wycentrowanymi predyktorami i ich iloczynem. Model wyjaśniał 91% zmienności wypalenia, F(3, 8) = 26,55; p < 0,001. Interakcja stresu i wsparcia była istotna, b = −0,51; 95% CI [−0,80; −0,22]; t(8) = −4,03; p = 0,004; ΔR² = 0,19. Analiza prostych nachyleń wykazała, że przy niskim wsparciu (M − 1 SD) wyższy stres wiązał się z wyższym wypaleniem, b = 2,41; p < 0,001, podobnie przy przeciętnym wsparciu, b = 1,38; p < 0,001, natomiast przy wysokim wsparciu (M + 1 SD) związek był nieistotny, b = 0,36; 95% CI [−0,45; 1,18]; p = 0,336. Według metody Johnsona-Neymana związek stresu z wypaleniem był istotny dla wsparcia poniżej 5,37 (67% próby).

Więcej gotowych zdań i zasad zapisu znajdziesz w poradniku opis wyników w stylu APA 7. Wynik pokazuje związek warunkowy w danych przekrojowych – nie pisz, że wsparcie „chroni przed” wypaleniem, tylko że związek był słabszy przy wyższym wsparciu.

Cała analiza w R

# 12 pracowników: stres w pracy (1–7), wsparcie społeczne (1–7), wypalenie (punkty)
dane <- data.frame(stres     = c(2, 6, 2, 6, 3, 4, 7, 1, 5, 6, 4, 2),
                   wsparcie  = c(1, 2, 2, 2, 3, 4, 4, 5, 6, 6, 6, 7),
                   wypalenie = c(10, 19, 10, 18, 13, 13, 18, 6, 9, 9, 9, 10))

# 1) centrowanie: odejmujemy średnie (obie wynoszą 4, SD obu = 2)
dane$stres_c    <- dane$stres - mean(dane$stres)
dane$wsparcie_c <- dane$wsparcie - mean(dane$wsparcie)

# 2) model bez interakcji i z interakcją, przyrost R² (test F)
m0 <- lm(wypalenie ~ stres_c + wsparcie_c, data = dane)
m1 <- lm(wypalenie ~ stres_c * wsparcie_c, data = dane)
round(coef(summary(m1)), 3)
round(confint(m1), 2)
round(c(R2_bez = summary(m0)$r.squared, R2_z = summary(m1)$r.squared), 3)
anova(m0, m1)

# 3) proste nachylenia ręcznie: b1 + b3·w, SE z macierzy vcov (w = −1 SD, średnia, +1 SD)
b <- coef(m1); V <- vcov(m1); w <- c(-2, 0, 2)
nach <- b[2] + b[4] * w
se   <- sqrt(V[2, 2] + w^2 * V[4, 4] + 2 * w * V[2, 4])
round(cbind(w, nach, se, t = nach / se, p = 2 * pt(-abs(nach / se), df = 8)), 3)

# 4) to samo z pakietu interactions + region Johnsona-Neymana
library(interactions)
sim_slopes(m1, pred = stres_c, modx = wsparcie_c, modx.values = c(-2, 0, 2),
           johnson_neyman = TRUE, jnplot = FALSE)

# 5) dla porównania: model bez centrowania (b3 to samo, b1 i b2 znaczą co innego)
round(coef(summary(lm(wypalenie ~ stres * wsparcie, data = dane))), 3)

Wynik w konsoli R:

                   Estimate Std. Error t value Pr(>|t|)
(Intercept)          12.000      0.434  27.657    0.000
stres_c               1.385      0.227   6.094    0.000
wsparcie_c           -1.301      0.234  -5.562    0.001
stres_c:wsparcie_c   -0.511      0.127  -4.027    0.004
                   2.5 % 97.5 %
(Intercept)        11.00  13.00
stres_c             0.86   1.91
wsparcie_c         -1.84  -0.76
stres_c:wsparcie_c -0.80  -0.22
R2_bez   R2_z 
 0.724  0.909 
Analysis of Variance Table

Model 1: wypalenie ~ stres_c + wsparcie_c
Model 2: wypalenie ~ stres_c * wsparcie_c
  Res.Df    RSS Df Sum of Sq      F   Pr(>F)   
1      9 54.705                                
2      8 18.073  1    36.632 16.215 0.003805 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
      w  nach    se     t     p
[1,] -2 2.408 0.328 7.348 0.000
[2,]  0 1.385 0.227 6.094 0.000
[3,]  2 0.362 0.353 1.024 0.336
JOHNSON-NEYMAN INTERVAL

When wsparcie_c is OUTSIDE the interval [1.37, 6.82], the slope of
stres_c is p < .05.

Note: The range of observed values of wsparcie_c is [-3.00, 3.00]

SIMPLE SLOPES ANALYSIS

Slope of stres_c when wsparcie_c = -2.00: 

  Est.   S.E.   t val.      p
------ ------ -------- ------
  2.41   0.33     7.35   0.00

Slope of stres_c when wsparcie_c =  0.00: 

  Est.   S.E.   t val.      p
------ ------ -------- ------
  1.38   0.23     6.09   0.00

Slope of stres_c when wsparcie_c =  2.00: 

  Est.   S.E.   t val.      p
------ ------ -------- ------
  0.36   0.35     1.02   0.34

               Estimate Std. Error t value Pr(>|t|)
(Intercept)       3.482      2.198   1.584    0.152
stres             3.430      0.540   6.347    0.000
wsparcie          0.745      0.504   1.478    0.178
stres:wsparcie   -0.511      0.127  -4.027    0.004

Checklista przed wysłaniem tekstu

  • Hipoteza moderacji z kierunkiem (wzmacnia czy osłabia) zapisana przed analizą.
  • Predyktor i moderator wycentrowane albo jasno podane, przy jakich wartościach obowiązują b1 i b2.
  • Raportujesz b3 z 95% CI i ΔR².
  • Proste nachylenia z CI przy M ± 1 SD (albo przy sensownych wartościach skali) i region Johnsona-Neymana z informacją, ile osób leży w każdym obszarze.
  • Wykres prostych nachyleń z opisanymi liniami i założenia sprawdzone na resztach.

Pytania recenzentów

Czy muszę centrować zmienne przed interakcją?

Nie musisz – test b3 wyjdzie taki sam. Centrowanie sprawia jedynie, że b1 i b2 opisują efekty przy przeciętnych wartościach, czyli dają się sensownie zinterpretować.

M ± 1 SD czy Johnson-Neyman?

Najlepiej oba. Proste nachylenia dają czytelną tabelę, a region Johnsona-Neymana pokazuje cały zakres moderatora bez arbitralnych punktów (Preacher i in., 2006). Gdy M ± 1 SD wypada poza skalą, wybierz wartości z zakresu danych.

Ile osób potrzeba do moderacji?

Znacznie więcej niż do efektu głównego, bo interakcje są zwykle małe. Policz moc dla oczekiwanego ΔR² przed badaniem – zobacz analizę mocy do grantu i artykułu. Przykład z 12 osobami służy wyłącznie nauce.

Bibliografia

  1. Aiken, L. S., & West, S. G. (1991). Multiple regression: Testing and interpreting interactions. SAGE.
  2. Bauer, D. J., & Curran, P. J. (2005). Probing interactions in fixed and multilevel regression: Inferential and graphical techniques. Multivariate Behavioral Research, 40(3), 373–400. https://doi.org/10.1207/s15327906mbr4003_5
  3. Echambadi, R., & Hess, J. D. (2007). Mean-centering does not alleviate collinearity problems in moderated multiple regression models. Marketing Science, 26(3), 438–445.
  4. Hayes, A. F. (2022). Introduction to mediation, moderation, and conditional process analysis: A regression-based approach (3rd ed.). Guilford Press.
  5. Johnson, P. O., & Neyman, J. (1936). Tests of certain linear hypotheses and their application to some educational problems. Statistical Research Memoirs, 1, 57–93.
  6. Long, J. A. (2024). interactions: Comprehensive, user-friendly toolkit for probing interactions (Wersja 1.2.0) [Pakiet R]. https://doi.org/10.32614/CRAN.package.interactions
  7. Preacher, K. J., Curran, P. J., & Bauer, D. J. (2006). Computational tools for probing interactions in multiple linear regression, multilevel modeling, and latent curve analysis. Journal of Educational and Behavioral Statistics, 31(4), 437–448. https://doi.org/10.3102/10769986031004437
  8. 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