Get startedGet started for free

EFA vs. CFA revisited

1. EFA vs. CFA revisited

This chapter is going to be about improving model fit, but first, let's revisit the differences between EFAs and CFAs. When looking at results to think about model improvement, it is especially important to keep this distinction in mind.

2. Review of the differences between EFA & CFA

EFAs and CFAs are mathematically and conceptually different. EFAs estimate all possible item/factor relationships in order to help you identify patterns in the data. This is useful when you don't have a well-developed theory. In contrast, CFAs only estimate the variable/factor relationships that you specify in order to test your theory. CFA results are generally what you'll want to publish when you're developing a new measure.

3. Differences in factor loadings

These differences in models, combined with the fact that you are using different halves of the dataset for your EFAs and CFAs, mean that your estimated factor loadings will differ, even for the same item/factor relationships. Let's look at the first five lines of output from the EFA and CFA estimated loadings. You'll notice that the output looks different: the EFA loadings are a matrix showing every item/factor combination, while the CFA loadings are listed one on each row.

4. Comparing factor loadings

Another important thing to be attentive to is the factor naming conventions. You'll see in the CFA output that the first loading for factor 4 and item A1 is actually the relationship between A1 and MR5. These differences are due to the rotation involved in EFA estimation. So, the first row of the CFA output, which shows a loading of -0-point-503, is equivalent to row 1, column 4 in the EFA output, which shows a loading of -0-point-390 after rounding.

5. Differences in factor scores

The factor scores also differ between the EFA and CFA. To investigate this, the first step is to get the factor scores from each model. This is a bit more involved with the CFA results, as you'll want to use the fscores() function. Here, you'll see we're calculating factor scores from the CFA we ran based on the EFA results in order to ensure maximum comparability. We're also using the bfi_EFA dataset - again, for maximum comparability. With the EFA results, you can just access the scores list element in the model object. Remember that this model was created using the bfi_EFA dataset, so if there were no differences between the model parameters, these scores would be identical.

6. Differences in factor scores, visualized

To visualize the differences in factor scores obtained from the EFA and CFA, we can use a density plot. This is similar to how we plotted factor scores in Chapter 1, but now we'll add a second density curve using lines(). As you can see from this graph, the score distributions are not identical, which indicates that the model parameters are different. The factor scores from the EFA parameters are represented by the blue density curve, and factor scores from the CFA parameters are represented by the red density curve. Notice how the blue EFA distribution is flatter and less normal than the CFA distribution.

7. Let's practice!

Okay, we've reviewed the differences between EFAs and CFAs and examined some evidence showing those differences. Now it's time for you to put this into action.