No.20620 KMOの数値が大きく逸脱する場合  【太一】 2013/12/07(Sat) 13:50

いつもお世話になります。お伺いします。

主成分分析の適正を調べるために,KMOとMSAをmatlabで計算しました。
データは200pointの時系列データが320因子あるものです(200行:320列)。

これらのデータセットが複数あります。それぞれで計算しました。

結果,KMO,MSAの数値がマイナスだったり,1を大きく超えていたりするデータがあるのですが,

質問としては,
1)マイナスの値や,1以上の値は計算上ありえますか?
2)MSAの結果をもとにデータを再構成しようと思っていますが,MSAを計算が小さい列を削除すすと共に,絶対値が大きく逸脱した(1を大幅に超えるような)でーたも削除すべきでしょうか?

ご教示お願いいたします。

No.20621 Re: KMOの数値が大きく逸脱する場合  【太一】 2013/12/07(Sat) 13:54

追加です。

PCAは,元データを標準化したデータを投入しています(zscore)

この場合,kmoに投入するデータもzscoreしたものと考えて間違いないでしょうか?

No.20622 Re: KMOの数値が大きく逸脱する場合  【太一】 2013/12/07(Sat) 14:09

すみません。

確認の意味でspssでkmoを試してみたところ,

>この行列は正値行列ではありません。

と出ていました。komの計算過程の行列計算が正しく出来ていなかったようです。

そこで因子を半分にしたもの(200行,160列)で再度,matlabでkmoしたところ 0.7以上の数値が出ました。

球面性,共通性などは適正値でして,kmoだけが問題なのですが…
行を増やしてデータの形を整えるべきでしょうか。

No.20625 Re: KMOの数値が大きく逸脱する場合  【青木繁伸】 2013/12/07(Sat) 21:11

> データは200pointの時系列データが320因子あるものです(200行:320列)。

普通,主成分分析では,変数の数<行数でなければなりません。
> 数値がマイナスだったり,1を大きく超えていたり
というのは,必要とする条件を満たしていないという理由からのものではないでしょうか?

また,理論的というか,KMO は因子分析で定義されるものではないかと。

No.20650 Re: KMOの数値が大きく逸脱する場合  【太一】 2013/12/12(Thu) 15:33

青木先生

有り難うございます。

サンプリングレートを変えて,縦長にして,上手く計算できました。

>KMO は因子分析で定義される

世界的に引用されまくっているある論文において,KMOを主成分分析に於けるデータ適合性の指標として用いているものがあり,それに倣って計算していました。
因子分析ではKMO適応だが,主成分分析で不適,とのご教示で,大変重要なご教示を頂き,気にはなるのですが,やっと主成分分析について分かってきたところですので,ちょっと尻込みです。

● 「統計学関連なんでもあり」の過去ログ--- 046 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る