6  Análise Fatorial Confirmatória

A Análise Fatorial Confirmatória (AFC) é uma abordagem de modelagem de variáveis latentes usada para avaliar se um modelo de mensuração especificado teoricamente é compatível com os dados observados. Em uma AFC, o pesquisador declara antecipadamente quais indicadores devem representar quais fatores latentes e, em seguida, avalia as consequências dessa especificação (Bollen, 1989; Kline, 2023).

A AFC é, portanto, especialmente útil quando uma estrutura de mensuração já foi proposta pela teoria, por pesquisas anteriores, por uma AFE prévia ou pelo próprio delineamento do instrumento. Ela também pode ser usada para comparar modelos de mensuração concorrentes plausíveis.

NotaMapa do capítulo

Este capítulo desenvolve a AFC por meio de seis perguntas conectadas:

  1. O que diferencia a AFC da AFE?
  2. Como um modelo de AFC é especificado matematicamente?
  3. Quando um modelo de AFC é identificado?
  4. O que os índices de ajuste mais comuns realmente nos dizem?
  5. Por que um bom ajuste não comprova a teoria de mensuração?
  6. Como podemos especificar, ajustar, inspecionar e relatar modelos de AFC em R?

6.1 O que é Análise Fatorial Confirmatória?

Suponha que tenhamos um questionário destinado a medir duas dimensões: Extroversão e Neuroticismo. Se a teoria estabelece que os Itens 1–4 medem Extroversão e os Itens 5–8 medem Neuroticismo, a AFC permite codificar essa estrutura diretamente e avaliar quão bem ela reproduz as relações observadas entre os itens.

Essa é a diferença central em relação à AFE. Na AFE, o padrão de cargas é estimado de maneira mais livre e a rotação é usada para buscar uma estrutura fatorial interpretável. Na AFC, o pesquisador especifica um modelo mais explícito antes da estimação.

AFE AFC
O padrão de cargas é explorado de forma mais livre O padrão de cargas é especificado de forma mais explícita
Cargas cruzadas são, em geral, estimadas Algumas cargas cruzadas são comumente fixadas em zero
A rotação é central para a interpretação A estrutura de cargas hipotetizada define a orientação dos fatores
A retenção de fatores é uma parte importante da análise O número de fatores costuma ser especificado antes do ajuste do modelo
Útil para exploração estrutural Útil para testar um modelo de mensuração especificado teoricamente
ImportanteConfirmatório não significa comprovado

Uma AFC pode mostrar que os dados observados são compatíveis ou incompatíveis com um modelo de mensuração especificado. Ela não pode provar que o modelo é a explicação psicológica verdadeira dos dados. Outros modelos podem, em alguns casos, reproduzir estruturas de covariância muito semelhantes (Bork et al., 2017; Kruis & Maris, 2016; Schmittmann et al., 2013).

6.1.1 Quando a AFC é útil?

Aplicações comuns incluem:

  • avaliar uma estrutura fatorial proposta em pesquisas anteriores;
  • avaliar se uma estrutura encontrada em uma população também é plausível em outra;
  • testar estruturas fatoriais teoricamente concorrentes;
  • avaliar modelos de ordem superior ou bifatoriais;
  • testar invariância de mensuração entre grupos ou ocasiões; e
  • examinar hipóteses específicas sobre correlações fatoriais, cargas ou relações residuais.

A AFC, portanto, não se restringe a situações em que um estudo anterior já realizou uma AFE. O requisito importante é que as restrições impostas na AFC tenham uma justificativa substantiva.

6.2 O modelo de mensuração da AFC

Uma notação comum para um modelo de mensuração é

\[ \mathbf{x} = \mathbf{\Lambda}\boldsymbol{\eta} + \boldsymbol{\epsilon}, \]

em que:

  • \(\mathbf{x}\) é o vetor de indicadores observados;
  • \(\boldsymbol{\eta}\) é o vetor de fatores latentes;
  • \(\mathbf{\Lambda}\) é a matriz de cargas fatoriais; e
  • \(\boldsymbol{\epsilon}\) é o vetor de resíduos específicos dos indicadores ou perturbações de mensuração (Bollen, 1989).

Para um único indicador,

\[ x_i = \lambda_{i1}\eta_1 + \lambda_{i2}\eta_2 + \cdots + \lambda_{im}\eta_m + \epsilon_i. \]

A carga fatorial \(\lambda_{im}\) descreve quão fortemente o indicador \(i\) se relaciona ao fator \(m\) sob o modelo especificado.

