Kaiser-Meyer-Olkin(KMO)の標本妥当性の測度とMeasures of Sampling Adequacy(MSA)について。
中澤港さんの資料
https://minato.sip21c.org/factor-in-R-j.pdf
KMO と MSA KMO とは,Kaiser-Meyer-Olkin が提唱した因子分析全体についてのサンプリング適切性基準であり,MSA とは Measures of Sampling Adequacy の頭語で,それぞれの変数についての個別のサンプリング適切性基準である。データセットの中に,十分な数の因子が存在するかどうかを示す指標値である。技術的には,変数間の相関係数の偏相関係数に対する比を計算する。もし偏相関係数が生の相関係数と同じような値なら,それらの変数は互いに分散をあまり共有していないことを意味する。KMO の範囲は 0.0 から 1.0 で,0.5 以上が望ましい*7。また,MSA が 0.5 未満の変数は,その変数がどの因子グループにも属していないことを示すので,因子分析から除くべきである。
7 Kaiser (1974) の提案によれば,0.5 未満では不適切,0.5 以上 0.6 未満は悲惨なレベル (miserable),0.6 以上 0.7 未満は良くも悪 くもなく (mediocre),0.7 以上 0.8 未満は並 (middling),0.8 以上 0.9 未満は賞賛に値し (meritorious),0.9 以上なら極めて優れ ている (marvelous)。
- Kaiser and Rise(1974). Little Jiffy Mark IV. Educational and Psychological Measurement, 34(Spring),111-117.
津田裕之さんの資料
データが因子分析を用いるのに適切であるか(データに意味のある因子が発見できそうであるか)を判断するための基準として Kaiser-Meyer-Olkinの標本妥当性の測度(KMO 測度)があります。KMO 測度(KMO 指標)はデータの偏相関係数の情報を使って、データに少なくとも1つの潜在因子が存在しそうかを調べます(偏相関係数の2乗和がゼロに近いほどその可能性が高いことを利用します)。
Rでの計算
津田さんの資料の中にもあるが、psychパッケージで計算ができる。
bfi
データを用いる。データの詳細はこちら
library("psych") data(bfi) dat <- bfi[1:25] KMO(dat)
結果。
Kaiser-Meyer-Olkin factor adequacy Call: KMO(r = dat) Overall MSA = 0.85 MSA for each item = A1 A2 A3 A4 A5 C1 C2 C3 C4 C5 E1 E2 E3 E4 E5 N1 N2 N3 N4 N5 O1 O2 O3 O4 O5 0.74 0.84 0.87 0.87 0.90 0.83 0.79 0.85 0.82 0.86 0.83 0.88 0.89 0.87 0.89 0.78 0.78 0.86 0.88 0.86 0.85 0.78 0.84 0.76 0.76
中澤さんの資料にもあるように基準は以下のものである。
KMO の範囲は 0.0 から 1.0 で,0.5 以上が望ましい*7。また,MSA が 0.5未満の変数は,その変数がどの因子グループにも属していないことを示すので,因子分析から除くべきである。
全体のMSAは0.85で、A1からO5までの値も0.5を下回る値はないので、このまま因子分析をしてよさそうだということがわかる。
堀啓造さんの文章
https://www.ec.kagawa-u.ac.jp/~hori/spss/tokidoki.html#7
MSA、KMOについていろいろ書かれている。
Bengt O.Muthénの見解
MplusではKMO、MSAは計算できない。
Just use Estimator = MLR. There is no need for that testing.
Aren't those tests for continuous outcomes? I don't think many people use these anymore in the factor analysis context. I never do.
ロバスト推定をすれば、そんなテストはしなくてよいじゃないかという話。結論。