Prace dyplomowe · Psychometria

PCA czy analiza czynnikowa – którą wybrać?

Krótka odpowiedź z tabelą „kiedy która” i przykładem w R: te same dane przeanalizowane PCA i eksploracyjną analizą czynnikową – gdzie wyniki się pokrywają, a gdzie prowadzą do innych wniosków.

Strona główna / Blog / PCA czy analiza czynnikowa
W skrócie: Wybór zależy od celu. Jeśli badasz strukturę kwestionariusza i konstrukty (np. lęk, wsparcie), wybierz eksploracyjną analizę czynnikową (EFA); jeśli chcesz tylko zastąpić kilka skorelowanych zmiennych jednym lub dwoma indeksami, wystarczy PCA. Wyniki osób z obu metod są zwykle prawie takie same, ale ładunki, wspólności i korelacje wymiarów – nie: PCA je zawyża lub zaniża i nie daje oceny dopasowania modelu.

O wyborze decyduje cel, nie program

PCA i analiza czynnikowa często pojawiają się w tym samym oknie programu i dają podobnie wyglądające tabele ładunków. Odpowiadają jednak na różne pytania.

  • PCA (analiza głównych składowych) to technika redukcji danych. Zastępuje wiele skorelowanych zmiennych kilkoma nieskorelowanymi składowymi, z których każda jest ważoną sumą zmiennych. Składowe wynikają z danych, a nie z założonego z góry modelu (Jolliffe i Cadima, 2016). PCA opisuje całą wariancję zmiennych, razem z błędem pomiaru.
  • Eksploracyjna analiza czynnikowa (EFA) to model pomiaru. Zakłada, że odpowiedzi na pozycje są skutkiem wspólnych zmiennych ukrytych, np. lęku przed oceną. Wariancję każdej pozycji dzieli na wspólną (wspólność) i swoistą, czyli treść specyficzną dla pozycji i błąd.

Velicer i Jackson (1990) zestawili podobieństwa i różnice obu podejść. Rozwiązania bywają liczbowo zbliżone, ale zasadnicza różnica jest teoretyczna: czy wymiary traktujesz jako zmienne ukryte, czy jako sumy zmiennych jawnych. Stąd praktyczna reguła: jeśli w pracy piszesz o konstruktach i strukturze skali, potrzebujesz analizy czynnikowej.

Kiedy PCA, a kiedy analiza czynnikowa

Wybór między PCA a eksploracyjną analizą czynnikową w zależności od celu analizy
Twój celWybierzDlaczego
Sprawdzić, ile wymiarów mierzy kwestionariusz i które pozycje do nich należąEFApytasz o konstrukty, których nie obserwujesz wprost
Zbudować lub zaadaptować skalę, a potem potwierdzić strukturęEFA, potem CFA na innej próbieCFA testuje model czynnikowy; wynik PCA nie ma czego testować
Połączyć kilka wskaźników w jeden indeks, np. wyniki sześciu testów w ogólny wskaźnikPCAchodzi o streszczenie danych, nie o model konstruktu
Zastąpić silnie skorelowane predyktory jednym lub dwomaPCAskładowe są nieskorelowane, więc znika współliniowość
Policzyć wynik gotowej, sprawdzonej skaliani jedno, ani drugie – suma lub średniaklucz podają autorzy; zob. średnia czy suma

Jeśli zostawisz w programie domyślne ustawienia ekstrakcji, możesz nieświadomie wykonać PCA i nazwać ją analizą czynnikową. Skutki takiego wyboru opisujemy w haśle metoda głównych składowych w analizie czynnikowej. Fabrigar i in. (1999) zaliczają wybór modelu i metody ekstrakcji do kluczowych decyzji w EFA, które badacze często podejmują w wątpliwy sposób.

Przykład: te same dane, dwie analizy

Skala stresu akademickiego ma 8 pozycji (odpowiedzi 1–5): 4 dotyczą przeciążenia obowiązkami, a 4 – lęku przed oceną. Wypełniło ją 250 osób studiujących (dane symulowane z modelu dwuczynnikowego; w populacji ładunki wynoszą .50–.65, a korelacja czynników .45). Te same dane przeanalizowano PCA z dwiema składowymi i EFA z dwoma czynnikami (metoda największej wiarygodności); w obu przypadkach z rotacją ukośną oblimin.

Porównanie wyników PCA i EFA dla ośmiopozycyjnej skali stresu akademickiego
Co porównujeszPCAEFA (ML)
Ładunki na własnym wymiarze.61–.75.42–.68
Wspólności (h²).40–.58.22–.49
Korelacja dwóch wymiarów.28.43
% wariancji wyjaśnionej przez dwa wymiary48.6%31.9%
Ocena dopasowania modelubrakχ²(13) = 17.49, p = .178, RMSEA = .037, TLI = .96
Korelacja wyników osób z sumą pozycji podskali.998 i .998.978 i .973