6.2.1 Um exemplo com dois fatores

Imagine oito indicadores. Os quatro primeiros são especificados como indicadores de Extroversão e os quatro últimos como indicadores de Neuroticismo. Um modelo simples de AFC pode ser escrito como

\[ \begin{bmatrix} x_1\\ x_2\\ x_3\\ x_4\\ x_5\\ x_6\\ x_7\\ x_8 \end{bmatrix} = \begin{bmatrix} \lambda_{11} & 0\\ \lambda_{21} & 0\\ \lambda_{31} & 0\\ \lambda_{41} & 0\\ 0 & \lambda_{52}\\ 0 & \lambda_{62}\\ 0 & \lambda_{72}\\ 0 & \lambda_{82} \end{bmatrix} \begin{bmatrix} \eta_1\\ \eta_2 \end{bmatrix} + \begin{bmatrix} \epsilon_1\\ \epsilon_2\\ \epsilon_3\\ \epsilon_4\\ \epsilon_5\\ \epsilon_6\\ \epsilon_7\\ \epsilon_8 \end{bmatrix}. \]

Os zeros são substantivamente importantes. Eles expressam a hipótese de que, por exemplo, um indicador atribuído apenas à Extroversão não apresenta carga direta em Neuroticismo nesse modelo específico de AFC.

Uma AFC reflexiva padrão também pressupõe que as variáveis latentes não estejam correlacionadas com os resíduos de seus indicadores:

\[ \operatorname{Cov}(\eta_j,\epsilon_i)=0. \]

Também se costuma assumir inicialmente que os resíduos não estejam correlacionados entre si, a menos que o modelo inclua explicitamente covariâncias residuais.

DicaLeia um modelo de AFC como um conjunto de afirmações

Uma carga igual a zero não é uma célula vazia. Ela é uma restrição. Da mesma forma, uma correlação fatorial fixada, uma restrição de igualdade ou uma covariância residual constitui uma afirmação teórica/estatística incorporada ao modelo. A AFC se torna útil porque essas restrições têm consequências observáveis.

6.3 A AFC é mais restritiva que a AFE

É comum descrever a AFE como “irrestrita” e a AFC como “restrita”, mas essa simplificação deve ser usada com cuidado. A AFE não é um modelo saturado no sentido usual da modelagem de equações estruturais. A AFE ainda impõe uma estrutura de fatores comuns e requer restrições de identificação. Ela é simplesmente menos restritiva que uma AFC convencional de agrupamentos independentes, porque as cargas cruzadas geralmente são estimadas em vez de fixadas em zero.

Uma AFC convencional poderia especificar

Indicador Fator 1 Fator 2
V1 estimada 0
V2 estimada 0
V3 estimada 0
V4 0 estimada
V5 0 estimada
V6 0 estimada

Em uma AFE com dois fatores retidos, cada item normalmente teria uma carga estimada em ambos os fatores antes da rotação.

NotaPor que essa distinção importa

Uma AFC com ajuste ruim não significa necessariamente que os fatores propostos não existam. O modelo pode ser restritivo demais — por exemplo, porque pequenas cargas cruzadas ou relações residuais foram fixadas em zero. A questão é se essas relações adicionais são substantivamente defensáveis, e não apenas se liberá-las melhora o ajuste.

6.4 Identificação do modelo

Antes de interpretar uma AFC, o modelo deve estar identificado (Bollen, 1989). A identificação pergunta se a informação observada é suficiente para estimar de maneira única os parâmetros desconhecidos do modelo.

6.4.1 Contando a informação observada

Com \(p\) variáveis observadas e sem estrutura de médias, a matriz de covariâncias amostral contém

\[ \frac{p(p+1)}{2} \]

peças únicas de informação: \(p\) variâncias e

\[ \frac{p(p-1)}{2} \]

covariâncias únicas.

Para quatro indicadores:

\[ \frac{4(4+1)}{2}=10. \]

Esses dez momentos amostrais consistem em quatro variâncias e seis covariâncias.

6.4.2 Um exemplo de um fator

Suponha que uma AFC de um fator tenha quatro indicadores. Se a variância do fator for fixada em 1 para definir a escala da variável latente, estimamos

  • 4 cargas fatoriais; e
  • 4 variâncias residuais.

Isso resulta em oito parâmetros livres. Como a matriz de covariâncias fornece dez momentos amostrais únicos,

\[ df = 10 - 8 = 2. \]

O modelo é, portanto, sobreidentificado e impõe restrições testáveis à matriz de covariâncias.

