【EZR】主成分分析のやり方や手順、解釈を徹底解説!無料ソフトで簡単にできる!

そら
そら
こんにちは!大学院で統計を学んでいるそらです!

今回は、

  • 主成分分析のやり方が分からない
  • 主成分分析で出た結果をどう解釈すればいいか分からない

という方に、

 

この記事では完全無料のフリーソフト「EZR」を使用して、例題を出しつつ初心者でも分かりやすく主成分分析について解説していきます。

※主成分分析はRやExcel(エクセル)でもできますが、今回は無料統計ツールの「EZR」を使用して、主成分分析の手順を説明しています。

インストールがまだの方はこちらから(※外部のEZRのダウンロードサイトに飛びます)。

 

主成分分析のやり方は、データがあればezrで3ステップでとても簡単にできます。

  1. EZRを開き、データを読み込む
  2. 主成分分析を行う
  3. 結果を解釈

では、詳しく解説していきたいと思います。

0.主成分分析をする前の処理(EZR):データを対数変換

主成分分析の前に、データを対数変換して正規分布にする処理をします。

犬くん
犬くん
絶対やった方がいいの?
他の論文なども見てやっていたらやる方がいいです。
そら
そら

やり方は、

1、データに0があるか見る

2、0があれば値にすべて+1をする(Excelでやってインストールするか計算式で新しい変数を作る)

3、対数変換

そら
そら
対数変換すると正規分布っぽくなるよ!

※「対数」とは、「X=aを何乗したらbになるか」を表しています(X=logab)

データに0がある場合、すべて+1をする

データの値に0がある場合は1をプラスしてから対数変換します。

犬くん
犬くん
1足さないといけないの?
1を足さないと「0=データ無し」とい間違えて分析されてしまう!
そら
そら

1をプラスしても元の値とあっていればいい!1の対数は0となるので、データ自体は変わらない。

犬くん
犬くん
なんで1の対数は0になるの?
そういうものとして覚えておいて!
そら
そら

 

▼アクティブデータセット>変数の操作>計算式を入力して新たな変数を作成する

 

 

▼変数を1つ選択、変数名を入力(今回はsuugaku1にしました)

計算式のところに「データ名+1」

これで0がなくなりました。

対数変換

▼アクティブデータセット>変数の操作>連続対数を対数変換する

 

▼変数:作った変数を選択
対数変換の底:自然対数を選択
変数名は変更してもしなくても良いです。

これで対数変換できました。

 

ヒストグラムを書くとこんな感じ。

▼対数変換の前

▼対数変換の後

犬くん
犬くん
正規分布っぽい!!

この流れを全ての変数にやっていきます。

犬くん
犬くん
えぇっ!全データ1つずつやってくの!?
犬くん
犬くん
めっちゃ面倒!!

面倒なので、データが多い場合はエクセルで対数変換してそのデータをEZRに読み込ませた方が楽です。

 

ちなみに、エクセルで主成分分析もできるけど、

めっちゃ面倒なので初心者はやめておいたほうがいいです。

主成分分析のやり方①EZRを開き、データを読み込む

そら
そら
今回は、例としてテストの点数データ(Excel)をもとに進めていきたいと思います!

 

生徒別の数学、国語、英語、理科、社会の点数

no suugaku kokugo eigo rika syakai
1 31 65 71 52 83
2 79 62 77 57 35
3 84 89 54 32 66
4 25 73 27 53 97
5 65 57 53 63 55
6 45 41 79 73 53
7 25 36 15 83 32
8 23 65 63 23 13
9 21 37 73 42 34
10 57 44 52 61 55
11 62 51 36 80 62
12 15 58 65 99 69
13 65 65 94 82 76
14 94 72 87 52 83
15 72 52 80 57 90
16 42 57 73 62 97
17 13 62 66 67 11
18 11 67 59 72 17
19 19 72 52 77 97
20 17 77 45 82 87
21 92 82 38 87 77
22 77 72 31 92 67
23 62 77 24 97 72
24 47 72 17 82 77
25 32 67 10 87 82
26 17 62 42 92 87
27 2 57 44 97 64
28 13 52 46 42 97
29 28 47 48 56 30
30 43 42 50 70 63
31 58 37 52 84 96
32 73 32 54 98 29
33 88 27 56 12 62
34 13 22 58 29 95
35 18 17 60 62 32

 

そら
そら
EXRを開き、データを読み込みます

 

▼ファイル>データのインポート>Excelデータのインポート

犬くん
犬くん
エクセルデータじゃない場合は該当のデータ形式を選ぼう!

 

 

▼データセット名を変更してokをクリック

 

 

▼読み込みたいExcelのデータを選択して開くをクリック

※データが読み込めない場合は、こちらの記事を参考にしてください。

 

データが読み込まれたかの確認は、「表示」をクリックすると読み込まれているデータが出てきます。

犬くん
犬くん
これでデータがEZRに読み込めた!

主成分分析のやり方②主成分分析を行う

そら
そら
EZRでは標準装備で主成分分析が入っています。
犬くん
犬くん
選択してクリックするだけで簡単に結果が出る!ありがたい!

 

▼標準メニュー>統計量>次元解析>主成分分析

 

 

▼「データ」で変数を選択

今回はno(番号)以外を選択しました。

 

 

▼上のタブを「オプション」に変えて、全てにチェックを入れます。

 

 

▼主成分の数を選択

データ数にもよりますが、3か5辺りが一般的ですが、今回はデータが少ないので2で行います。

okをクリックすると結果が出ます。

 

犬くん
犬くん
これは簡単!!

主成分分析のやり方③結果を解釈

そら
そら
結果が出たので、いよいよ解釈方法についてです!

 

▼下部の出力画面を見ると、結果はこのような感じに。

 

 

