Słownik metodologiczny · Analiza czynnikowa

Korelacja polichoryczna – co to jest i kiedy jej używać?

Korelacja polichoryczna szacuje związek ciągłych cech ukrytych, które stoją za odpowiedziami na dwie pozycje porządkowe. Pokazujemy model progów, porównanie z r Pearsona na przykładzie, zapis w pracy i kod R.

Strona główna / Słownik / Korelacja polichoryczna
W skrócie: Korelacja polichoryczna szacuje korelację dwóch normalnych cech ukrytych, które – jak się zakłada – stoją za odpowiedziami na pozycje porządkowe, np. Likerta. Używaj jej jako danych wejściowych do analizy czynnikowej pozycji o kilku kategoriach lub skośnych rozkładach (np. z estymatorem WLSMV), a nie do opisu związku wyników skal.

Co to jest korelacja polichoryczna?

Korelacja polichoryczna (ang. polychoric correlation) to oszacowanie korelacji dwóch ciągłych zmiennych ukrytych o rozkładzie normalnym, które – jak się zakłada – stoją za odpowiedziami na dwie pozycje porządkowe. Olsson (1979) opisuje ją jako uogólnienie korelacji tetrachorycznej, liczonej dla dwóch zmiennych 0/1, na więcej kategorii. W psychologii służy głównie jako punkt wyjścia analizy czynnikowej pozycji skali Likerta i pytań testowych punktowanych 0/1.

Model progów i sposób szacowania

Odpowiedź traktuje się tak, jakby ciągłą cechę X* pocięto progami τ:

X = k, gdy τk−1 < X* ≤ τk;  para (X*, Y*) ma dwuwymiarowy rozkład normalny z korelacją ρ

W metodzie dwuetapowej najpierw wyznacza się progi z rozkładu odpowiedzi na każdą pozycję, a potem szuka takiego ρ, które najlepiej odtwarza liczebności w tabeli krzyżowej obu pozycji (Olsson, 1979). Kody kategorii (1, 2, 3…) służą tylko do ich uporządkowania, jak na każdej skali porządkowej. Macierz takich korelacji dla wszystkich par pozycji analizuje się potem w EFA lub CFA zamiast zwykłej macierzy Pearsona.

Przykład

Czterysta osób oceniło na skali 0–3 (od „wcale” do „prawie codziennie”) problemy ze snem i zmęczenie; dane symulowano przy korelacji cech ukrytych .60, a „wcale” wybrała ponad połowa badanych. Korelacja Pearsona policzona na kodach odpowiedzi wyniosła r = .47, a korelacja polichoryczna ρ = .59 (SE = 0.05). Test dwuwymiarowej normalności nie wykazał niezgodności z modelem, χ²(8) = 2.02, p = .981. Pearson zaniża związek, bo cztery skośne kategorie gubią część informacji o cesze. Pierwszy próg pozycji o śnie, τ1 = 0.29, oznacza, że odpowiedź inną niż „wcale” daje dopiero nasilenie cechy wyższe od średniej o 0.29 odchylenia standardowego.

Jak zapisać w pracy

Ze względu na porządkowy charakter i skośność odpowiedzi związek obu pozycji oszacowano korelacją polichoryczną, ρ = .59 (SE = 0.05); korelacja Pearsona obliczona na kodach odpowiedzi wyniosła r = .47.

Na co uważać

  • Normalność cech ukrytych to założenie. Flora i Curran (2004) pokazali w symulacji, że korelacje polichoryczne znoszą umiarkowane odstępstwa od niego, a CFA oparta na nich z odpornym WLS (np. WLSMV) działała dobrze we wszystkich warunkach; pełny WLS zawodził w mniejszych próbach.
  • Rzadkie kategorie dają puste komórki tabeli i niestabilne oszacowania – rozważ połączenie skrajnych odpowiedzi.
  • ρ opisuje cechy ukryte, a nie wyniki. Związek sum punktów czy wyników skal opisuj zwykłymi współczynnikami.
  • Nie zawsze jest potrzebna. Rhemtulla i in. (2012) zalecają metody kategorialne przy mniej niż pięciu kategoriach, a odporny ML przy pięciu i więcej, zwłaszcza w małej próbie i przy w przybliżeniu symetrycznych progach. Jak dobrać metodę, opisujemy w poradniku o analizie czynnikowej EFA i CFA.
Przykład reprodukowalny

Przykład w R

Kod tworzy dane z przykładu i liczy korelację Pearsona, korelację polichoryczną z progami oraz jej błąd standardowy i test dwuwymiarowej normalności. Macierz polichoryczną przekażesz do EFA argumentem fa(..., cor = "poly"), a w lavaan wystarczy oznaczyć pozycje jako porządkowe (ordered = TRUE) – CFA zostanie wtedy oszacowana estymatorem WLSMV (w wydruku: DWLS z odpornymi błędami standardowymi).

