Słownik metodologiczny · Testy statystyczne

Test M Boxa – jak sprawdzić równość macierzy kowariancji przed MANOVA?

Test M Boxa sprawdza, czy grupy mają takie same macierze wariancji–kowariancji. Pokazujemy, jak go czytać, dlaczego bywa nadwrażliwy i co zrobić, gdy wynik jest istotny.

Strona główna / Słownik / Test M Boxa
W skrócie: Test M Boxa sprawdza hipotezę, że macierze wariancji–kowariancji zmiennych zależnych są równe we wszystkich grupach. Jest bardzo czuły na duże próby i nienormalność, więc przy istotnym wyniku raportuj ślad Pillaia, który jest najodporniejszy z testów MANOVA.

Co to jest test M Boxa?

Test M Boxa (ang. Box’s M test) sprawdza hipotezę zerową, że macierze wariancji–kowariancji zmiennych zależnych są takie same we wszystkich grupach. To wielowymiarowy odpowiednik testu Levene’a: zamiast jednej wariancji porównuje wariancje kilku zmiennych i kowariancje między nimi. Stosuje się go przed MANOVA i analizą dyskryminacyjną. Statystyka opiera się na ilorazie wiarygodności, a jej przybliżony rozkład wywodzi się z pracy Boxa (1949).

Jak czytać wynik

Program podaje M i jego przybliżenie rozkładem χ² (albo F). Liczba stopni swobody χ² wynosi (k − 1) · p(p + 1)/2, gdzie k to liczba grup, a p – liczba zmiennych zależnych. Istotny wynik oznacza, że macierze się różnią, czyli założenie jednorodności w wersji wielowymiarowej jest naruszone.

Przykład

Lęk i depresję zmierzono w trzech grupach po 40 osób (dane symulowane). W grupie C odchylenie standardowe lęku wyniosło 9.41, a w grupach A i B 5.60 i 5.32. Test M Boxa był istotny, χ²(6) = 17.43, p = .008. Wynik MANOVA podano więc śladem Pillaia: V = .09, F(4, 234) = 2.73, p = .030. W dodatkowej symulacji (1000 powtórzeń, równe macierze) test odrzucał hipotezę zerową w 4.5% prób przy rozkładzie normalnym, ale w 45.5% przy rozkładzie t z 4 stopniami swobody.

Jak opisać w pracy

Test M Boxa wskazał na niejednorodność macierzy kowariancji, χ²(6) = 17.43, p = .008, dlatego w MANOVA zastosowano ślad Pillaia, najodporniejszy na to naruszenie (Olson, 1974). Grupy różniły się łącznym profilem lęku i depresji, V = .09, F(4, 234) = 2.73, p = .030.

Na co uważać

  • Test reaguje na nienormalność, nie tylko na różne macierze. Symulacja z przykładu pokazuje, że przy grubych ogonach istotny wynik może wynikać z samego kształtu rozkładu.
  • Przy dużych próbach wykrywa drobne, praktycznie nieważne różnice. Zawsze obejrzyj też odchylenia standardowe i korelacje w grupach.
  • Wybierz odporny test MANOVA. Olson (1974) w symulacjach wykazał, że przy niejednorodności macierzy i nienormalności należy unikać testu największego pierwiastka (Roya), a ślad Pillaia jest najodporniejszy.

Założenia analizy wariancji i sposób ich sprawdzania w wersji jednowymiarowej opisuje wpis ANOVA krok po kroku.

Przykład reprodukowalny

Test M Boxa w R

Kod liczy test M Boxa i MANOVA ze śladem Pillaia, wypisuje odchylenia standardowe w grupach, a na końcu sprawdza w symulacji, jak często test odrzuca prawdziwą hipotezę zerową przy rozkładzie normalnym i przy rozkładzie t(4).

Test M Boxa, MANOVA i symulacja wrażliwości

Dane wejściowe: lęk i depresja w trzech grupach po 40 osób (dane symulowane, set.seed(178)); symulacja: 1000 powtórzeń po 120 osób (set.seed(1780)). Symulacja trwa kilka sekund.

