Kalkulator efektów prostych i granic Johnsona–Neymana
Przy jakich wartościach moderatora efekt X jest istotny?
Wpisz współczynniki modelu Y = b0 + b1X + b2W + b3XW, trzy elementy macierzy kowariancji współczynników i opis moderatora. Ułamki wpisuj z kropką albo z przecinkiem. Domyślne wartości to przykład omówiony niżej. Obliczenia wykonuje Twoja przeglądarka: wpisane liczby nie są nigdzie wysyłane ani zapisywane.
Kalkulator wymaga włączonej obsługi JavaScriptu. Wyniki dla wartości domyślnych znajdziesz w przykładzie poniżej.
Gotowy opis do pracy
Jak używać kalkulatora
Kalkulator przyda się, gdy masz już oszacowany model z interakcją, a recenzent albo promotor pyta: „przy jakich wartościach moderatora ten związek jest istotny?”. Nie potrzebuje surowych danych. Wystarczą liczby, które każdy program do regresji wielorakiej wypisuje albo potrafi wypisać. Całą analizę moderacji, od hipotezy po diagnostykę, opisuje poradnik analiza moderacji krok po kroku. Tutaj zajmujemy się tylko sondowaniem interakcji, gdy model jest już gotowy.
- Współczynniki. Przepisz b1 (predyktor X), b3 (iloczyn X × W) oraz – jeśli chcesz zobaczyć równania prostych regresji – b0 i b2. Wpisuj współczynniki niestandaryzowane, z tego samego modelu.
- Wariancje i kowariancja. Var(b1) i var(b3) to kwadraty błędów standardowych. Kowariancję cov(b1, b3) trzeba odczytać z macierzy kowariancji współczynników. W R zwraca ją
vcov(model), a w SPSS opcja Covariance matrix w oknie Statistics regresji liniowej. Bez kowariancji błąd standardowy efektu warunkowego wychodzi błędnie. - Stopnie swobody. W modelu z X, W i iloczynem to N − 4. Każda dodatkowa zmienna kontrolna odejmuje jeden stopień swobody.
- Moderator. Podaj średnią i SD moderatora na tej skali, na której wszedł do modelu. Jeśli go wycentrowałeś, wpisz średnią 0, a zakres i dodatkowe wartości też w odchyleniach od średniej. Najmniejsza i największa obserwowana wartość W wyznaczają oś wykresu i pozwalają ocenić, czy granica leży w danych.
Wynik to tabela efektów prostych przy M − 1 SD, M, M + 1 SD i przy Twoich wartościach W, granice Johnsona–Neymana z opisem, wykres efektu warunkowego z pasmem ufności i gotowe zdanie do pracy. Wykres możesz pobrać jako plik SVG.
Wzory
W modelu z interakcją nachylenie X nie jest jedną liczbą. Po przegrupowaniu składników Y = (b0 + b2W) + (b1 + b3W)X widać, że efekt X zależy od W. Proste nachylenie, czyli efekt warunkowy X przy wybranym W, ma postać (Aiken i West, 1991):
Jego błąd standardowy wynika z wariancji sumy dwóch skorelowanych oszacowań:
Statystyka t = θ / SE ma rozkład t o stopniach swobody reszt, a przedział ufności to θ ± tkryt · SE. Tak liczą proste nachylenia narzędzia opisane przez Preachera i in. (2006) oraz makra Hayesa i Matthesa (2009).
Technika Johnsona–Neymana (Johnson i Neyman, 1936) odwraca pytanie: szuka takich W, przy których |t| równa się wartości krytycznej. Po podniesieniu obu stron do kwadratu dostajemy równanie kwadratowe względem W (Bauer i Curran, 2005):
Efekt X jest istotny tam, gdzie lewa strona jest dodatnia. Znak A ma prostą interpretację: A > 0 dokładnie wtedy, gdy interakcja jest istotna na tym samym poziomie α. Stąd trzy możliwe układy:
| Sytuacja | Liczba granic | Gdzie efekt X jest istotny |
|---|---|---|
| Interakcja istotna (A > 0) | zawsze dwie | poniżej dolnej i powyżej górnej granicy; między nimi nachylenie przechodzi przez zero |
| Interakcja nieistotna (A < 0), Δ = B² − 4AC > 0 | dwie | tylko między granicami |
| Interakcja nieistotna, Δ ≤ 0 | brak | nigdzie |
| Przypadek graniczny A = 0 (|t| dla b3 równe tkryt) | jedna | po jednej stronie granicy |
W praktyce „jedna granica” prawie zawsze oznacza co innego: dwie granice, z których tylko jedna leży w zakresie danych. Kalkulator dlatego osobno podaje, ile granic mieści się między najmniejszym a największym obserwowanym W.
Przykład liczbowy
Zespół bada, czy uważność (skala 1–6) osłabia związek ruminacji (0–40 punktów) z nasileniem objawów depresji u 240 dorosłych (dane symulowane). Model oszacowano bez centrowania. Wszystkie liczby poniżej pochodzą z kodu R w następnej sekcji i są wpisane domyślnie w kalkulator.
Interakcja była ujemna i istotna: b3 = −0.14, SE = 0.05, t(236) = −2.59, p = .010. Im wyższa uważność, tym słabszy związek ruminacji z objawami. Uwaga na b1 = 0.83: to efekt ruminacji przy uważności równej 0, czyli poza skalą. Brambor i in. (2006) w przeglądzie czasopism politologicznych pokazali, że modele z iloczynem są często wykonywane z błędami, a ich listę zasad spełniało tylko 10% artykułów. Odczytywanie b1 jak efektu „ogólnego” to jeden z takich błędów.
| Uważność W | Efekt ruminacji | SE | 95% CI | t(236) | p |
|---|---|---|---|---|---|
| 2.79 (M − 1 SD) | 0.440 | 0.053 | [0.335, 0.545] | 8.24 | < .001 |
| 3.53 (M) | 0.336 | 0.043 | [0.251, 0.420] | 7.81 | < .001 |
| 4.28 (M + 1 SD) | 0.231 | 0.064 | [0.105, 0.357] | 3.62 | < .001 |
| 2 (punkt skali) | 0.550 | 0.086 | [0.380, 0.719] | 6.38 | < .001 |
| 5 (punkt skali) | 0.131 | 0.096 | [−0.059, 0.321] | 1.36 | .175 |
Przy niskiej uważności każdy punkt ruminacji wiąże się z objawami wyższymi o 0.44 punktu, przy wysokiej – o 0.23. Wszystkie trzy nachylenia w punktach ±1 SD są istotne, więc wartości umowne nie pokazują, gdzie efekt zanika. Pokazują to dopiero punkty skali i technika Johnsona–Neymana.
Granice wyniosły 4.748 i 14.164. Górna leży daleko poza skalą 1–6, więc w danych działa tylko dolna. Efekt ruminacji jest istotny dla uważności poniżej 4.748, czyli 1.62 SD powyżej średniej. Dotyczy to 94.2% badanych. Od 4.748 do najwyższej obserwowanej wartości 5.54 efekt nie jest istotny. Te same granice zwraca funkcja johnson_neyman() z pakietu interactions.
Ten sam przykład w R
Kod symuluje dane, dopasowuje model z interakcją, wypisuje liczby do kalkulatora, efekty proste i granice Johnsona–Neymana.
Efekty proste i przedział Johnsona–Neymana w pakiecie interactions
R
library(interactions)
set.seed(1717)
n <- 240 # dorośli z populacji ogólnej
uwaz <- pmin(pmax(round(rnorm(n, 3.6, 0.8), 2), 1), 6) # uważność (średnia pozycji, 1–6)
rumin <- pmin(pmax(round(rnorm(n, 22, 7)), 0), 40) # ruminacja (suma punktów, 0–40)
depr <- 9 + 0.30 * (rumin - 22) - 1.2 * (uwaz - 3.6) -
0.12 * (rumin - 22) * (uwaz - 3.6) + rnorm(n, 0, 4) # nasilenie objawów depresji
m <- lm(depr ~ rumin * uwaz) # model bez centrowania
# 1. Liczby do wpisania w kalkulator
b <- coef(m); V <- vcov(m)
signif(c(b0 = b[[1]], b1 = b[["rumin"]], b2 = b[["uwaz"]], b3 = b[["rumin:uwaz"]]), 6)
signif(c(var_b1 = V["rumin", "rumin"], var_b3 = V["rumin:uwaz", "rumin:uwaz"],
cov_b1_b3 = V["rumin", "rumin:uwaz"]), 6)
c(df_reszt = df.residual(m), M_W = mean(uwaz), SD_W = sd(uwaz), min_W = min(uwaz), max_W = max(uwaz))
# 2. Test interakcji
round(summary(m)$coefficients["rumin:uwaz", ], 4)
# 3. Efekty proste ruminacji przy M − 1 SD, M i M + 1 SD uważności
ss <- sim_slopes(m, pred = rumin, modx = uwaz, johnson_neyman = FALSE, confint = TRUE)
round(ss$slopes, 4)
ss_pkt <- sim_slopes(m, pred = rumin, modx = uwaz, modx.values = c(2, 3, 4, 5),
johnson_neyman = FALSE, confint = TRUE) # punkty skali odpowiedzi
round(ss_pkt$slopes, 4)
# 4. Przedział Johnsona–Neymana i odsetek osób, u których efekt jest istotny
jn <- johnson_neyman(m, pred = rumin, modx = uwaz, plot = FALSE)
round(jn$bounds, 3)
round((jn$bounds - mean(uwaz)) / sd(uwaz), 2) # granice w jednostkach SD od średniej
round(100 * mean(uwaz < jn$bounds[["Lower"]]), 1) # % osób w obszarze istotnościWynik w R
b0 b1 b2 b3
-6.761730 0.828616 2.237560 -0.139488
var_b1 var_b3 cov_b1_b3
0.03520990 0.00290601 -0.00985534
df_reszt M_W SD_W min_W max_W
236.0000000 3.5337083 0.7476015 1.3900000 5.5400000
Estimate Std. Error t value Pr(>|t|)
-0.1395 0.0539 -2.5875 0.0103
Value of uwaz Est. S.E. 2.5% 97.5% t val. p
1 2.7861 0.4400 0.0534 0.3348 0.5452 8.2397 0e+00
2 3.5337 0.3357 0.0430 0.2511 0.4203 7.8140 0e+00
3 4.2813 0.2314 0.0639 0.1055 0.3574 3.6194 4e-04
Value of uwaz Est. S.E. 2.5% 97.5% t val. p
1 2 0.5496 0.0861 0.3800 0.7193 6.3840 0.0000
2 3 0.4102 0.0472 0.3171 0.5032 8.6817 0.0000
3 4 0.2707 0.0535 0.1652 0.3761 5.0582 0.0000
4 5 0.1312 0.0965 -0.0589 0.3212 1.3598 0.1752
Lower Higher
4.748 14.164
Lower Higher
1.62 14.22
[1] 94.2Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet interactions oraz funkcje lm() i vcov() z pakietu stats). Zgodność kalkulatora z R sprawdzono na 57 przypadkach testowych: efekty proste porównano z sim_slopes() i z emtrends() z pakietu emmeans, a granice – z johnson_neyman(), także przy α = .10 i .01. Największa różnica wyniosła 3 × 10⁻¹³.
- 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/
- interactions (wersja 1.2.0): Long, J. A. (2024). interactions: Comprehensive, user-friendly toolkit for probing interactions (Version 1.2.0) [R package]. The Comprehensive R Archive Network (CRAN). https://doi.org/10.32614/CRAN.package.interactions
- emmeans (wersja 2.0.2): Lenth, R. V., & Piaskowski, J. (2026). emmeans: Estimated marginal means, aka least-squares means (Version 2.0.2) [R package]. The Comprehensive R Archive Network (CRAN). https://doi.org/10.32614/CRAN.package.emmeans
Jak interpretować wynik
Najpierw test interakcji, potem sondowanie. O moderacji świadczy test b3. Efekty proste i granice opisują jej kształt, ale jej nie dowodzą. To, że efekt jest istotny przy niskim W, a nieistotny przy wysokim, nie jest testem różnicy między nachyleniami. Ten sam błąd przy porównywaniu grup opisuje wpis o tym, jak porównać regresję w dwóch grupach.
- Spotlight czy floodlight? Spiller i in. (2013) zalecają efekty proste („spotlight”) przy wartościach moderatora ważnych merytorycznie, a gdy takich nie ma – zakresy istotności techniką Johnsona–Neymana („floodlight”). Wartości ±1 SD zależą od tego, kogo akurat zbadano. W przykładzie wszystkie trzy były istotne, choć przy uważności 5 efekt już nie był.
- Interpretuj tylko obserwowany zakres. Granica 14.164 to wynik rachunku, nie obserwacja. Podawaj granice z zakresu danych i odsetek osób w obszarze istotności. Preacher i in. (2006) opisują obszary istotności razem z pasmami ufności prostych nachyleń w całym zakresie moderatora – tak jak na wykresie z kalkulatora.
- Brak istotności to nie brak efektu. Przy uważności 5 przedział ufności sięga od −0.059 do 0.321. Dane są zgodne zarówno z brakiem związku, jak i z umiarkowanym związkiem dodatnim. Jak to opisać, pokazuje wpis o tym, jak opisać wynik nieistotny.
- Granica zależy od liczebności i α. W większej próbie przedziały się zwężają i obszar istotności się poszerza, choć sam efekt jest taki sam. Granica nie jest więc „progiem” w sensie teoretycznym.
- Wiele testów naraz. Pasmo z kalkulatora to przedziały punktowe: każdy dotyczy jednej wartości W. Esarey i Sumner (2018) pokazali, że przy takim sondowaniu odsetek fałszywie istotnych wyników może być wielokrotnie większy albo mniejszy niż nominalne α. W R poprawkę według tych autorów włącza argument
control.fdr = TRUEfunkcjijohnson_neyman(). Szerzej o tym problemie piszemy w haśle o problemie wielokrotnych porównań.
Kształt interakcji najlepiej pokazać dwoma rysunkami: klasycznym wykresem interakcji z prostymi regresji dla kilku wartości W i wykresem efektu warunkowego z kalkulatora. Pierwszy pokazuje przewidywane wyniki, drugi – nachylenie i jego niepewność w całym zakresie moderatora.
Ograniczenia
- Jeden iloczyn, model liniowy. Kalkulator obsługuje model z jedną interakcją dwóch zmiennych. Zmienne kontrolne mogą być w modelu (zmniejszają tylko df). Nie obsługuje interakcji trójczynnikowych, składników kwadratowych ani kilku iloczynów z tym samym X.
- Regresja logistyczna i modele wielopoziomowe. Wzory działają na skali współczynników, np. logitu. Hayes i Matthes (2009) opisują sondowanie interakcji w regresji MNK i logistycznej, a Bauer i Curran (2005) – w modelach wielopoziomowych. W modelu logistycznym wpisz bardzo duże df (np. 100000), by uzyskać wartość krytyczną z rozkładu normalnego. W modelu wielopoziomowym wybór df jest osobnym problemem.
- Precyzja danych wejściowych. Programy często wypisują macierz kowariancji z trzema miejscami po przecinku. Przy małych wariancjach to za mało: przepisuj co najmniej 4–6 cyfr znaczących. W przykładzie zaokrąglenie danych do 6 cyfr znaczących przesunęło dolną granicę dopiero na piątym miejscu po przecinku (4.747637 i 4.747632).
- Błędy standardowe odporne. Jeśli w modelu użyłeś błędów odpornych na heteroskedastyczność, wpisz wariancje i kowariancję z odpornej macierzy kowariancji, a nie z klasycznej.
- Moderator dychotomiczny. Gdy W przyjmuje tylko wartości 0 i 1, granice nie mają sensu. Wystarczą dwa efekty proste przy W = 0 i W = 1. Jeśli zastanawiasz się, czy Twoja próba wystarczy do wykrycia interakcji, sprawdź kalkulator mocy dla regresji i interakcji.
Zapis w pracy (APA)
Podaj test interakcji z b, SE, t i p, efekty proste z 95% CI przy jawnie podanych wartościach moderatora oraz granice Johnsona–Neymana z zakresem danych. Współczynniki niestandaryzowane zapisuj z zerem wiodącym, a p bez zera. Pełny model warto pokazać w tabeli regresji w stylu APA, a wartość p z dowolnej statystyki t sprawdzisz w kalkulatorze wartości p.
Gdy moderator wchodzi do modelu z mediacją, efekty warunkowe dotyczą efektu pośredniego i liczy się je bootstrapem – pokazujemy to we wpisie o moderowanej mediacji i modelach PROCESS w R. Jeśli przygotowujesz artykuł z analizą moderacji i chcesz, żeby ktoś sprawdził model i opis, zajrzyj do oferty analiz dla badaczy.
Najczęstsze pytania
Skąd wziąć kowariancję b1 i b3 potrzebną do efektów prostych?
Z macierzy kowariancji współczynników modelu. W R zwraca ją vcov(model): kowariancja to element w wierszu predyktora X i kolumnie iloczynu. W SPSS zaznacz Covariance matrix w oknie Statistics regresji liniowej, a w Stata użyj estat vce. Wariancje na przekątnej to kwadraty błędów standardowych.
Czy da się policzyć efekty proste, znając tylko błędy standardowe współczynników?
Nie dokładnie. Błąd standardowy efektu warunkowego zawiera składnik 2W·cov(b1, b3), a w modelu bez centrowania kowariancja bywa duża i ujemna. Pominięcie jej zawyża albo zaniża SE, zależnie od znaku W. Bez macierzy kowariancji wycentruj moderator na wybranej wartości i dopasuj model ponownie: b1 i jego SE są wtedy efektem prostym w tym punkcie.
Czy granice Johnsona–Neymana zmieniają się po wycentrowaniu moderatora?
Nie w sensie merytorycznym. Centrowanie przesuwa zero na skali W, więc granice liczone dla wycentrowanego moderatora różnią się od granic na skali surowej dokładnie o średnią. Obszar istotności obejmuje tych samych badanych. Pilnuj tylko, by średnią, zakres i wybrane wartości W wpisać na tej samej skali, na której moderator wszedł do modelu.
Czy przedział Johnsona–Neymana może mieć tylko jedną granicę?
Matematycznie tylko w przypadku granicznym, gdy statystyka t interakcji równa się dokładnie wartości krytycznej. Przy istotnej interakcji równanie ma zawsze dwa pierwiastki, przy nieistotnej – dwa albo żaden. Jedna granica w raporcie zwykle oznacza, że druga leży poza zakresem moderatora, jak w przykładzie: 4.748 w danych i 14.164 poza skalą 1–6.
Czy kalkulator nadaje się do regresji logistycznej lub modelu wielopoziomowego?
Tak, jeśli interakcja dotyczy dwóch zmiennych, a wyniki interpretujesz na skali współczynników, np. logitu. Hayes i Matthes (2009) opisują sondowanie interakcji także w regresji logistycznej. Wpisz wtedy bardzo duże df, np. 100000, by wartość krytyczna pochodziła praktycznie z rozkładu normalnego. W modelu wielopoziomowym podaj df zgodne z metodą użytą w programie; uogólnienie techniki na takie modele opisują Bauer i Curran (2005).
Powiązane hasła
Przeczytaj też
Analiza moderacji krok po kroku
Hipoteza, centrowanie, model z interakcją, proste nachylenia, Johnson–Neyman, wykresy, moc, kod R, PROCESS w SPSS i opis APA – na jednym przykładzie.
Czytaj →PoradnikModerowana mediacja i modele PROCESS w R
Modele 7, 14 i 58, indeks moderowanej mediacji, efekty warunkowe z bootstrapem, lavaan i analiza wrażliwości – z kodem R i wzorem opisu APA.
Czytaj →PoradnikJak porównać regresję w dwóch grupach?
Dlaczego dwie osobne regresje nie dowodzą różnicy, jak przetestować interakcję grupa × predyktor, kiedy użyć testu z i testu Chowa oraz jak opisać wynik.
Czytaj →Recenzent pyta, przy jakich wartościach moderatora efekt jest istotny?
Pomożemy oszacować i zsondować interakcję, przygotować wykres efektu warunkowego z pasmem ufności i opisać moderację tak, żebyś mógł(a) obronić ją przed recenzentami.
Oferta dla badaczyPorozmawiaj o projekcieBibliografia i dalsza literatura naukowa (APA 7)
- Aiken, L. S., & West, S. G. (1991). Multiple regression: Testing and interpreting interactions. Sage.
- 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 ● Otwarty dostęp
- Brambor, T., Clark, W. R., & Golder, M. (2006). Understanding interaction models: Improving empirical analyses. Political Analysis, 14(1), 63–82. https://doi.org/10.1093/pan/mpi014
- Esarey, J., & Sumner, J. L. (2018). Marginal effects in interaction models: Determining and controlling the false positive rate. Comparative Political Studies, 51(9), 1144–1176. https://doi.org/10.1177/0010414017730080
- Hayes, A. F., & Matthes, J. (2009). Computational procedures for probing interactions in OLS and logistic regression: SPSS and SAS implementations. Behavior Research Methods, 41(3), 924–936. https://doi.org/10.3758/brm.41.3.924 ● Otwarty dostęp: pełny tekst
- Johnson, P. O., & Neyman, J. (1936). Tests of certain linear hypotheses and their application to some educational problems. Statistical Research Memoirs, 1, 57–93.
- 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 ● Otwarty dostęp: pełny tekst
- Spiller, S. A., Fitzsimons, G. J., Lynch, J. G., Jr., & McClelland, G. H. (2013). Spotlights, floodlights, and the magic number zero: Simple effects tests in moderated regression. Journal of Marketing Research, 50(2), 277–288. https://doi.org/10.1509/jmr.12.0420
Cytowania BibTeX
@book{aiken1991multiple, author={Aiken, Leona S. and West, Stephen G.}, title={{Multiple regression: Testing and interpreting interactions}}, year={1991}, publisher={Sage}}@article{bauer2005probing, author={Bauer, Daniel J. and Curran, Patrick J.}, title={{Probing interactions in fixed and multilevel regression: Inferential and graphical techniques}}, journal={Multivariate Behavioral Research}, year={2005}, volume={40}, number={3}, pages={373--400}, doi={10.1207/s15327906mbr4003_5}}@article{brambor2006understanding, author={Brambor, Thomas and Clark, William Roberts and Golder, Matt}, title={{Understanding interaction models: Improving empirical analyses}}, journal={Political Analysis}, year={2006}, volume={14}, number={1}, pages={63--82}, doi={10.1093/pan/mpi014}}@article{esarey2018marginal, author={Esarey, Justin and Sumner, Jane Lawrence}, title={{Marginal effects in interaction models: Determining and controlling the false positive rate}}, journal={Comparative Political Studies}, year={2018}, volume={51}, number={9}, pages={1144--1176}, doi={10.1177/0010414017730080}}@article{hayes2009computational, author={Hayes, Andrew F. and Matthes, Jörg}, title={{Computational procedures for probing interactions in OLS and logistic regression: SPSS and SAS implementations}}, journal={Behavior Research Methods}, year={2009}, volume={41}, number={3}, pages={924--936}, doi={10.3758/brm.41.3.924}}@article{johnson1936tests, author={Johnson, Palmer O. and Neyman, Jerzy}, title={{Tests of certain linear hypotheses and their application to some educational problems}}, journal={Statistical Research Memoirs}, year={1936}, volume={1}, pages={57--93}}@article{preacher2006computational, author={Preacher, Kristopher J. and Curran, Patrick J. and Bauer, Daniel J.}, title={{Computational tools for probing interactions in multiple linear regression, multilevel modeling, and latent curve analysis}}, journal={Journal of Educational and Behavioral Statistics}, year={2006}, volume={31}, number={4}, pages={437--448}, doi={10.3102/10769986031004437}}@article{spiller2013spotlights, author={Spiller, Stephen A. and Fitzsimons, Gavan J. and Lynch, Jr., John G. and McClelland, Gary H.}, title={{Spotlights, floodlights, and the magic number zero: Simple effects tests in moderated regression}}, journal={Journal of Marketing Research}, year={2013}, volume={50}, number={2}, pages={277--288}, doi={10.1509/jmr.12.0420}}