Słownik metodologiczny · Pomiar i skale

Korelacja tetrachoryczna – jak policzyć związek dwóch pozycji tak/nie?

Korelacja tetrachoryczna szacuje związek cech ukrytych za dwiema odpowiedziami 0/1. Pokazujemy model progów, różnicę wobec współczynnika phi, przykład w R (psych, polycor), opis do pracy i pułapki.

Strona główna / Słownik / Korelacja tetrachoryczna
W skrócie: Korelacja tetrachoryczna (rtet) szacuje korelację dwóch ciągłych cech ukrytych o rozkładzie normalnym, z których powstały odpowiedzi 0/1. W odróżnieniu od współczynnika phi nie zależy od odsetków odpowiedzi „tak”, dlatego służy do analizy czynnikowej pozycji dychotomicznych.

Co to jest korelacja tetrachoryczna?

Korelacja tetrachoryczna (ang. tetrachoric correlation, rtet) to oszacowanie korelacji dwóch ciągłych cech ukrytych o rozkładzie normalnym, które – jak się zakłada – stoją za odpowiedziami na dwie pozycje dychotomiczne, np. „tak”/„nie”. Pomysł pochodzi od Pearsona (1900), który szukał miary związku cech niemierzalnych ilościowo. To szczególny przypadek korelacji polichorycznej dla dwóch kategorii (Olsson, 1979).

Model progów i sposób szacowania

Każdą odpowiedź na pozycję w skali dychotomicznej traktuje się jak cechę ciągłą przeciętą progiem τ, którego położenie wynika z odsetka odpowiedzi „tak”. Następnie szuka się takiej korelacji ρ dwuwymiarowego rozkładu normalnego, która odtwarza liczebności czterech komórek tabeli 2 × 2. Prostego wzoru nie ma, potrzebna jest procedura iteracyjna; Divgi (1979) opisał szybki algorytm z dokładnym przybliżeniem startowym.

Dlaczego nie współczynnik phi? Phi to korelacja Pearsona na kodach 0/1, więc zależy od odsetków odpowiedzi. Gdy jedna pozycja jest „łatwa”, a druga „trudna”, phi nie może dojść do 1 i zaniża związek. Korelacja tetrachoryczna oddziela odsetki (progi) od siły związku.

Przykład

Pięćset osób odpowiedziało na dwie pozycje o zamartwianiu się (dane symulowane przy korelacji cech ukrytych .60). „Tak” na pierwszą odpowiedziało 22% badanych, na drugą 52%. Współczynnik φ wyniósł .35, a korelacja tetrachoryczna rtet = .61 (SE = 0.06) – bardzo blisko prawdziwej wartości.

Jak opisać w pracy

Ze względu na dychotomiczny format odpowiedzi związek obu pozycji oszacowano korelacją tetrachoryczną, rtet = .61 (SE = 0.06); współczynnik φ obliczony na kodach 0/1 wyniósł .35.

Na co uważać

  • Normalność cech ukrytych to założenie. Tabela 2 × 2 nie ma stopni swobody, by je sprawdzić.
  • Puste komórki. Przy rzadkich odpowiedziach oszacowanie bywa niestabilne lub bliskie ±1; pakiet psych dodaje wtedy do pustej komórki 0.5 (argument correct).
  • Tylko dla cech ciągłych z natury. Płeć czy grupa eksperymentalna nie są przeciętą cechą ciągłą.

Macierz korelacji tetrachorycznych jest punktem wyjścia analizy czynnikowej pozycji 0/1 – opisuje to poradnik Analiza czynnikowa EFA i CFA. W CFA takie pozycje szacuje się estymatorem WLSMV.

Przykład reprodukowalny

Korelacja tetrachoryczna w R

Kod symuluje odpowiedzi na dwie pozycje 0/1, pokazuje tabelę 2 × 2 i odsetki, liczy współczynnik φ, korelację tetrachoryczną z progami (psych) oraz jej błąd standardowy (polycor).

Phi a korelacja tetrachoryczna dla dwóch pozycji 0/1

Dane wejściowe: odpowiedzi 500 osób na dwie pozycje „tak”/„nie” (dane symulowane, set.seed(3661), korelacja cech ukrytych .60).

Co odczytać: tabelę 2 × 2, odsetki odpowiedzi „tak”, φ, korelację tetrachoryczną z progami τ oraz ρ z błędem standardowym.

