crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

牛乳乳製品の生産動向分析3 - 主要乳製品を因子分析(factanal関数)

今回は前回に引き続き、牛乳乳製品生産動向のデータの主要乳製品の生産量を因子分析したいと思います。

前回までのR言語のコマンドを書くと以下のようになります。


# 牛乳乳製品生産動向 主要乳製品生産量
milk <- read.csv("milk.csv")
head(milk)

f:id:cross_hyou:20180815152317j:plain

 


# 生産量だけのデータフレーム
生産量 <- milk[ , c(2,4,6,8,10,12,14,16)]
head(生産量)

 

f:id:cross_hyou:20180815152337j:plain


# 生産量どうしの相関係数
round(cor(na.omit(生産量)),2)

f:id:cross_hyou:20180815152358j:plain

この相関係数マトリックスを眺めていたら、なんだか、

第1グループ:バター、脱脂粉乳

第2グループ:れん乳類、全紛乳、調整紛乳

第3グループ:チーズ、クリーム

その他:アイスクリーム

という4つのグループにわけられそうだな~~と思ったのでした。

今回は因子分析で検証してみようと思います。

因子分析はfactanal関数です。

f:id:cross_hyou:20180815153128j:plain

NAが入っていると計算できないので、na.omit(生産量)としてNAのデータを削除しています。出力するときに、小さい値のものも出力するようにprint関数でcutoff=0としています。

p-value is 0.129 > 0.05 ですから、因子数は4で十分(またはそれ以上)であることを示しています。

f:id:cross_hyou:20180815153648j:plain

この画像の一番下の列を見ると、Cumulative Var とあります。Factor1で0.544です。これはFactor1で説明される各データの分散の割合が54.4%であることを示しています。

Factor4までで97%の分散が説明できるということになります。

Loadingsの部分のマトリックスを作成してFactorごとに並び替えでみましょう。

f:id:cross_hyou:20180815154848j:plain

まずは、Factor1の大きい順に並び替えます。

f:id:cross_hyou:20180815155558j:plain

全紛乳、練乳、調整紛乳の3つが0.9以上ですね。Factor1はこれらのグループの因子という位置づけです。

Factor2で並び替えます。

f:id:cross_hyou:20180815155841j:plain

バターと脱脂粉乳が値が0.8以上ですね。Factor2はこれらのグループの因子ですね。

Factor3で並び替えます。

f:id:cross_hyou:20180815160108j:plain

アイスクリームが0.925と高いですね。Factor4はアイスクリーム因子ですね。

Factor4で並び替えます。

f:id:cross_hyou:20180815160358j:plain

チーズが一番大きく、クリームが一番小さいです。解釈が難しいですね。因子分析、まだ勉強し始めたばかりなので難しいです。

今回は、因子分析に挑戦してみました。R言語のfactanal関数で簡単にできます。