Słownik metodologiczny · Pomiar i skale

Wyniki czynnikowe (factor scores) – regresyjne, Bartletta czy suma pozycji?

Wyniki czynnikowe to oszacowania położenia osób na czynniku latentnym. Pokazujemy metodę regresyjną i Bartletta, nieokreśloność czynnikową, przykład w R z lavPredict() i to, jak nie zaniżyć efektu w regresji.

Strona główna / Słownik / Wyniki czynnikowe
W skrócie: Wyniki czynnikowe to oszacowania wartości czynnika latentnego dla każdej osoby. Metoda regresyjna daje wyniki najsilniej skorelowane z czynnikiem, ale o zmniejszonej wariancji; metoda Bartletta – nieobciążone, ale bardziej rozproszone. W regresji użyj wyników regresyjnych dla predyktora i Bartletta dla zmiennej zależnej albo od razu modelu SEM.

Co to są wyniki czynnikowe?

Wyniki czynnikowe (ang. factor scores) to oszacowania położenia każdej osoby na czynniku latentnym, wyliczone z modelu czynnikowego: z ładunków, wariancji błędów i odpowiedzi na pozycje. W odróżnieniu od sumy lub średniej pozycji nadają pozycjom różne wagi. Nie są jednak samym czynnikiem. Grice (2001) przypomina o nieokreśloności czynnikowej: z tym samym modelem zgadza się nieskończenie wiele zestawów wyników, dlatego ich jakość trzeba sprawdzić przed dalszą analizą.

Główne metody

  • Metoda regresyjna (Thomsona) – wyniki najsilniej skorelowane z czynnikiem, ale „ściągnięte” do średniej: ich wariancja jest mniejsza niż wariancja czynnika.
  • Metoda Bartletta – wyniki nieobciążone względem prawdziwej wartości osoby, za to z większą wariancją.
  • Suma pozycji – wagi równe 1. Prosta, ale ignoruje różnice ładunków.

Jakość wyników opisuje determinacja czynnikowa, czyli korelacja wyników z czynnikiem. Rodriguez i in. (2016) zaliczają ją do podstawowych wskaźników oceny modelu pomiarowego, obok współczynnika H.

Przykład

W danych symulowanych 1000 osób odpowiadało na cztery pozycje stresu i cztery pozycje wypalenia. Prawdziwe standaryzowane β wypalenia od stresu wynosi 0.50. Wyniki regresyjne stresu miały SD = 0.871, wyniki Bartletta SD = 1.149, a korelacja wyników regresyjnych z prawdziwym czynnikiem wynosiła .878. Model SEM dał β = 0.559. Regresja na średnich pozycji zaniżyła efekt do 0.408, a na samych wynikach regresyjnych do 0.440. Gdy predyktor opisano wynikami regresyjnymi, a zmienną zależną wynikami Bartletta, nachylenie wyniosło 0.559, tak jak w SEM. To połączenie Skrondal i Laake (2001) wskazali jako dające zgodne oszacowania.

Jak opisać w pracy

Wyniki czynnikowe oszacowano z jednoczynnikowych modeli CFA dla każdej skali osobno. W regresji użyto wyników regresyjnych dla predyktora (stres) i wyników Bartletta dla zmiennej zależnej (wypalenie), zgodnie z zaleceniami Skrondala i Laake (2001).

Na co uważać

  • Wyniki czynnikowe to nie czynnik. Zwykła regresja na nich nie usuwa błędu pomiaru tak jak SEM.
  • Szacuj czynniki osobno. Wyniki regresyjne z modelu z kilkoma skorelowanymi czynnikami „pożyczają” informację z pozycji innych skal.
  • Wyniki zależą od próby. Wagi pochodzą z konkretnych danych, więc wyników z dwóch badań nie porównuj bez sprawdzenia inwariancji pomiaru.

Jak zaplanować skalę, by później dało się ją modelować, opisuje wpis Jak zaprojektować pomiar latentny, a samą analizę czynnikową – Analiza czynnikowa EFA i CFA.

Przykład reprodukowalny

Wyniki czynnikowe w R

Kod szacuje dwa jednoczynnikowe modele CFA w lavaan, liczy wyniki regresyjne i Bartletta funkcją lavPredict() i porównuje nachylenia z różnych wyników z oszacowaniem SEM.

Regresja na wynikach czynnikowych a SEM

Dane wejściowe: odpowiedzi 1000 osób na cztery pozycje stresu i cztery pozycje wypalenia; prawdziwe β = 0.50 (dane symulowane, set.seed(3051)).

Co odczytać: SD wyników regresyjnych i Bartletta, korelację z prawdziwym czynnikiem, a w drugim wierszu nachylenia: z SEM, ze średnich pozycji, z wyników regresyjnych oraz z połączenia wyników regresyjnych i Bartletta.