Co z tego wynika

Do policzenia wyników osób wybór metody prawie nie ma znaczenia. Wyniki składowych i wyniki czynnikowe korelują z prostą sumą pozycji na poziomie .97–.998. Jeśli potrzebujesz tylko wyniku do dalszych analiz, np. do korelacji czy regresji, suma lub średnia pozycji zwykle wystarczy. Widaman i Revelle (2023) pokazują, że suma ma solidne podstawy, jeśli zestaw pozycji jest jednowymiarowy, i nie wymaga przy tym założeń modelu testów równoległych. Kiedy warto sięgnąć po wyniki czynnikowe, wyjaśnia osobne hasło.

Do wniosków o samej skali wybór ma duże znaczenie. PCA pokazała ładunki do .75 i wspólności do .58, choć w populacji ładunki nie przekraczają .65. EFA dała wartości bliższe prawdziwym. Korelacja wymiarów w PCA spadła do .28, a w EFA wyniosła .43 przy prawdziwej .45. Widaman (1993) opisał ten wzorzec: przy skorelowanych wymiarach i niewielkiej liczbie pozycji na wymiar PCA zawyża ładunki i zaniża korelacje między wymiarami. Z wyników PCA wyciągnąłbyś więc dwa błędne wnioski: że pozycje są lepsze, niż są, i że podskale są prawie niezależne.

Wyższy „procent wyjaśnionej wariancji” w PCA nie świadczy o lepszym rozwiązaniu. To dwie różne wielkości: PCA liczy całą wariancję pozycji, a EFA tylko wspólną. Do tego tylko EFA daje ocenę dopasowania modelu. Tutaj dwa czynniki dobrze odtwarzają korelacje pozycji. Pełną ścieżkę – od liczby czynników (np. analiza równoległa) do CFA – pokazuje poradnik analiza czynnikowa EFA i CFA. Ten sam przebieg w programie z menu opisujemy we wpisie analiza czynnikowa w jamovi.

Jak to opisać w pracy

Nazwij metodę precyzyjnie i uzasadnij ją celem analizy. Jeśli użyłeś PCA, nie pisz „analiza czynnikowa”, tylko „analiza głównych składowych”. Wzór dla analizy czynnikowej z przykładu:

Strukturę skali stresu akademickiego zbadano eksploracyjną analizą czynnikową (metoda największej wiarygodności, rotacja oblimin), ponieważ celem było oszacowanie wspólnych czynników leżących u podstaw odpowiedzi, a nie redukcja danych (N = 250). Dwa czynniki, przeciążenie obowiązkami i lęk przed oceną, dobrze odtwarzały korelacje pozycji, χ²(13) = 17.49, p = .178, RMSEA = .037, TLI = .96. Ładunki pozycji na ich czynnikach wynosiły .42–.68, a czynniki korelowały na poziomie r = .43.

Tabelę ładunków przygotujesz według wzoru tabeli analizy czynnikowej w APA. Kolejne kroki pracy ze skalą, od rzetelności po trafność, zebraliśmy w przewodniku psychometria i budowa skal.

Przykład reprodukowalny

PCA i EFA na tych samych danych w R

Kod odtwarza wszystkie liczby z tekstu: symulację ośmiu pozycji skali, PCA (psych::principal()) i EFA metodą największej wiarygodności (psych::fa()) z rotacją oblimin, ładunki na własnym wymiarze, zakres wspólności, korelację wymiarów, procent wariancji, dopasowanie modelu czynnikowego oraz korelacje wyników osób z sumami pozycji.

Ładunki, wspólności, korelacja wymiarów i wyniki osób w PCA i EFA

Dane wejściowe: 250 osób studiujących, 8 pozycji skali stresu akademickiego (1–5), po 4 pozycje przeciążenia (prz1–prz4) i lęku przed oceną (lek1–lek4) (dane symulowane, set.seed(1920)).

Co odczytać: wiersze PCA i EFA w tabeli ładunków, zakres wspólności, korelację wymiarów, procent wariancji, χ², df, p, RMSEA i TLI modelu czynnikowego oraz korelacje wyników składowych i wyników czynnikowych z sumami pozycji.