▼スクリープロットも出ます。

犬くん
犬くん
・・・これ見ても何がわかるのか分からない!!
詳しい解釈を見ていこう!
そら
そら

1.スクリープロットを見る

まずは、スクリープロットを見てみます。

 

スクリープロットで分かるのは解析対象として第何主成分まで入れるかです。

通常、スクリープロットのグラフでなだらかになる手前までの主成分を解析対象にします。

 

今回の場合は、Comp.1とComp.2の2つを対象にします。

Comp.3を入れるかは個々での判断!書きたい論文の主成分数を参考に決めてください
そら
そら

2.「Component loadings:主成分負荷量」を見る

出力画面のComponent loadings(主成分負荷量)を見ます。

Component loadings:主成分負荷量
Comp.1:第一主成分
Comp.2:第二主成分…

という意味です。

 

主成分負荷量の解釈は、数値が大きいほど各変数が主成分に与える影響力が大きくなります。

基準としては絶対値0.3以上の項目は影響力があると考えられられます。

※絶対値:±を取った値、-3の絶対値は3

 

犬くん
犬くん
「絶対値」が大きいほうが重要!

 

プラスであればあるほど点数が高い、マイナスであればあるほど点数が低いという見方になります。

ますは、Comp.1で絶対値0.3以上の項目を見ます。

 

英語だけ高く、国語、理科、社会はマイナスとなっています。

数学は数値が低いのであまり関係はしていないようです。

 

犬くん
犬くん
じゃあ、このグループは英語が得意だけど国語、理科、社会は苦手なグループだ!

 

となりそうですが、実はもう一つ解釈方法があります。

 

その方法は・・・

 

Comp.1の一列の±を逆転させます!

というのも、主成分分析でのマイナスの値はたまたま逆向きのベクトルになっただけと解釈されるのです。

 

Comp.1の一列の±を逆転させてみると、英語だけマイナスで他はプラスとなります。

この場合は、英語だけ点数が低く、国語、理科、社会は点数が高い

数学は数値が低いのであまり関係はしていないと解釈できます。

 

犬くん
犬くん
国語、理科、社会が得意!英語は苦手なグループだ!

となります。

 

つまり、主成分分析での結果の解釈の仕方として

  1. 英語が得意!国語、理科、社会は苦手
  2. 国語、理科、社会が得意!英語は苦手

の2通りの解釈ができるということです。

 

犬くん
犬くん
2つあるのは良いけど、どっちがいいの?

どちらがいいのかというと、絶対値の高い点数がたくさんある方を選ぶことが多いです。

そら
そら
書きたい結果によってどちらがいいかも変わってきます

 

なので今回は、

Comp.1(第1主成分):国語、理科、社会が得意!英語は苦手なグループ

ということで進めたいと思います。

 

Comp.2も同様に解釈すると、

Comp.2(第2主成分):理解以外オールマイティーに点数を取っているグループ

となります。

 

主成分のネーミングは自分で考えて付けます。

犬くん
犬くん
主成分の名前長くない?
そら
そら
センスが無くてすまん

本当なら理系グループ、文系グループで分かれると思います。

3.「Component variances:各主成分の分散」を見る

Component variancesはスクリープロットと対応しており、解析対象として第何主成分まで入れるかの目安に使います。

そら
そら
スクリープロットでなだらかになる手前までとするか
犬くん
犬くん
このグラフで1以上の主成分をとるか

どちらでも良いですが、今回は2まで取ると決めているので飛ばします。

4.Important of componentsを見る(寄与率など)

そら
そら
上から見ていきます

「Standard deviation:主成分寄与」

主成分寄与とは、その因子が全体のうちどの程度を説明しているかを示しています。

高い値ほどよく説明していると言えます。

犬くん
犬くん
高い値ほど重要!

 

「Proportion of Variance:寄与率」

寄与率とは、主成分1つだけでどのくらいの割合の情報を説明しているかを表しています。

犬くん
犬くん
高い値ほど重要!

 

「Cumulative Proportion:累積寄与率」

累積寄与率とは寄与率を合計した値です。

Comp.1+Comp.2=0.57(57%)となり、

Comp.1とComp.2で全体の57%をカバーできるという意味です。

 

主成分分析の累積寄与率の目安は明確には決まってませんが、~25%くらいでもいいです!

そら
そら
分析したいデータによって違うので、やりたい研究に近い論文を3本くらい読んで同じようにやろう!

5.結論

Comp.1:第一主成分:国語理科社会が得意なグループ
Comp.2:第二主成分:理解以外オールマイティーに点数を取っているグループ

Comp.1とComp.2で全体の57%をカバーできる

というのが分かりました。

犬くん
犬くん
主成分分析の結果が出たら、この後そのデータをもとに分析を行うのかを考えよう

まとめ:EZRでの主成分分析のやり方や手順、解釈

犬くん
犬くん
まとめ!

主成分分析のやり方は、データがあればezrで3ステップでとても簡単にできます。

  1. EZRを開き、データを読み込む
  2. 主成分分析を行う
  3. 結果を解釈

なので、皆さんもぜひ主成分分析で解析してみてください。

関連記事

こんにちは!大学院で統計の勉強をしているそらです! 主成分分析の基本がわからない 本を読んでも数式ばっかりで理解できない 主成分分析って何? という方に、主成分分析とは何がわかるのかや、理論や意味について大学教授[…]

 

大学教授に貸してもらい、分かりやすすぎて自分でも購入したEZRの本

これがあれば一通りの分析ができる!!
新品だと5000円くらいしますが、中古なら1800円くらい(Amazon)で購入できます!
そら
そら
改訂版も出ましたが、今のところこっちでも大丈夫!

スポンサーリンク