こんにちは、けーぷろです!
統計学から機械学習を大学で学んだことをブログで紹介しています。あまり馴染みのないデータ分析ですが、需要はかなりある分野なので勉強しようと思っている人も多いはず。
そこで今回はデータ分析の方法である主成分分析を解説して行きたいと思います!
データ分析のツールとしてRstudioを使うので、まだインストールしていない方はこれを見てインストールしてください!
目次
今回使うデータ
今回は使うデータは私が作った「一郎兄弟の5教科のテストの点数」です笑

Rstudioにデータセットしよう
データセットについて詳しく解説しているので、分からない人はこちらを見てください!この記事はデータ加工まで説明しているので、今回はする必要ないです!test2のデータをダウンロードして下記のコマンドを入力するだけでデータセットできるようにしました!
CSVデータとRstudioのスクリプトは同じファイルに保存してください

このコマンドを入力するとデータセットが完了します!
データセットできたらデータ分析をしてみましょう!
主成分分析って何??
今回の「一郎兄弟5教科テストの点数」を例にすると、7人の5教科テストの点数を見ても一人一人にどういった特徴があるのかすぐに分からないですよね。
しかし、主成分分析をすると一瞬でデータの特徴を見れます!
今回は7人ですが、もし100人の5教科のテストの点数を見せられた場合誰がどのような特徴があるのかって一瞬で分からないと思います。
分からない原因がデータ量が多いからです!
二次元化と言うのは、xとyの二つにする考え方で「国語、数学、英語、理科、社会」の5つの次元を「スコア1、スコア2」のように2つで表すことを意味します。
スコア1やスコア2をそれぞれ「第一主成分、第二主成分」と言います。この計算の仕方は覚えなくていいです。
第一主成分・・扱うデータの中で一番失いたくない情報
第二主成分・・二番目に失いたくない情報
第一主成分と第二主成分の説明は砕いて説明するとこんな感じです笑
調べるともっと細かい所まで説明している方がいるので参考にしてみてください。
説明は以上で実際にデータを使って主成分分析の凄さを実感しよう!
主成分分析のやり方
install.packageとlibraryを使おう

主成分分析を使うにはライブラリをRにインストールする必要があります
インストールの仕方は簡単でチャンクにinstall.packages(“ライブラリ名”)でインストールできます。主成分分析はFactoMineRです。
インストールしたらライブラリを使うためにlibrary(ラブラリー名)を実行する必要があります。これをしないと使えないので、使いたい場合は実行しましょう!
実行の仕方はチャンクの右にある緑矢印を押すと実行できます。
主成分分析をしよう

主成分分析のコードは
変数(何でも良いです)<-PCA(データ名)
これだけで大丈夫です!
それでは変数を入力して主成分分析の中身をみてみましょう!
主成分分析の図
実行したら2つの図が出たと思います!
この二つが何か簡単に説明しますね

第一主成分と第二主成分によって一郎兄弟がどの辺に位置するかを表しています!
5教科が第一主成分と第二主成分に分けたのを表している図です!
矢印の先にいる位置に注目しましょう

考察の仕方!
この二つの図を見て何がわかるねん!ってなると思うので考察の仕方を教えます笑
まずは、第一主成分と第二主成分が何を表しているのかを確認します
第一主成分と第二主成分を確認する

第一主成分は横軸で第二主成分は縦軸を表しています!
右にいけば数値が大きくなるので第一主成分は強くなります。上にいけば第二主成分が強いことを表しています。
ここで矢印がどの位置にあるのかを見ましょう!
第一主成分・・国語、社会、英語(文系の教科)
第二主成分・・国語、数学、社会、英語、理科(全教科)
第一主成分は文系教科で第二主成分は全教科を表していることがわかりました。
これを一郎兄弟に当てはめると特徴を見ることができるのです!
特徴を見てあげる

右にいけばいくほど、文系科目が強いことを表していて、上にいけばいくほど、全教科の点数が高いことを表しています。
第一主成分と第二主成分を使って一人ずつの特徴を見てみましょう!
- 一郎・・二番目でトータル成績が高い。理系科目は強い
- 次郎・・全教科の成績はかなり低いが、文系教科は強い
- 三郎・・全教科の成績は3番目で理系科目が一番高い
- 四郎・・一番アホ
- 五郎・・全教科の点数は普通でどっちかというと理系より
- 六郎・・テストの点数は平均よりだが、文系科目が得意
- 七郎・・全教科賢くて、7人の中で文系科目が一番点数高い
一郎兄弟の一人一人の特徴が確認することができました。
これだけの情報で一郎兄弟を文系と理系に分けることができます。
応用すると、学校の300人のテストデータがあれば主成分分析を使うことによって一瞬で誰が理系か文系なのかを判断することができます。
最後に
今回は7人なのでExecelデータからでも考察できますが、これが100人となったらExeclでは確認できないです。
その時に役に立つのが主成分分析です!!
主成分分析はデータ分析で使う場面が多いので、使いこなそうと思うと少し線形結合式とかの理解が必要ですが、身近のデータを分析するだけなら今回の知識だけで使えると思います。
主成分分析を使って大量のデータを次元縮約しましょう笑
以上で終わります!ありがとうございました。
このデータ量を二次元化にして見やすいようにしたのが主成分分析なのです!