Skip to content

Commit

Permalink
20241222 - troubleshooting improper solutions
Browse files Browse the repository at this point in the history
  • Loading branch information
isaactpetersen committed Dec 22, 2024
1 parent 2c082ca commit 1936d40
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
1 change: 1 addition & 0 deletions 08-Structural-Equation-Modeling.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ For example, the model you fit should depend on how you conceptualize each const
There are important practical issues to consider with both [reflective](#reflectiveConstruct) and [formative](#formativeConstruct) models.\index{construct!reflective}\index{construct!formative}
An important practical issue is model identification—adding enough constraints so that there is only one, best answer.\index{structural equation modeling!model identification}
The model is identified when each of the estimated parameters has a unique solution.\index{structural equation modeling!model identification}
For ensuring the model is identifiable, see the criteria for identification of the measurement and structural model [here](https://davidakenny.net/cm/identify_formal.htm) (archived at https://perma.cc/5C9E-LBWM).\index{factor analysis}\index{factor analysis!identifiability}

Degrees of freedom in a SEM model is the number of known values minus the number of estimated parameters.\index{structural equation modeling!degrees of freedom}
The number of known values in a SEM model is the number of variances and covariances in the variance-covariance matrix of the manifest (observed) variables in addition to the number of means (i.e., the number of manifest variables), which can be calculated as: $\frac{m(m + 1)}{2} + m$, where $m = \text{the number of manifest variables}$.\index{structural equation modeling!degrees of freedom}
Expand Down
27 changes: 27 additions & 0 deletions 15-Factor-Analysis-PCA.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -595,6 +595,33 @@ Maximum likelihood [factor analysis](#factorAnalysis) can make use of all availa
Mplus, which is often used for [SEM](#sem) and [factor analysis](#factorAnalysis), will notify you if you are removing many participants in [CFA](#cfa)/[EFA](#efa).\index{factor analysis!decisions}\index{factor analysis}\index{structural equation modeling}\index{factor analysis!confirmatory}\index{factor analysis!exploratory}
The `lavaan` package [@R-lavaan] in `R` also notifies you if you are removing participants in [CFA](#efa-cfa)/[SEM](#sem) models.\index{factor analysis!decisions}\index{factor analysis}\index{structural equation modeling}\index{factor analysis!exploratory}

### Troubleshooting Improper Solutions {#troubleshooting-factorAnalysis}

A [PCA](#pca) will always converge; however, a [factor analysis](#factorAnalysis) model may not converge.\index{principal component analysis}\index{factor analysis}
If a [factor analysis](#factorAnalysis) model does not converge, you will need to modify the model to get it to converge.\index{factor analysis}
Model identification is described [here](#modelIdentificationTypes-sem).\index{factor analysis}\index{factor analysis!identifiability}

In addition, a [factor analysis](#factorAnalysis) model may converge but be improper.\index{factor analysis}\index{factor analysis!improper solution}
For example, if the [factor analysis](#factorAnalysis) model has a negative residual variance or correlation above 1, the model is improper.\index{factor analysis}\index{factor analysis!improper solution}
A negative residual variance is also called a Heywood case.\index{factor analysis}\index{factor analysis!improper solution}
Problematic parameters such as a negative residual variance or correlation above 1 can lead to problems with other parameters in the model.\index{factor analysis}\index{factor analysis!improper solution}
It is thus preferable to avoid or address improper solutions.\index{factor analysis}\index{factor analysis!improper solution}
A negative residual variance or correlation above 1 could be caused by a variety of things such as a misspecified model, too many factors, too few indicators per factor, or too few participants (relative to the complexity of the model).\index{factor analysis}\index{factor analysis!improper solution}

Here are various ways you may troubleshoot improper solutions in [factor analysis](#factorAnalysis):\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}

- Modify the model to be a represent a truer representation of the data-generating process\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Simplify the model\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Estimate fewer paths/parameters\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Reduce the number of factors estimated/extracted\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Increase the sample size\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Increase the number of indicators per factor\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Examine the data for outliers\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Drop the offending item that has a negative residual variance (if theoretically justifiable because the item may be poorly performing)\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Use different starting values\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Test whether the negative residual variance is significantly different from zero; if not, can consider fixing it to zero (not ideal)\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}
- Examine the data for possible outliers\index{factor analysis}\index{factor analysis!improper solution}\index{factor analysis!troubleshooting}

## Getting Started {#gettingStarted-factorAnalysis}

### Load Libraries {#loadLibraries-factorAnalysis}
Expand Down

0 comments on commit 1936d40

Please sign in to comment.