Com apenas três indicadores, a matriz de covariâncias fornece

\[ \frac{3(3+1)}{2}=6 \]

momentos amostrais. Um modelo de um fator com três cargas estimadas livremente e três variâncias residuais, após fixar a variância do fator em 1, também contém seis parâmetros livres. Portanto,

\[ df=0. \]

Este é um modelo exatamente identificado.

Graus de liberdade Status de identificação Implicação
\(df < 0\) Subidentificado Não há informação suficiente para estimar todos os parâmetros de forma única
\(df = 0\) Exatamente identificado Os parâmetros podem ser estimáveis, mas o modelo reproduz exatamente os momentos amostrais, de modo que o ajuste global não pode ser testado
\(df > 0\) Sobreidentificado O modelo impõe restrições testáveis e o ajuste global pode ser avaliado
AvisoCorreção de um equívoco comum

Um modelo com \(df=0\) não é subidentificado. Ele é exatamente identificado. Além disso, um modelo não precisa ter \(df>1\) para ser testável; qualquer número positivo de graus de liberdade representa um modelo sobreidentificado. Em modelos mais complexos, a identificação pode exigir condições adicionais além da simples contagem de parâmetros (Bollen, 1989).

6.4.3 Definindo a escala da variável latente

Como as variáveis latentes não são observadas, sua escala numérica precisa ser definida. Duas abordagens comuns são:

  1. Método da variável marcadora: fixar uma carga fatorial em 1.
  2. Método do fator fixo: fixar a variância do fator em 1 e estimar todas as cargas.

O lavaan usa por padrão a abordagem da variável marcadora. Como alternativa, std.lv = TRUE fixa as variâncias latentes em 1 (Rosseel, 2012).

6.5 Ajuste do modelo: o que estamos comparando?

Depois que um modelo é identificado e estimado, perguntamos quão bem a matriz de covariâncias implicada pelo modelo reproduz a matriz de covariâncias observada.

Seja

\[ \mathbf{S} \]

a matriz de covariâncias observada e

\[ \mathbf{\Sigma}(\theta) \]

a matriz de covariâncias implicada pelos parâmetros do modelo \(\theta\). A estimação em AFC procura valores dos parâmetros que tornem \(\mathbf{\Sigma}(\theta)\) suficientemente próxima de \(\mathbf{S}\) de acordo com a função de ajuste do estimador (Bollen, 1989; Kline, 2023).

ImportanteO ajuste diz respeito às consequências do modelo

Os índices de ajuste avaliam discrepâncias entre relações observadas e relações implicadas pelo modelo. Eles não examinam diretamente se a narrativa causal psicológica associada à variável latente é verdadeira.

6.6 Estatísticas e índices de ajuste comuns

Em vez de tratar o ajuste como um único número, é útil considerar vários tipos de evidência.

Estatística / índice Pergunta principal
Teste \(\chi^2\) O ajuste exato do modelo é rejeitado?
RMSEA Quanto desajuste aproximado existe em relação à complexidade do modelo?
SRMR Quão grandes são as discrepâncias residuais padronizadas?
CFI Quanto melhor é o modelo-alvo em comparação com um modelo-base de independência?
TLI Semelhante ao CFI, com penalização mais forte pela complexidade do modelo

6.6.1 Teste qui-quadrado

O qui-quadrado do modelo avalia uma hipótese nula de ajuste exato. Em termos gerais,

\[ H_0:\mathbf{\Sigma}(\theta)=\mathbf{\Sigma}. \]

Um resultado estatisticamente significativo indica evidência contra o ajuste exato. Como a estatística qui-quadrado é sensível ao tamanho amostral e à má especificação do modelo, normalmente é interpretada em conjunto com outros diagnósticos, e não como o único critério para decidir se um modelo é aceitável (Kline, 2023).

6.6.2 RMSEA

O Root Mean Square Error of Approximation (RMSEA) é um índice de ajuste aproximado derivado do qui-quadrado do modelo e dos graus de liberdade. Valores menores indicam menor discrepância aproximada por grau de liberdade (Steiger & Lind, 1980).

Preferencialmente, o RMSEA deve ser relatado com seu intervalo de confiança, e não como um único número.

6.6.3 CFI e TLI

O Comparative Fit Index (CFI) compara o modelo ajustado com um modelo-base em que as variáveis observadas são tratadas como mutuamente independentes (Bentler, 1990).

O Tucker–Lewis Index (TLI) é outro índice incremental que também incorpora a complexidade do modelo (Tucker & Lewis, 1973).