Pearson a korelacja polichoryczna dla dwóch pozycji 0–3

Dane wejściowe: odpowiedzi 400 osób na dwie pozycje o czterech kategoriach (dane symulowane, set.seed(172)).

Co odczytać: tabelę 4 × 4, r Pearsona, korelację polichoryczną z progami τ, jej błąd standardowy oraz test dwuwymiarowej normalności.

R
set.seed(172)
z1 <- rnorm(400)                                     # cecha ukryta 1: problemy ze snem (400 osób)
z2 <- 0.6 * z1 + sqrt(1 - 0.6^2) * rnorm(400)        # cecha ukryta 2: zmęczenie; korelacja cech .60
progi <- c(-Inf, 0.3, 1.0, 1.6, Inf)                 # skośne odpowiedzi: najczęściej „wcale”
poz <- data.frame(sen = cut(z1, progi, labels = FALSE) - 1, zmeczenie = cut(z2, progi, labels = FALSE) - 1)
table(poz)                                           # kody 0 = wcale … 3 = prawie codziennie
psych::polychoric(poz)                               # ρ i progi τ (metoda dwuetapowa)
pc <- polycor::polychor(poz$sen, poz$zmeczenie, std.err = TRUE)   # SE i test dwuwymiarowej normalności
round(c(r_Pearson = cor(poz)[1, 2], rho = pc$rho, SE = sqrt(pc$var[1, 1]), chi2 = pc$chisq, df = pc$df,
        p_normalnosc = pchisq(pc$chisq, pc$df, lower.tail = FALSE)), 3)
Wynik w R
   zmeczenie
sen   0   1   2   3
  0 192  35  13   5
  1  44  26  18   6
  2  14  15  11   7
  3   1   3   4   6
Call: psych::polychoric(x = poz)
Polychoric correlations 
          sen  zmczn
sen       1.00      
zmeczenie 0.59 1.00 

 with tau of 
             1    2   3
sen       0.29 1.03 1.8
zmeczenie 0.33 0.93 1.6
   r_Pearson          rho           SE         chi2           df p_normalnosc 
       0.474        0.590        0.045        2.016        8.000        0.981 

Bibliografia oprogramowania

Wyniki na tej stronie pochodzą z uruchomienia pokazanego kodu w R 4.5.3. 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

Czym różni się korelacja polichoryczna od tetrachorycznej?

Korelacja tetrachoryczna to szczególny przypadek polichorycznej: dotyczy dwóch zmiennych 0/1, np. pytań testu punktowanych dobrze–źle. Polichoryczna obejmuje zmienne o trzech i więcej uporządkowanych kategoriach. Obie zakładają normalne cechy ukryte.

Jak policzyć korelację polichoryczną w R?

Użyj polychoric() z pakietu psych – zwraca korelacje ($rho) i progi ($tau). Błąd standardowy i test normalności poda polycor::polychor(), a EFA na macierzy polichorycznej – fa(dane, cor = "poly").

Kiedy użyć korelacji polichorycznej zamiast Pearsona?

Gdy analizujesz strukturę pozycji porządkowych o małej liczbie kategorii, zwłaszcza poniżej pięciu, lub o skośnych rozkładach, np. w EFA i CFA. Do opisu związku sum punktów skal wystarczy korelacja Pearsona lub Spearmana.

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. Flora, D. B., & Curran, P. J. (2004). An empirical evaluation of alternative methods of estimation for confirmatory factor analysis with ordinal data. Psychological Methods, 9(4), 466–491. https://doi.org/10.1037/1082-989X.9.4.466 ● Otwarty dostęp: pełny tekst
  2. Olsson, U. (1979). Maximum likelihood estimation of the polychoric correlation coefficient. Psychometrika, 44(4), 443–460. https://doi.org/10.1007/BF02296207
  3. Rhemtulla, M., Brosseau-Liard, P. É., & Savalei, V. (2012). When can categorical variables be treated as continuous? A comparison of robust continuous and categorical SEM estimation methods under suboptimal conditions. Psychological Methods, 17(3), 354–373. https://doi.org/10.1037/a0029315

Cytowania BibTeX

@article{flora2004empirical, author={Flora, David B. and Curran, Patrick J.}, title={{An empirical evaluation of alternative methods of estimation for confirmatory factor analysis with ordinal data}}, journal={Psychological Methods}, year={2004}, volume={9}, number={4}, pages={466--491}, doi={10.1037/1082-989x.9.4.466}}
@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{rhemtulla2012when, author={Rhemtulla, Mijke and Brosseau-Liard, Patricia É. and Savalei, Victoria}, title={{When can categorical variables be treated as continuous? A comparison of robust continuous and categorical SEM estimation methods under suboptimal conditions}}, journal={Psychological Methods}, year={2012}, volume={17}, number={3}, pages={354--373}, doi={10.1037/a0029315}}
R