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.

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*and I'll do my best to help!

KMO is the measure of sampling adequacy, so can I interpret the KMO index as the ratio of variables to respondents?

No. It only tells you if factors exist (so that you can run FA).

hi,

can you give me the spss procedure to get kmo values for each variable

thanks

Andy,

It’s the same procedure. The overall KMO is in the “KMO and Bartlett’s test” table in the factor output. The measure of sampling adequacy (MSA) can be found in the “anti-image matrices” table of the factor output. See: http://www-01.ibm.com/support/docview.wss?uid=swg21479963

P.S. I’m updating the article with an image showing that :)

Hello,

I have realized that KMO of two-item scales is always 0.5. Can we consider this acceptable? If so, I would appreciate sharing a reference that could be cited in support of accepting a KMO of 0.5 for two-item scales.

Thank you

I would be surprised if there was anything out there that showed 0.5 as acceptable. 0.5 is a poor candidate for factor analysis, two-item scale or not (it’s theoretically possible for a two-item scale to have a KMO of 1).

why are using kmo model and amos model ? plz explain basic points.

I don’t mention AMOS in the article (AMOS is software). Can you clarify what you mean by using an “AMOS model”?

What if your kmo is exactly 0.5 for a two-item scale?

Although my kmo is 0.5, Bartlett’s test of Sphericity is 0.000, so significant.

I have high communalities and also the scree plot etc. telling me to use only 1 component.

Can i go directly to a reliability analysis to check if using 1 component/factor is valid?

can rankings of 30 factors be used to carry out factor analysis?

I have failed to get KMO and the factor analysis for this data. Can some one help please?

2 1 4 1 1

1 2 1 3 4

3 6 12 2 2

6 4 2 4 4

4 16 2 5 8

7 5 6 6 12

9 3 6 11 4

7 8 10 8 11

5 11 20 14 3

13 12 15 11 7

10 13 6 10 10

11 10 6 13 9

12 9 12 9 19

18 7 16 7 14

14 15 19 17 19

16 14 14 19 18

19 18 18 15 16

17 16 23 23 16

19 21 5 20 13

15 26 26 18 14

21 22 16 24 24

23 19 11 25 25

24 23 21 20 21

22 25 27 26 22

25 20 22 26 27

26 24 23 22 29

28 28 28 29 22

27 27 25 28 29

29 30 29 27 26

30 29 30 30 28

Sure. But it’s not the easiest choice. Check out Yu et al’s paper for an overview. If you could, I would consider other alternatives, depending on what you want to get out of your data. For only 30 items, I would think it’s probably easier to try anything

butfactor analysis.What do you mean that you failed?

If you’re saying the KMO failed to recommend factor analysis, then that’s a pretty good indication you shouldn’t do it.