Valores maiores indicam maior melhora em relação ao modelo-base.

6.6.4 SRMR

O Standardized Root Mean Square Residual (SRMR) resume a discrepância padronizada entre as relações observadas e as implicadas pelo modelo. Valores menores indicam discrepâncias residuais menores.

6.7 Devemos usar pontos de corte universais?

Um dos estudos de simulação mais influentes sugeriu combinações como aproximadamente CFI/TLI \(\ge .95\) e RMSEA \(\le .06\) sob condições específicas de dados contínuos (Hu & Bentler, 1999). Esses valores são amplamente repetidos como se fossem leis universais.

Não são.

O comportamento dos pontos de corte depende de características como estimador, tamanho amostral, número de indicadores, cargas fatoriais, complexidade do modelo, características distribucionais e se os indicadores são contínuos ou categóricos. Para dados categóricos ordinais, por exemplo, o comportamento do RMSEA, CFI e TLI depende fortemente do método de estimação (Xia & Yang, 2019).

AvisoEvite a abordagem de semáforo para o ajuste

Não reduza a AFC a:

CFI > .95 = bom; RMSEA < .06 = bom; portanto, o modelo é verdadeiro.

Os índices de ajuste são resumos diagnósticos. Interprete-os em conjunto com a finalidade do modelo, os resíduos, as estimativas dos parâmetros, a plausibilidade teórica, o tipo de dado, o estimador e modelos alternativos plausíveis.

6.8 Modelos flexíveis podem apresentar bom ajuste pelo motivo errado

Um modelo pode obter melhor ajuste simplesmente porque é mais flexível. Bonifay & Cai (2017) demonstrou que modelos de variáveis latentes altamente parametrizados podem apresentar substancial propensão ao ajuste. Isso é especialmente relevante para modelos bifatoriais e outros modelos flexíveis: um ajuste superior não significa automaticamente que a representação mais complexa seja psicologicamente preferível.

Essa é uma das razões pelas quais comparar modelos apenas pelo maior CFI ou pelo menor RMSEA pode ser enganoso. A interpretação do modelo deve considerar parcimônia, comportamento dos parâmetros, significado teórico e se a flexibilidade adicional representa relações de mensuração plausíveis.

6.9 O ajuste não testa toda a interpretação causal

Modelos fatoriais reflexivos são frequentemente interpretados como se a variação em um atributo latente explicasse a variação em seus indicadores. Por exemplo, pressupõe-se que maior autoestima produza mudanças sistemáticas nas respostas a itens de autoestima (Bork et al., 2017).

No entanto, uma estrutura de covariância isoladamente pode ser compatível com diferentes explicações substantivas. Modelos de rede, por exemplo, permitem que variáveis observadas estejam conectadas diretamente em vez de atribuir toda a variação compartilhada a uma causa latente comum (Epskamp et al., 2018; Schmittmann et al., 2013).

Trabalhos de simulação e teóricos também mostraram que modelos fatoriais e de rede podem, em alguns casos, implicar estruturas de covariância observáveis equivalentes ou muito semelhantes (Kan et al., 2020; Kruis & Maris, 2016; McFarland, 2020).

NotaConexão com o capítulo sobre variáveis latentes

Esta é a mesma distinção desenvolvida em Capítulo 3. Um modelo fatorial com bom ajuste fornece evidência de que suas restrições estatísticas são compatíveis com os dados. Isso, por si só, não estabelece que a variável latente seja a verdadeira causa comum dos indicadores. Abordagens baseadas em tétrades procuram testar restrições adicionais de covariância implicadas por estruturas de causa comum (Franco et al., 2023).

6.10 Índices de modificação e correlações residuais

Uma AFC frequentemente não apresenta ajuste perfeito. O software pode sugerir parâmetros que, se liberados, devem melhorar o ajuste. Essas sugestões são comumente apresentadas como índices de modificação.

Candidatos típicos incluem:

  • uma carga cruzada atualmente fixada em zero;
  • uma covariância residual entre dois indicadores; ou
  • outro parâmetro fixado.

Índices de modificação podem ser diagnósticos úteis, mas não devem ser usados como um algoritmo automático de construção de modelos.

Por exemplo, dois itens podem compartilhar covariância residual porque apresentam redação muito semelhante, se referem à mesma situação ou contêm um efeito de método compartilhado. Nesse caso, permitir que seus resíduos se correlacionem pode ter uma interpretação substantiva defensável. Adicionar correlações residuais apenas porque elas melhoram o CFI ou o RMSEA traz o risco de adaptar o modelo a ruído específico da amostra.

