今回は前回に引き続き、牛乳乳製品生産動向のデータの主要乳製品の生産量を因子分析したいと思います。
前回までのR言語のコマンドを書くと以下のようになります。
# 牛乳乳製品生産動向 主要乳製品生産量
milk <- read.csv("milk.csv")
head(milk)
# 生産量だけのデータフレーム
生産量 <- milk[ , c(2,4,6,8,10,12,14,16)]
head(生産量)
# 生産量どうしの相関係数
round(cor(na.omit(生産量)),2)
第1グループ:バター、脱脂粉乳
第2グループ:れん乳類、全紛乳、調整紛乳
第3グループ:チーズ、クリーム
その他:アイスクリーム
という4つのグループにわけられそうだな~~と思ったのでした。
今回は因子分析で検証してみようと思います。
因子分析はfactanal関数です。
NAが入っていると計算できないので、na.omit(生産量)としてNAのデータを削除しています。出力するときに、小さい値のものも出力するようにprint関数でcutoff=0としています。
p-value is 0.129 > 0.05 ですから、因子数は4で十分(またはそれ以上)であることを示しています。
この画像の一番下の列を見ると、Cumulative Var とあります。Factor1で0.544です。これはFactor1で説明される各データの分散の割合が54.4%であることを示しています。
Factor4までで97%の分散が説明できるということになります。
Loadingsの部分のマトリックスを作成してFactorごとに並び替えでみましょう。
まずは、Factor1の大きい順に並び替えます。
全紛乳、練乳、調整紛乳の3つが0.9以上ですね。Factor1はこれらのグループの因子という位置づけです。
Factor2で並び替えます。
バターと脱脂粉乳が値が0.8以上ですね。Factor2はこれらのグループの因子ですね。
Factor3で並び替えます。
アイスクリームが0.925と高いですね。Factor4はアイスクリーム因子ですね。
Factor4で並び替えます。
チーズが一番大きく、クリームが一番小さいです。解釈が難しいですね。因子分析、まだ勉強し始めたばかりなので難しいです。
今回は、因子分析に挑戦してみました。R言語のfactanal関数で簡単にできます。