Słownik metodologiczny · Testy statystyczne

Test znaków – najprostszy test dla dwóch pomiarów

Test znaków porównuje dwa pomiary tych samych osób, biorąc pod uwagę tylko kierunek zmiany. Pokazujemy, jak działa, czym różni się od testów Wilcoxona i McNemara, przykład w R i opis do pracy.

Strona główna / Słownik / Test znaków
W skrócie: Test znaków sprawdza, czy w parach pomiarów zmiany w jedną stronę zdarzają się częściej niż w drugą. Liczy tylko plusy i minusy, pomijając pary bez zmiany, i porównuje je z rozkładem dwumianowym z prawdopodobieństwem 0.5. Jest prosty i odporny, ale ma mniejszą moc niż test Wilcoxona.

Co to jest test znaków?

Test znaków (ang. sign test) to najprostszy test nieparametryczny dla dwóch pomiarów tych samych osób albo dla jednej próby porównywanej z hipotetyczną medianą. Bierze pod uwagę tylko znak różnicy w każdej parze: plus, minus albo zero. Dixon i Mood (1946) opisali go jako prosty sposób oceny, czy jedno z dwóch postępowań jest lepsze. Zaznaczyli przy tym, że gdy różnice da się porównywać co do wielkości, wydajniejsze są testy, które z tej wielkości korzystają.

Jak to działa

Przy hipotezie zerowej, że mediana różnic wynosi 0, plus i minus są jednakowo prawdopodobne. Liczba minusów wśród m par z niezerową różnicą ma więc rozkład dwumianowy z prawdopodobieństwem sukcesu 0.5, a wartość p daje dokładny test dwumianowy. Pary bez zmiany (remisy) zwykle się pomija. Coakley i Heise (1996) porównali wiele sposobów postępowania z remisami i pokazali, że wybór ma znaczenie, gdy zer jest dużo.

W porównaniu z testem Wilcoxona test znaków nie wymaga rangowania wielkości różnic, więc nadaje się też do ocen typu „lepiej / gorzej”. Gdy różnice są liczbowe, test Wilcoxona albo test t dla prób zależnych zwykle ma większą moc. Dla zmiennej tak/nie przed i po odpowiednikiem jest test McNemara, który też korzysta tylko z par, które zmieniły odpowiedź.

Przykład

W symulowanych danych 18 pacjentów oceniło ból na skali NRS przed terapią i po niej. U 12 osób ból się zmniejszył, u 2 zwiększył, a u 4 się nie zmienił. Test dwumianowy dla 12 z 14 par dał p = .013; odsetek popraw wyniósł .86, 95% CI [.57, .98], a mediana różnic −1 punkt. Test Wilcoxona na tych samych danych, korzystający z wielkości zmian, dał p = .006. Krok po kroku oba testy opisuje poradnik testy nieparametryczne krok po kroku.

Jak opisać w pracy

Do porównania nasilenia bólu przed terapią i po niej zastosowano test znaków. Ból zmniejszył się u 12 osób, zwiększył u 2, a u 4 nie zmienił się (pary te pominięto). Zmiana była istotna, p = .013 (dokładny test dwumianowy), mediana różnic wyniosła −1 punkt.

Na co uważać

  • Utrata informacji. Różnica o 1 i o 6 punktów liczy się tak samo; przy danych liczbowych rozważ najpierw test Wilcoxona.
  • Remisy w raporcie. Podaj liczbę par bez zmiany i to, co z nimi zrobiono.
  • Same p. Dodaj liczby plusów i minusów oraz medianę różnic.
Przykład reprodukowalny

Test znaków w R

Kod symuluje ocenę bólu przed i po terapii, liczy znaki różnic, wykonuje dokładny test dwumianowy na parach z niezerową różnicą i porównuje wynik z testem Wilcoxona.

Test znaków dla dwóch pomiarów

Dane wejściowe: 18 symulowanych pacjentów, ból na skali 0–10 przed i po; set.seed(4331).

Co odczytać: liczby popraw, remisów i pogorszeń, p testu dwumianowego, przedział dla odsetka popraw, medianę różnic i p testu Wilcoxona.

R
set.seed(4331)
n <- 18   # ból NRS 0–10 przed i po terapii u tych samych osób
przed <- sample(3:9, n, replace = TRUE)
po <- pmax(0, pmin(10, przed - sample(c(-1, 0, 0, 1, 1, 2, 3), n, replace = TRUE)))
roznica <- po - przed
table(sign(roznica))                 # -1 = poprawa, 0 = bez zmian, 1 = pogorszenie
k <- sum(roznica < 0); m <- sum(roznica != 0)   # zera (remisy) pomijamy
binom.test(k, m)                     # domyślnie prawdopodobieństwo 0.5
median(roznica)
wilcox.test(po, przed, paired = TRUE, exact = FALSE)$p.value
Wynik w R
-1  0  1
12  4  2

	Exact binomial test

data:  k and m
number of successes = 12, number of trials = 14, p-value = 0.01294
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
 0.5718708 0.9822055
sample estimates:
probability of success
             0.8571429

[1] -1
[1] 0.005694743

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (bez dodatkowych pakietów). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  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/

Najczęstsze pytania

Kiedy wybrać test znaków zamiast testu Wilcoxona?

Gdy znasz tylko kierunek zmiany (lepiej / gorzej) albo wielkości różnic nie da się sensownie uporządkować. Przy różnicach liczbowych test Wilcoxona zwykle ma większą moc.

Co zrobić z parami bez zmiany w teście znaków?

Najczęściej pomija się je i liczy test na pozostałych parach, podając ich liczbę w raporcie. Coakley i Heise (1996) porównali też wersje testu, które uwzględniają remisy.

Jak policzyć test znaków w R?

Funkcją binom.test(k, m), gdzie k to liczba różnic ujemnych (albo dodatnich), a m to liczba par z niezerową różnicą. Gotową funkcję SignTest() ma też pakiet DescTools.

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. Coakley, C. W., & Heise, M. A. (1996). Versions of the sign test in the presence of ties. Biometrics, 52(4), 1242–1251. https://doi.org/10.2307/2532840
  2. Dixon, W. J., & Mood, A. M. (1946). The statistical sign test. Journal of the American Statistical Association, 41(236), 557–566. https://doi.org/10.1080/01621459.1946.10501898

Cytowania BibTeX

@article{coakley1996versions, author={Coakley, Clint W. and Heise, Mark A.}, title={{Versions of the sign test in the presence of ties}}, journal={Biometrics}, year={1996}, volume={52}, number={4}, pages={1242--1251}, doi={10.2307/2532840}}
@article{dixon1946statistical, author={Dixon, W. J. and Mood, A. M.}, title={{The statistical sign test}}, journal={Journal of the American Statistical Association}, year={1946}, volume={41}, number={236}, pages={557--566}, doi={10.1080/01621459.1946.10501898}}
R