DicaUma pergunta melhor sobre modificações

Em vez de perguntar:

Qual parâmetro devo liberar para melhorar o ajuste?

pergunte:

Que característica substantiva desses indicadores justificaria a relação adicional?

6.11 Como realizar uma AFC em R

O tutorial a seguir usa o lavaan (Rosseel, 2012) e o conjunto de dados HolzingerSwineford1939. Esse conjunto clássico contém nove variáveis de habilidade mental comumente representadas por três dimensões latentes (Holzinger & Swineford, 1939).

6.11.1 Instalar e carregar o lavaan

A instalação é necessária apenas uma vez:

install.packages("lavaan")

Em seguida, carregue o pacote:

library(lavaan)
This is lavaan 0.7-2
lavaan is FREE software! Please report any bugs.

6.11.2 Especificar o modelo

O modelo de três fatores contém:

  • visual: x1, x2, x3;
  • textual: x4, x5, x6; e
  • speed: x7, x8, x9.
HS.model <- '
  visual  =~ x1 + x2 + x3
  textual =~ x4 + x5 + x6
  speed   =~ x7 + x8 + x9
'

No lavaan, o operador =~ significa é medido por. A variável latente é escrita à esquerda e seus indicadores à direita.

6.11.3 Ajustar o modelo

Para essas variáveis contínuas de demonstração, podemos ajustar o modelo usando máxima verossimilhança:

cfa.fit <- lavaan::cfa(
  model = HS.model,
  data = lavaan::HolzingerSwineford1939,
  estimator = "ML"
)

Inspecione a saída principal:

summary(
  cfa.fit,
  fit.measures = TRUE,
  standardized = TRUE
)
lavaan 0.7-2 ended normally after 35 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        21

  Number of observations                           301

Model Test User Model:
                                                      
  Test statistic                                85.306
  Degrees of freedom                                24
  P-value (Chi-square)                           0.000

Model Test Baseline Model:

  Test statistic                               918.852
  Degrees of freedom                                36
  P-value                                        0.000

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.931
  Tucker-Lewis Index (TLI)                       0.896

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -3737.745
  Loglikelihood unrestricted model (H1)      -3695.092
                                                      
  Akaike (AIC)                                7517.490
  Bayesian (BIC)                              7595.339
  Sample-size adjusted Bayesian (SABIC)       7528.739

Root Mean Square Error of Approximation:

  RMSEA                                          0.092
  90 Percent confidence interval - lower         0.071
  90 Percent confidence interval - upper         0.114
  P-value H_0: RMSEA <= 0.050                    0.001
  P-value H_0: RMSEA >= 0.080                    0.840

Standardized Root Mean Square Residual:

  SRMR                                           0.065

Goodness of Fit Index:

  Goodness of Fit Index (GFI)                    0.959
  90 Percent confidence interval - lower         0.939
  90 Percent confidence interval - upper         0.976

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  visual =~                                                             
    x1                1.000                               0.900    0.772
    x2                0.554    0.100    5.554    0.000    0.498    0.424
    x3                0.729    0.109    6.685    0.000    0.656    0.581
  textual =~                                                            
    x4                1.000                               0.990    0.852
    x5                1.113    0.065   17.014    0.000    1.102    0.855
    x6                0.926    0.055   16.703    0.000    0.917    0.838
  speed =~                                                              
    x7                1.000                               0.619    0.570
    x8                1.180    0.165    7.152    0.000    0.731    0.723
    x9                1.082    0.151    7.155    0.000    0.670    0.665

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  visual ~~                                                             
    textual           0.408    0.074    5.552    0.000    0.459    0.459
    speed             0.262    0.056    4.660    0.000    0.471    0.471
  textual ~~                                                            
    speed             0.173    0.049    3.518    0.000    0.283    0.283

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .x1                0.549    0.114    4.833    0.000    0.549    0.404
   .x2                1.134    0.102   11.146    0.000    1.134    0.821
   .x3                0.844    0.091    9.317    0.000    0.844    0.662
   .x4                0.371    0.048    7.779    0.000    0.371    0.275
   .x5                0.446    0.058    7.642    0.000    0.446    0.269
   .x6                0.356    0.043    8.277    0.000    0.356    0.298
   .x7                0.799    0.081    9.823    0.000    0.799    0.676
   .x8                0.488    0.074    6.573    0.000    0.488    0.477
   .x9                0.566    0.071    8.003    0.000    0.566    0.558
    visual            0.809    0.145    5.564    0.000    1.000    1.000
    textual           0.979    0.112    8.737    0.000    1.000    1.000
    speed             0.384    0.086    4.451    0.000    1.000    1.000