Co odczytać: Chi-Sq (approx.), df i p-value testu Boxa, wiersz grupa z wartością Pillaia oraz odsetki odrzuceń w ostatnim wierszu.

R
suppressPackageStartupMessages(library(heplots))
set.seed(178)
grupa <- factor(rep(c("A", "B", "C"), each = 40))
d <- data.frame(grupa, lek = rnorm(120, c(20, 23, 25)[grupa], c(5, 5, 9)[grupa]))  # lęk: większy rozrzut w C
d$dep <- 0.5 * d$lek + rnorm(120, 5, 4)                          # depresja (dane symulowane)
boxM(cbind(lek, dep) ~ grupa, data = d)
summary(manova(cbind(lek, dep) ~ grupa, data = d), test = "Pillai")

with(d, round(rbind(lek = tapply(lek, grupa, sd), dep = tapply(dep, grupa, sd)), 2))
# Wrażliwość na rozkład: równe macierze kowariancji, rozkład normalny vs t(4); 1000 powtórzeń, n = 40 na grupę
set.seed(1780)
odsetek <- function(gen) mean(replicate(1000, {
  g <- factor(rep(1:3, each = 40)); y <- cbind(gen(120), gen(120))
  boxM(y, g)$p.value < .05 }))
round(c(normalny = odsetek(rnorm), t4 = odsetek(function(n) rt(n, 4))), 3)
Wynik w R
 Box's M-test for Homogeneity of Covariance Matrices 

data:  d 
Chi-Sq (approx.) = 17.4262, df = 6, p-value = 0.007838

           Df   Pillai approx F num Df den Df  Pr(>F)  
grupa       2 0.089179   2.7302      4    234 0.02991 *
Residuals 117                                          
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
       A    B    C
lek 5.60 5.32 9.41
dep 5.02 5.39 6.33
normalny       t4 
   0.045    0.455 

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats oraz pakiet heplots).

  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. heplots (wersja 1.8.1): Friendly, M., Fox, J., & Monette, G. (2025). heplots: Visualizing tests in multivariate linear models [R package]. https://CRAN.R-project.org/package=heplots

Najczęstsze pytania

Co zrobić, gdy test M Boxa jest istotny?

Sprawdź odchylenia standardowe w grupach i rozkłady zmiennych. W MANOVA raportuj ślad Pillaia, najodporniejszy na niejednorodność macierzy kowariancji, i opisz naruszenie w pracy.

Czy test M Boxa jest wrażliwy na brak normalności?

Tak. Przy rozkładach o grubych ogonach odrzuca hipotezę zerową znacznie częściej niż nominalne 5%, nawet gdy macierze kowariancji w grupach są równe.

Czym test M Boxa różni się od testu Levene’a?

Test Levene’a porównuje wariancje jednej zmiennej. Test M Boxa porównuje całe macierze, czyli wariancje wszystkich zmiennych zależnych i kowariancje między nimi.

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. Box, G. E. P. (1949). A general distribution theory for a class of likelihood criteria. Biometrika, 36(3–4), 317–346. https://doi.org/10.1093/biomet/36.3-4.317
  2. Olson, C. L. (1974). Comparative robustness of six tests in multivariate analysis of variance. Journal of the American Statistical Association, 69(348), 894–908. https://doi.org/10.1080/01621459.1974.10480224

Cytowania BibTeX

@article{box1949general, author={Box, George E. P.}, title={{A general distribution theory for a class of likelihood criteria}}, journal={Biometrika}, year={1949}, volume={36}, number={3–4}, pages={317--346}, doi={10.1093/biomet/36.3-4.317}}
@article{olson1974comparative, author={Olson, Chester L.}, title={{Comparative robustness of six tests in multivariate analysis of variance}}, journal={Journal of the American Statistical Association}, year={1974}, volume={69}, number={348}, pages={894--908}, doi={10.1080/01621459.1974.10480224}}
R