R
suppressPackageStartupMessages(library(lavaan))
set.seed(3051)
n <- 1000
stres  <- rnorm(n)                                          # czynnik X (prawdziwy)
wypal  <- 0.5 * stres + rnorm(n, 0, sqrt(1 - 0.5^2))        # czynnik Y, prawdziwe beta = 0.50
lam <- c(.80, .70, .60, .50)
poz <- function(f) sapply(lam, function(l) l * f + rnorm(n, 0, sqrt(1 - l^2)))
dane <- data.frame(poz(stres), poz(wypal))
names(dane) <- c(paste0("s", 1:4), paste0("w", 1:4))
fitS <- cfa("S =~ s1 + s2 + s3 + s4", data = dane, std.lv = TRUE)   # każdy czynnik osobno
fitW <- cfa("W =~ w1 + w2 + w3 + w4", data = dane, std.lv = TRUE)
S_reg <- lavPredict(fitS, method = "regression")[, 1]       # wyniki regresyjne (Thomsona)
S_bar <- lavPredict(fitS, method = "Bartlett")[, 1]         # wyniki Bartletta
W_reg <- lavPredict(fitW, method = "regression")[, 1]
W_bar <- lavPredict(fitW, method = "Bartlett")[, 1]
round(c(sd_reg = sd(S_reg), sd_bartlett = sd(S_bar), r_z_prawdziwym = cor(S_reg, stres)), 3)
model <- sem("S =~ s1 + s2 + s3 + s4
              W =~ w1 + w2 + w3 + w4
              W ~ S", data = dane, std.lv = TRUE)
ss <- standardizedSolution(model)
round(c(SEM            = ss$est.std[ss$op == "~"],             # beta standaryzowane z SEM
        srednie_poz    = coef(lm(scale(rowMeans(dane[5:8])) ~ scale(rowMeans(dane[1:4]))))[[2]],
        reg_i_reg      = coef(lm(W_reg ~ S_reg))[[2]],
        reg_X_bartl_Y  = coef(lm(W_bar ~ S_reg))[[2]]), 3)
Wynik w R
        sd_reg    sd_bartlett r_z_prawdziwym
         0.871          1.149          0.878
          SEM   srednie_poz     reg_i_reg reg_X_bartl_Y
        0.559         0.408         0.440         0.559

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje cfa(), sem() i lavPredict() pakietu lavaan). 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. lavaan (wersja 0.7-2): Rosseel, Y. (2012). lavaan: An R package for structural equation modeling. Journal of Statistical Software, 48(2), 1–36. https://doi.org/10.18637/jss.v048.i02

Najczęstsze pytania

Czy wyniki czynnikowe są lepsze od średniej pozycji?

Uwzględniają różne ładunki pozycji, ale nadal zawierają błąd pomiaru. W przykładzie zwykła regresja na samych wynikach regresyjnych zaniżyła efekt prawie tak samo jak regresja na średnich.

Którą metodę wyników czynnikowych wybrać do regresji?

Według Skrondala i Laake (2001) wyniki regresyjne dla predyktora i wyniki Bartletta dla zmiennej zależnej. Jeśli możesz, oszacuj od razu model SEM.

Jak zapisać wyniki czynnikowe w R?

Dopasuj model funkcją cfa() pakietu lavaan i wywołaj lavPredict(fit, method = "regression") albo method = "Bartlett". Wynik dołącz jako nowe kolumny do danych.

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. Grice, J. W. (2001). Computing and evaluating factor scores. Psychological Methods, 6(4), 430–450. https://doi.org/10.1037/1082-989x.6.4.430
  2. Rodriguez, A., Reise, S. P., & Haviland, M. G. (2016). Evaluating bifactor models: Calculating and interpreting statistical indices. Psychological Methods, 21(2), 137–150. https://doi.org/10.1037/met0000045
  3. Skrondal, A., & Laake, P. (2001). Regression among factor scores. Psychometrika, 66(4), 563–575. https://doi.org/10.1007/bf02296196

Cytowania BibTeX

@article{grice2001computing, author={Grice, James W.}, title={{Computing and evaluating factor scores}}, journal={Psychological Methods}, year={2001}, volume={6}, number={4}, pages={430--450}, doi={10.1037/1082-989x.6.4.430}}
@article{rodriguez2016evaluating, author={Rodriguez, Anthony and Reise, Steven P. and Haviland, Mark G.}, title={{Evaluating bifactor models: Calculating and interpreting statistical indices}}, journal={Psychological Methods}, year={2016}, volume={21}, number={2}, pages={137--150}, doi={10.1037/met0000045}}
@article{skrondal2001regression, author={Skrondal, Anders and Laake, Petter}, title={{Regression among factor scores}}, journal={Psychometrika}, year={2001}, volume={66}, number={4}, pages={563--575}, doi={10.1007/bf02296196}}
R