A saída contém estimativas dos parâmetros, covariâncias fatoriais, o teste qui-quadrado do modelo e vários índices de ajuste.

6.11.4 Extrair as medidas de ajuste mais comuns

Em vez de procurar manualmente em toda a saída impressa, podemos solicitar um conjunto compacto de estatísticas:

fitMeasures(
  cfa.fit,
  c(
    "chisq",
    "df",
    "pvalue",
    "cfi",
    "tli",
    "rmsea",
    "rmsea.ci.lower",
    "rmsea.ci.upper",
    "srmr"
  )
)
         chisq             df         pvalue            cfi            tli 
        85.306         24.000          0.000          0.931          0.896 
         rmsea rmsea.ci.lower rmsea.ci.upper           srmr 
         0.092          0.071          0.114          0.065 

Isso costuma ser mais fácil de usar ao preparar tabelas ou um relatório.

6.11.5 Inspecionar as cargas padronizadas

standardizedSolution(cfa.fit)
lhs op rhs est.std se z pvalue ci.lower ci.upper
visual =~ x1 0.7718804 0.0549727 14.041152 0.00e+00 0.6641359 0.8796250
visual =~ x2 0.4236010 0.0596191 7.105120 0.00e+00 0.3067497 0.5404523
visual =~ x3 0.5811323 0.0551393 10.539347 0.00e+00 0.4730613 0.6892034
textual =~ x4 0.8515822 0.0225431 37.775746 0.00e+00 0.8073986 0.8957659
textual =~ x5 0.8550654 0.0223412 38.272946 0.00e+00 0.8112774 0.8988535
textual =~ x6 0.8380101 0.0233552 35.881126 0.00e+00 0.7922348 0.8837854
speed =~ x7 0.5695147 0.0531549 10.714253 0.00e+00 0.4653331 0.6736963
speed =~ x8 0.7230444 0.0505306 14.309048 0.00e+00 0.6240063 0.8220825
speed =~ x9 0.6650092 0.0510943 13.015321 0.00e+00 0.5648662 0.7651523
x1 x1 0.4042006 0.0848647 4.762880 1.90e-06 0.2378688 0.5705325
x2 x2 0.8205622 0.0505094 16.245721 0.00e+00 0.7215655 0.9195589
x3 x3 0.6622852 0.0640865 10.334244 0.00e+00 0.5366781 0.7878924
x4 x4 0.2748077 0.0383946 7.157458 0.00e+00 0.1995557 0.3500597
x5 x5 0.2688631 0.0382065 7.037110 0.00e+00 0.1939798 0.3437464
x6 x6 0.2977391 0.0391437 7.606301 0.00e+00 0.2210188 0.3744595
x7 x7 0.6756530 0.0605450 11.159526 0.00e+00 0.5569871 0.7943190
x8 x8 0.4772067 0.0730717 6.530664 0.00e+00 0.3339888 0.6204247
x9 x9 0.5577627 0.0679564 8.207654 0.00e+00 0.4245706 0.6909549
visual visual 1.0000000 0.0000000 NA NA 1.0000000 1.0000000
textual textual 1.0000000 0.0000000 NA NA 1.0000000 1.0000000
speed speed 1.0000000 0.0000000 NA NA 1.0000000 1.0000000
visual textual 0.4585093 0.0637794 7.188993 0.00e+00 0.3335041 0.5835145
visual speed 0.4705345 0.0728267 6.461017 0.00e+00 0.3277968 0.6132722
textual speed 0.2829847 0.0687293 4.117382 3.83e-05 0.1482778 0.4176916

Para manter apenas as cargas fatoriais:

subset(
  standardizedSolution(cfa.fit),
  op == "=~"
)
lhs op rhs est.std se z pvalue ci.lower ci.upper
visual =~ x1 0.7718804 0.0549727 14.04115 0 0.6641359 0.8796250
visual =~ x2 0.4236010 0.0596191 7.10512 0 0.3067497 0.5404523
visual =~ x3 0.5811323 0.0551393 10.53935 0 0.4730613 0.6892034
textual =~ x4 0.8515822 0.0225431 37.77575 0 0.8073986 0.8957659
textual =~ x5 0.8550654 0.0223412 38.27295 0 0.8112774 0.8988535
textual =~ x6 0.8380101 0.0233552 35.88113 0 0.7922348 0.8837854
speed =~ x7 0.5695147 0.0531549 10.71425 0 0.4653331 0.6736963
speed =~ x8 0.7230444 0.0505306 14.30905 0 0.6240063 0.8220825
speed =~ x9 0.6650092 0.0510943 13.01532 0 0.5648662 0.7651523

