Factor Analysis > Kaiser-Meyer-Olkin (KMO) Test

## What is the Kaiser-Meyer-Olkin (KMO) Test?

Kaiser-Meyer-Olkin (KMO) Test is a measure of how suited your data is for **Factor Analysis**. The test measures sampling adequacy for each variable in the model **and **for the complete model. The statistic is a measure of the proportion of variance among variables that might be common variance. The lower the proportion, the more suited your data is to Factor Analysis.

KMO returns values between 0 and 1. A **rule of thumb **for interpreting the statistic:

- KMO values between 0.8 and 1 indicate the sampling is adequate.
- KMO values less than 0.6 indicate the sampling is not adequate and that remedial action should be taken. Some authors put this value at 0.5, so use your own judgment for values between 0.5 and 0.6.
- KMO Values close to zero means that there are large partial correlations compared to the sum of correlations. In other words, there are widespread correlations which are a large problem for factor analysis.

For reference, Kaiser put the following values on the results:

- 0.00 to 0.49 unacceptable.
- 0.50 to 0.59 miserable.
- 0.60 to 0.69 mediocre.
- 0.70 to 0.79 middling.
- 0.80 to 0.89 meritorious.
- 0.90 to 1.00 marvelous.

## Running the Kaiser-Meyer-Olkin (KMO) Test

The formula for the KMO test is:

where:

R = [r_{ij}] is the correlation matrix and

U = [u_{ij}] is the partial covariance matrix.

This test is not usually calculated by hand, because of the complexity.

**In SPSS**: Run Factor Analysis (Analyze>Dimension Reduction>Factor) and check the box for”KMO and Bartlett’s test of sphericity.” If you want the MSA (measure of sampling adequacy) for individual variables, check the “anti-image” box. An anti-image box will show with the MSAs listed in the diagonals.

The test can also be run by specifying KMO in the Factor Analysis command. The KMO statistic is found in the “KMO and Bartlett’s Test” table of the Factor output.**In R:**use the command KMO(r), where r is the correlation matrix you want to analyze. Find more details about the command in R on the Personality-Project website.**In Stata,**use the postestimation command*estat kmo*.

**Reference:
**Cerny, C.A., & Kaiser, H.F. (1977). A study of a measure of sampling adequacy for factor-analytic correlation matrices. Multivariate Behavioral Research, 12(1), 43-47.

Kaiser, H. 1974. An index of factor simplicity. Psychometrika 39: 31–36.

**Need help with a homework or test question?** Chegg offers 30 minutes of free tutoring, so you can try them out before committing to a subscription. Click here for more details.

If you prefer an **online interactive environment** to learn R and statistics, this *free R Tutorial by Datacamp* is a great way to get started. If you're are somewhat comfortable with R and are interested in going deeper into Statistics, try *this Statistics with R track*.

*Facebook page*.