R
set.seed(3661)
z1 <- rnorm(500)                                   # cecha ukryta 1: skłonność do zamartwiania się
z2 <- 0.6 * z1 + sqrt(1 - 0.6^2) * rnorm(500)      # cecha ukryta 2; korelacja cech .60
poz <- data.frame(p1 = as.integer(z1 > 0.8),       # 1 = „tak”, rzadka odpowiedź (ok. 20%)
                  p2 = as.integer(z2 > 0.0))       # 1 = „tak”, ok. 50%
table(poz)
colMeans(poz)                                      # odsetki odpowiedzi „tak”
round(c(phi = cor(poz$p1, poz$p2)), 3)             # Pearson na kodach 0/1 = współczynnik phi
tet <- psych::tetrachoric(poz)                     # korelacja tetrachoryczna i progi tau
tet
pc <- polycor::polychor(poz$p1, poz$p2, std.err = TRUE)   # ML, błąd standardowy
round(c(rho = pc$rho, SE = sqrt(pc$var[1, 1])), 3)
Wynik w R
   p2
p1    0   1
  0 224 166
  1  17  93
   p1    p2 
0.220 0.518 
  phi 
0.348 

Call: psych::tetrachoric(x = poz)
tetrachoric correlation 
   p1   p2  
p1 1.00     
p2 0.61 1.00

 with tau of 
    p1     p2 
 0.772 -0.045 
  rho    SE 
0.605 0.059

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiety psych i polycor). 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/
  2. psych (wersja 2.6.5): Revelle, W. (2026). psych: Procedures for psychological, psychometric, and personality research [R package]. Northwestern University. https://doi.org/10.32614/CRAN.package.psych
  3. polycor (wersja 0.8-2): Fox, J. (2025). polycor: Polychoric and polyserial correlations [R package]. https://doi.org/10.32614/CRAN.package.polycor

Najczęstsze pytania

Kiedy użyć korelacji tetrachorycznej zamiast współczynnika phi?

Gdy za odpowiedzią 0/1 stoi cecha ciągła, np. nasilenie objawu, i chcesz ocenić związek tych cech, zwłaszcza przed analizą czynnikową. Phi opisuje związek samych kategorii i zaniża go przy różnych odsetkach „tak”.

Czy korelację tetrachoryczną można liczyć dla płci?

Nie. Model zakłada, że kategorie powstały z przecięcia cechy ciągłej o rozkładzie normalnym. Dla zmiennych dychotomicznych z natury, jak płeć czy grupa badawcza, użyj phi lub korelacji punktowo-dwuseryjnej.

Jak policzyć macierz korelacji tetrachorycznych do analizy czynnikowej w R?

W pakiecie psych: tetrachoric(dane)$rho albo od razu fa(dane, nfactors = 2, cor = "tet"). Pakiet domyślnie wygładza macierz, gdy nie jest dodatnio określona.

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. Divgi, D. R. (1979). Calculation of the tetrachoric correlation coefficient. Psychometrika, 44(2), 169–172. https://doi.org/10.1007/bf02293968
  2. Olsson, U. (1979). Maximum likelihood estimation of the polychoric correlation coefficient. Psychometrika, 44(4), 443–460. https://doi.org/10.1007/BF02296207
  3. Pearson, K. (1900). Mathematical contributions to the theory of evolution. VII. On the correlation of characters not quantitatively measurable. Philosophical Transactions of the Royal Society of London. Series A, Containing Papers of a Mathematical or Physical Character, 195(262–273), 1–47. https://doi.org/10.1098/rsta.1900.0022

Cytowania BibTeX

@article{divgi1979calculation, author={Divgi, D. R.}, title={{Calculation of the tetrachoric correlation coefficient}}, journal={Psychometrika}, year={1979}, volume={44}, number={2}, pages={169--172}, doi={10.1007/bf02293968}}
@article{olsson1979maximum, author={Olsson, Ulf}, title={{Maximum likelihood estimation of the polychoric correlation coefficient}}, journal={Psychometrika}, year={1979}, volume={44}, number={4}, pages={443--460}, doi={10.1007/bf02296207}}
@article{pearson1900correlation, author={Pearson, Karl}, title={{Mathematical contributions to the theory of evolution. VII. On the correlation of characters not quantitatively measurable}}, journal={Philosophical Transactions of the Royal Society of London. Series A, Containing Papers of a Mathematical or Physical Character}, year={1900}, volume={195}, number={262–273}, pages={1--47}, doi={10.1098/rsta.1900.0022}}
R