A carga padronizada expressa a força da relação entre um indicador e seu fator em uma métrica padronizada.

6.12 Como a escala do fator é definida?

Por padrão, o lavaan fixa a primeira carga de cada fator em 1. Esse é o método da variável marcadora e define a escala da variável latente (Rosseel, 2012).

Por exemplo, o modelo padrão se comporta conceitualmente como:

visual =~ 1*x1 + x2 + x3

A carga fixada em 1 é uma restrição de escala, e não um achado empírico.

Se preferirmos fixar a variância latente em 1 e estimar todas as cargas, podemos usar:

cfa.fit.std.lv <- lavaan::cfa(
  HS.model,
  data = lavaan::HolzingerSwineford1939,
  estimator = "ML",
  std.lv = TRUE
)

Ambas as abordagens identificam a escala latente, mas a parametrização não padronizada é diferente.

6.13 Restringindo correlações fatoriais

Por padrão, os fatores latentes exógenos nessa AFC podem se correlacionar. Suponha, em vez disso, que a teoria proponha que os três fatores sejam ortogonais. Podemos fixar suas covariâncias em zero:

HS.orthogonal <- '
  visual  =~ x1 + x2 + x3
  textual =~ x4 + x5 + x6
  speed   =~ x7 + x8 + x9

  visual  ~~ 0*textual
  visual  ~~ 0*speed
  textual ~~ 0*speed
'

Ajuste o modelo restrito:

cfa.fit.orthogonal <- lavaan::cfa(
  HS.orthogonal,
  data = lavaan::HolzingerSwineford1939,
  estimator = "ML"
)

O operador ~~ representa uma relação de variância ou covariância. Assim,

visual ~~ 0*textual

fixa a covariância entre os dois fatores em zero.

AvisoRestrições precisam de uma razão

O software permite fixar quase qualquer parâmetro em quase qualquer valor. Possibilidade estatística não é justificativa teórica. Sempre que possível, as restrições devem representar uma hipótese substantiva.

6.14 Inspecionar índices de modificação

Podemos inspecionar os maiores índices de modificação com:

mi <- modindices(cfa.fit, sort. = TRUE)

head(mi, 10)
lhs op rhs mi epc sepc.lv sepc.all sepc.nox
30 visual =~ x9 36.411031 0.5770215 0.5191001 0.5152491 0.5152491
76 x7 x8 34.145089 0.5364440 0.5364440 0.8591510 0.8591510
28 visual =~ x7 18.630638 -0.4218624 -0.3795158 -0.3489088 -0.3489088
78 x8 x9 14.946392 -0.4230959 -0.4230959 -0.8052026 -0.8052026
33 textual =~ x3 9.150895 -0.2716376 -0.2688377 -0.2380993 -0.2380993
55 x2 x7 8.918022 -0.1827254 -0.1827254 -0.1919302 -0.1919302
31 textual =~ x1 8.902732 0.3503311 0.3467201 0.2974884 0.2974884
51 x2 x3 8.531827 0.2182393 0.2182393 0.2230502 0.2230502
59 x3 x5 7.858085 -0.1300947 -0.1300947 -0.2119402 -0.2119402
26 visual =~ x5 7.440646 -0.2098980 -0.1888284 -0.1465688 -0.1465688

Um índice de modificação elevado sugere que liberar um parâmetro atualmente fixado pode melhorar o ajuste do modelo. Antes de fazê-lo, examine o próprio parâmetro e pergunte se a relação adicional é teoricamente plausível.

6.15 AFC com indicadores ordinais

Muitos itens psicológicos são categóricos ordinais, e não contínuos. Por exemplo, respostas do tipo Likert como

Discordo totalmente → Discordo → Neutro → Concordo → Concordo totalmente

são indicadores ordinais.

Para variáveis endógenas ordinais, o lavaan pode ajustar a AFC usando WLSMV. O modelo a seguir pressupõe que item1 até item8 sejam ordinais:

ordinal_items <- paste0("item", 1:8)

ordinal.model <- '
  Factor1 =~ item1 + item2 + item3 + item4
  Factor2 =~ item5 + item6 + item7 + item8
'

ordinal.fit <- lavaan::cfa(
  ordinal.model,
  data = mydata,
  ordered = ordinal_items,
  estimator = "WLSMV"
)