R
# B192 – PCA czy EFA? Te same dane, dwie analizy
# Dane symulowane: 250 osób studiujących, 8 pozycji (1–5) skali stresu akademickiego:
# 4 pozycje „przeciążenie” (prz1–prz4) i 4 pozycje „lęk przed oceną” (lek1–lek4);
# populacyjne ładunki .50–.65, korelacja czynników .45.
library(psych)   # fa() z rotacją oblimin korzysta z pakietu GPArotation
set.seed(1920)
n <- 250
lam <- c(.65, .60, .55, .50)
eta <- MASS::mvrnorm(n, c(0, 0), matrix(c(1, .45, .45, 1), 2))
poz <- function(f, l) {
  x <- l * f + rnorm(n, 0, sqrt(1 - l^2))
  as.integer(cut(x, c(-Inf, -1.3, -0.45, 0.45, 1.3, Inf)))   # odpowiedzi 1–5
}
dane <- data.frame(sapply(lam, function(l) poz(eta[, 1], l)),
                   sapply(lam, function(l) poz(eta[, 2], l)))
names(dane) <- c(paste0("prz", 1:4), paste0("lek", 1:4))

# 1. PCA: dwie składowe z rotacją oblimin
pca <- principal(dane, nfactors = 2, rotate = "oblimin")
# 2. EFA: dwa czynniki, metoda największej wiarygodności, rotacja oblimin
efa <- fa(dane, nfactors = 2, fm = "ml", rotate = "oblimin")

# 3. Ładunki na „własnym” wymiarze i zakres wspólności
ladunki <- function(L) {
  L <- unclass(L)
  k_prz <- which.max(colSums(abs(L[1:4, ])))
  c(L[1:4, k_prz], L[5:8, 3 - k_prz])
}
tab <- rbind(PCA = ladunki(pca$loadings), EFA = ladunki(efa$loadings))
colnames(tab) <- names(dane)
round(tab, 2)
round(rbind(PCA = range(pca$communality), EFA = range(efa$communality)), 2)

# 4. Korelacja wymiarów i % wariancji
round(c(PCA = abs(pca$Phi[1, 2]), EFA = abs(efa$Phi[1, 2])), 2)
round(100 * c(PCA = sum(pca$values[1:2]) / 8, EFA = sum(efa$communality) / 8), 1)

# 5. Ocena dopasowania – tylko model czynnikowy ją ma
round(c(chi2 = efa$STATISTIC, df = efa$dof, p = efa$PVAL, RMSEA = efa$RMSEA[1], TLI = efa$TLI), 3)

# 6. Wyniki osób: składowe, czynniki i zwykłe sumy prawie się pokrywają
suma <- cbind(prz = rowSums(dane[, 1:4]), lek = rowSums(dane[, 5:8]))
k_pca <- which.max(colSums(abs(unclass(pca$loadings))[1:4, ]))
k_efa <- which.max(colSums(abs(unclass(efa$loadings))[1:4, ]))
round(c(prz_PCA_suma = abs(cor(pca$scores[, k_pca], suma[, "prz"])),
        prz_EFA_suma = abs(cor(efa$scores[, k_efa], suma[, "prz"])),
        lek_PCA_suma = abs(cor(pca$scores[, 3 - k_pca], suma[, "lek"])),
        lek_EFA_suma = abs(cor(efa$scores[, 3 - k_efa], suma[, "lek"]))), 3)
Wynik w R
    prz1 prz2 prz3 prz4 lek1 lek2 lek3 lek4
PCA 0.69 0.70 0.70 0.66 0.73 0.75 0.61 0.69
EFA 0.60 0.56 0.54 0.50 0.68 0.62 0.42 0.52
    [,1] [,2]
PCA 0.40 0.58
EFA 0.22 0.49
 PCA  EFA 
0.28 0.43 
 PCA  EFA 
48.6 31.9 
       chi2          df           p RMSEA.RMSEA         TLI 
     17.492      13.000       0.178       0.037       0.961 
prz_PCA_suma prz_EFA_suma lek_PCA_suma lek_EFA_suma 
       0.998        0.978        0.998        0.973 

Bibliografia oprogramowania

Wyniki na tej stronie pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje principal() i fa() z pakietu psych, rotacja oblimin z pakietu GPArotation, symulacja czynników funkcją mvrnorm() z pakietu MASS). 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://CRAN.R-project.org/package=psych
  3. GPArotation (wersja 2025.3.1): Bernaards, C. A., & Jennrich, R. I. (2005). Gradient projection algorithms and software for arbitrary rotation criteria in factor analysis. Educational and Psychological Measurement, 65(5), 676–696. https://doi.org/10.1177/0013164404272507
  4. MASS (wersja 7.3-65): Venables, W. N., & Ripley, B. D. (2002). Modern applied statistics with S (4th ed.). Springer. https://www.stats.ox.ac.uk/pub/MASS4/

