Day 35: Confirmatory Factor Analysis (CFA) in SPSS – Testing Hypothesized Factor Structures
Welcome to Day 35 of your 50-day SPSS learning journey! Today, we’ll explore Confirmatory Factor Analysis (CFA), a statistical technique used to validate whether a dataset fits a predefined factor structure. While Exploratory Factor Analysis (EFA) helps identify hidden patterns, CFA tests whether a hypothesized structure is supported by the data.
What is Confirmatory Factor Analysis (CFA)?
Confirmatory Factor Analysis (CFA) is a statistical method used to:
- Confirm whether a predefined set of factors explains the observed data.
- Evaluate the reliability and validity of measurement models (e.g., psychological scales, customer experience indices).
- Assess how well survey or questionnaire items load onto specific constructs (e.g., Satisfaction, Loyalty, and Trust in a customer survey).
For example:
- Testing if job satisfaction can be explained by Compensation, Work Environment, and Career Growth.
- Validating a customer loyalty model with dimensions like Brand Trust, Purchase Intention, and Customer Engagement.
When to Use CFA?
Use Confirmatory Factor Analysis when:
- You have a predefined theory or model and want to test it.
- You need to validate survey scales before further analysis.
- You want to check factor loadings, reliability, and model fit.
CFA is a crucial step before using Structural Equation Modeling (SEM).
Key Assumptions of CFA
- Adequate Sample Size: At least 5-10 cases per variable (larger samples improve reliability).
- Multivariate Normality: Variables should follow a normal distribution.
- No Perfect Multicollinearity: Factors should be distinct but correlated.
- Model Fit Criteria: Several goodness-of-fit indices (e.g., CFI, RMSEA, Chi-square) evaluate how well the model fits the data.
How to Perform Confirmatory Factor Analysis in SPSS
Step 1: Open Your Dataset
For this example, use the following employee job satisfaction survey dataset:
ID | Salary | Benefits | Work_Env | Job_Security | Growth | Workload | Manager_Support |
---|---|---|---|---|---|---|---|
1 | 8 | 7 | 6 | 8 | 5 | 7 | 9 |
2 | 6 | 6 | 5 | 7 | 4 | 6 | 8 |
3 | 9 | 8 | 7 | 9 | 6 | 8 | 9 |
4 | 7 | 6 | 5 | 7 | 5 | 6 | 8 |
5 | 8 | 7 | 6 | 8 | 5 | 7 | 9 |
Hypothesized Factor Structure:
- Factor 1 (Compensation & Security): Salary, Benefits, Job Security.
- Factor 2 (Work Environment): Work_Env, Workload, Manager Support.
- Factor 3 (Career Growth): Growth.
Step 2: Use AMOS for CFA (SPSS Built-in Tool for SEM)
SPSS does not have CFA as a direct function, but you can perform CFA using IBM AMOS, an add-on for SPSS.
- Open AMOS.
- Click File > New Project.
- Click the "Draw SEM" tool to create a model.
Step 3: Specify the Factor Structure in AMOS
-
Add Latent Variables (Factors):
- Create three latent variables: Compensation, Work Environment, and Career Growth.
-
Add Observed Variables:
- Drag and connect
Salary
,Benefits
, andJob_Security
to Compensation. - Drag and connect
Work_Env
,Workload
, andManager_Support
to Work Environment. - Drag
Growth
to Career Growth.
- Drag and connect
-
Set Correlations Between Factors:
- Draw arrows between Compensation, Work Environment, and Career Growth to allow for correlation.
Step 4: Run the CFA Model in AMOS
- Click "Analyze > Calculate Estimates".
- Review factor loadings, model fit, and modification indices.
Interpreting the Output
1. Factor Loadings
- Measure how strongly each variable is associated with its factor.
- Example:
Variable | Factor | Standardized Loading |
---|---|---|
Salary | Compensation | 0.85 |
Benefits | Compensation | 0.78 |
Job_Security | Compensation | 0.82 |
Work_Env | Work Environment | 0.76 |
Workload | Work Environment | 0.70 |
Manager_Support | Work Environment | 0.88 |
Interpretation:
- Higher values (>0.6) indicate strong relationships.
- Low values (<0.4) suggest weak associations.
2. Model Fit Indices
Fit Index | Ideal Value | Interpretation |
---|---|---|
Chi-Square (χ²) | Non-significant (p > 0.05) | Tests model fit (smaller is better). |
CFI (Comparative Fit Index) | > 0.90 | Compares model to a null model. |
TLI (Tucker-Lewis Index) | > 0.90 | Adjusts for model complexity. |
RMSEA (Root Mean Square Error of Approximation) | < 0.08 | Measures approximation error. |
Example Interpretation
Suppose AMOS provides the following:
- CFI = 0.92 (Good fit).
- TLI = 0.89 (Acceptable).
- RMSEA = 0.06 (Good fit).
- All factor loadings > 0.7 → Strong variable-factor relationships.
Conclusion: The model supports the hypothesis that job satisfaction is structured into Compensation, Work Environment, and Career Growth factors.
Practice Example: Perform CFA on Customer Loyalty Data
ID | Trust | Satisfaction | Loyalty | Repeat_Purchase | Recommendation | Engagement |
---|---|---|---|---|---|---|
1 | 8 | 9 | 7 | 8 | 9 | 8 |
2 | 7 | 8 | 6 | 7 | 8 | 7 |
3 | 9 | 10 | 8 | 9 | 10 | 9 |
Hypothesis:
- Factor 1: Trust & Satisfaction → Trust, Satisfaction.
- Factor 2: Customer Loyalty → Loyalty, Repeat Purchase.
- Factor 3: Brand Engagement → Recommendation, Engagement.
- Run CFA in AMOS.
- Check factor loadings and model fit indices.
- Interpret whether the data supports this structure.
Common Mistakes to Avoid
- Misinterpreting Factor Loadings: Use standardized values to evaluate strength (>0.6 = strong).
- Overfitting the Model: Simplify by removing weakly loading variables.
- Ignoring Model Fit Indices: Ensure CFI > 0.90 and RMSEA < 0.08 for good fit.
Key Takeaways
- CFA tests whether a predefined factor model fits your data.
- AMOS is used to build and analyze CFA models in SPSS.
- Factor loadings and model fit indices determine if the model is valid.
What’s Next?
In Day 36, we’ll explore Structural Equation Modeling (SEM) in SPSS—a powerful extension of CFA that allows testing causal relationships between variables. Stay tuned!