summary(
  ordinal.fit,
  fit.measures = TRUE,
  standardized = TRUE
)

Para indicadores categóricos ordinais, o estimador e os índices de ajuste devem ser interpretados no contexto de métodos para dados categóricos, e não pela importação automática de pontos de corte desenvolvidos para AFC de máxima verossimilhança com dados contínuos (Xia & Yang, 2019).

6.16 Escores fatoriais

Após ajustar uma AFC, podemos estimar escores fatoriais para casos individuais:

factor_scores <- lavPredict(cfa.fit)

head(factor_scores)
          visual     textual       speed
[1,] -0.81767524 -0.13754501  0.06150726
[2,]  0.04951940 -1.01272402  0.62549360
[3,] -0.76139670 -1.87228634 -0.84057276
[4,]  0.41934153  0.01848569 -0.27133710
[5,] -0.41590481 -0.12225009  0.19432951
[6,]  0.02325632 -1.32981727  0.70885348

Os escores fatoriais podem ser úteis para algumas finalidades posteriores, mas são quantidades estimadas dependentes do modelo, e não valores diretamente observados do traço. Diferentes estimadores de escores fatoriais e diferentes modelos de mensuração podem produzir escores diferentes.

AvisoNão confunda um escore fatorial com o próprio fator

Uma variável latente permanece não observada. lavPredict() fornece uma estimativa da localização de uma pessoa sob o modelo ajustado. Essa estimativa contém incerteza e herda as suposições da AFC.

6.17 Um checklist prático para AFC

Etapa Pergunte a si mesmo
Teoria Qual estrutura fatorial estou testando e por quê?
Indicadores Essas variáveis são indicadores apropriados dos fatores propostos?
Identificação O modelo está identificado e a escala latente está definida?
Estimador O estimador é adequado ao tipo e à distribuição dos indicadores?
Ajuste global O que \(\chi^2\), RMSEA, CFI, TLI e SRMR sugerem em conjunto?
Ajuste local Há resíduos grandes, sinais de cargas cruzadas ou índices de modificação?
Parâmetros As cargas, correlações fatoriais e variâncias residuais são plausíveis?
Alternativas Outro modelo teoricamente plausível poderia explicar os mesmos dados?
Interpretação O modelo estatístico justifica as afirmações psicológicas que quero fazer?

6.18 Relatando uma AFC

Um bom relato deve identificar o modelo, o estimador, o tipo de dado, o tamanho amostral e as principais evidências usadas para avaliar o modelo.

Por exemplo:

Uma análise fatorial confirmatória de três fatores foi ajustada aos nove indicadores de Holzinger–Swineford usando estimação por máxima verossimilhança. O modelo especificou fatores visual, textual e velocidade, cada um medido por três indicadores. O ajuste do modelo foi avaliado usando o teste qui-quadrado, CFI, TLI, RMSEA com seu intervalo de confiança e SRMR. Também foram inspecionadas as cargas fatoriais padronizadas e as correlações fatoriais. A interpretação do ajuste considerou o padrão dos índices e das estimativas dos parâmetros, em vez de aplicar qualquer ponto de corte isolado como critério definitivo.

Ao relatar sua própria análise, substitua essa descrição geral pelas estimativas efetivamente obtidas no modelo ajustado.

6.19 Considerações finais

A AFC é poderosa porque transforma uma teoria de mensuração em um conjunto de restrições estatísticas explícitas. O pesquisador especifica quais indicadores representam quais fatores, como os fatores podem se relacionar e quais parâmetros são fixados ou estimados. Os dados observados podem então ser usados para avaliar as consequências dessa especificação.

A lição mais importante, porém, é que ajuste do modelo não é o mesmo que verdade do modelo. CFI, TLI, RMSEA, SRMR e o teste qui-quadrado resumem diferentes aspectos da correspondência entre o modelo e os dados observados, mas não estabelecem o significado psicológico das variáveis latentes nem comprovam as suposições causais que motivaram o modelo. Modelos flexíveis também podem obter bom ajuste simplesmente porque dispõem de mais maneiras de reproduzir os dados (Bonifay & Cai, 2017).

A AFC, portanto, é melhor compreendida como uma parte de um processo mais amplo de validação. Seu uso mais forte não consiste em obter uma coleção de índices de ajuste aceitáveis, mas em confrontar um modelo de mensuração teoricamente significativo com evidências empíricas e identificar onde teoria e dados concordam — ou onde não concordam.