Najczęstsze pytania

Czy w pracy magisterskiej można zrobić PCA zamiast analizy czynnikowej?

Można, jeśli celem jest redukcja danych, np. połączenie kilku wskaźników w jeden indeks, i tak to opiszesz. Jeśli piszesz o strukturze kwestionariusza albo o konstruktach, recenzent oczekuje analizy czynnikowej z ekstrakcją metodą osi głównych albo największej wiarygodności. Najgorsze wyjście to zrobić PCA i nazwać je analizą czynnikową.

Czy wyniki składowych PCA można używać zamiast wyników skali?

Można, ale zwykle niewiele to zmienia. W przykładzie wyniki składowych korelowały z prostymi sumami pozycji na poziomie r = .998, a wyniki czynnikowe z EFA – .97–.98. Jeśli skala jest jednowymiarowa, prosta suma lub średnia jest łatwiejsza do opisania i porównania z innymi badaniami.

Czy PCA może potwierdzić strukturę kwestionariusza?

Nie. PCA nie zakłada modelu zmiennych ukrytych, więc nie ma czego „potwierdzać” i nie daje wskaźników dopasowania. Strukturę sprawdza konfirmacyjna analiza czynnikowa (CFA), najlepiej na innej próbie niż ta, na której wykonano analizę eksploracyjną.

Powiązane hasła

Przeczytaj też

Nie wiesz, czy Twoja skala potrzebuje PCA, EFA czy CFA?

Dobierzemy metodę do celu pracy, przeprowadzimy analizę struktury skali i pomożemy opisać ją tak, by promotor i recenzent nie mieli zastrzeżeń do metody ekstrakcji.

Oferta dla studentówWyceń analizę

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Fabrigar, L. R., Wegener, D. T., MacCallum, R. C., & Strahan, E. J. (1999). Evaluating the use of exploratory factor analysis in psychological research. Psychological Methods, 4(3), 272–299. https://doi.org/10.1037/1082-989x.4.3.272
  2. Jolliffe, I. T., & Cadima, J. (2016). Principal component analysis: A review and recent developments. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 374(2065), Article 20150202. https://doi.org/10.1098/rsta.2015.0202 ● Otwarty dostęp: pełny tekst
  3. Velicer, W. F., & Jackson, D. N. (1990). Component analysis versus common factor analysis: Some issues in selecting an appropriate procedure. Multivariate Behavioral Research, 25(1), 1–28. https://doi.org/10.1207/s15327906mbr2501_1
  4. Widaman, K. F. (1993). Common factor analysis versus principal component analysis: Differential bias in representing model parameters? Multivariate Behavioral Research, 28(3), 263–311. https://doi.org/10.1207/s15327906mbr2803_1
  5. Widaman, K. F., & Revelle, W. (2023). Thinking thrice about sum scores, and then some more about measurement and analysis. Behavior Research Methods, 55(2), 788–806. https://doi.org/10.3758/s13428-022-01849-w ● Otwarty dostęp

Cytowania BibTeX

@article{fabrigar1999evaluating, author={Fabrigar, Leandre R. and Wegener, Duane T. and MacCallum, Robert C. and Strahan, Erin J.}, title={{Evaluating the use of exploratory factor analysis in psychological research}}, journal={Psychological Methods}, year={1999}, volume={4}, number={3}, pages={272--299}, doi={10.1037/1082-989x.4.3.272}}
@article{jolliffe2016principal, author={Jolliffe, Ian T. and Cadima, Jorge}, title={{Principal component analysis: A review and recent developments}}, journal={Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences}, year={2016}, volume={374}, number={2065}, eid={20150202}, doi={10.1098/rsta.2015.0202}}
@article{velicer1990component, author={Velicer, Wayne F. and Jackson, Douglas N.}, title={{Component analysis versus common factor analysis: Some issues in selecting an appropriate procedure}}, journal={Multivariate Behavioral Research}, year={1990}, volume={25}, number={1}, pages={1--28}, doi={10.1207/s15327906mbr2501_1}}
@article{widaman1993common, author={Widaman, Keith F.}, title={{Common factor analysis versus principal component analysis: Differential bias in representing model parameters?}}, journal={Multivariate Behavioral Research}, year={1993}, volume={28}, number={3}, pages={263--311}, doi={10.1207/s15327906mbr2803_1}}
@article{widaman2023thinking, author={Widaman, Keith F. and Revelle, William}, title={{Thinking thrice about sum scores, and then some more about measurement and analysis}}, journal={Behavior Research Methods}, year={2023}, volume={55}, number={2}, pages={788--806}, doi={10.3758/s13428-022-01849-w}}
R