狠狠撸

狠狠撸Share a Scribd company logo
データ解析 第8回
2018年6月7日 八谷 大岳
1
講義内容
6
数学の復習
機械学習の基礎
内容:
7
? 主成分分析による次元削減
? 寄与率
? 累積寄与率
? 主成分分析によるデータ分析
? 主成分得点
? 主成分負荷量
? 主成分分析の実装方法
? Pythonによる実装
寄与率と固有値
8
? 寄与率:主成分軸がデータをどれくらい説明できるかを表す
主成分軸????の寄与率 主成分軸の固有値????の
固有値の総和に対する割合
????
∑??=1 ????
× 100[%]
英
語
A
B
C D
E
F
H
GJ
I
0 2 4 6 8 10
10
8
6
4
2
数学 ??1
第2主成分軸??2
第1主成分??1
??1 = 5.45
??2 = 0.87
主成分軸??1の寄与率=
5.45?100
5.45+0.87
= 86.2[%]
主成分軸??2の寄与率=
0.87?100
5.45+0.87
= 13.8[%]
データが第1主成分軸??1に沿って分布しているため、
第1主成分軸??1だけでもデータの86.2%を説明できる。
演習1
9
? 以下の分散共分散行列の第1主成分軸??1の固有値が
??1 = 77.6だった。第1主成分軸の寄与率を求め、考察しなさい。
? タイトル「演習レポート」、日付、学生番号、氏名を用紙の一番
上に記載
?? =
????1 ??1
????1 ??2
????2 ??1
????2 ??2
=
74 10
10 50
内容:
11
? 主成分分析による次元削減
? 寄与率
? 累積寄与率
? 主成分分析によるデータ分析
? 主成分得点
? 主成分負荷量
? 主成分分析の実装方法
? Pythonによる実装
累積寄与率
12
? 第m主成分軸までの固有値和の総和に対する割合
??1+??2+?+?? ??
∑??=1 ????
× 100[%]
英
語
A
B
C D
E
F
H
G
J I
0 2 4 6 8 10
10
8
6
4
2
数学 ??1
第2主成分軸??2
第1主成分??1
??1 = 5.45
??2 = 0.87
第1主成分軸の寄与率=
5.45?100
5.45+0.87
= 86.2[%]
第2主成分軸の寄与率=
0.87?100
5.45+0.87
= 13.8[%]
第2主成分軸の累積寄与率
=
5.45+0.87 ?100
5.45+0.87
= 100[%]
第1主成分軸の累積寄与率
=
5.45?100
5.45+0.87
= 86.2[%]
累積寄与率と次元削減
13
? 累積寄与率を次元削減後の次元数の判定に用いる
? 累積寄与率が80%以上で、出来るだけ低い次元数を選択する
英
語
A
B
C D
E
F
H
G
J I
0 2 4 6 8 10
10
8
6
4
2
数学 ??1
第2主成分軸??2
第1主成分??1
第1主成分軸の累積寄与率
=
5.45?100
5.45+0.87
= 86.2[%]
第1主成分軸の累積寄与率が80%以上
なので、次元数「1」を選択
【1次元に次元削減後の散布図】
【元のデータの散布図】
第1主成分軸
に正射影
第1主成分軸
EJFAB
D H G
I
C
累積寄与率と次元削減2
14
? 高次元の場合の例:
? 累積寄与率が80%以上で、増加がなだらかになる次元数を選択
主成分 1 2 3 4 5
固有値 177.3739 48.48755 16.09258 11.39074 9.596468
寄与率 67.46% 18.44% 6.12% 4.33% 3.65%
累積寄与率 67.46% 85.90% 92.02% 96.35% 100.00%
0
20
40
60
80
100
120
140
160
180
200
1 2 3 4 5
固有値
主成分軸
5次元のデータを、2または3次元に次元削減しても、
十分に元のデータを説明できる
演習2
15
? 主成分分析した結果以下の固有値が得られた。
1. 各主成分軸の寄与率と累積寄与率をそれぞれ求めなさい
2. 累積寄与率に基づき、次元削減する次元数を選定しなさい
? タイトル「演習レポート」、日付、学生番号、氏名を用紙の一
番上に記載
??1 = 50.46、??2 = 16.65、 ??3 = 3.88、 ??4 = 1.00
内容:
17
? 主成分分析による次元削減
? 寄与率
? 累積寄与率
? 主成分分析によるデータ分析
? 主成分得点
? 主成分負荷量
? 主成分分析の実装方法
? Pythonによる実装
主成分得点
18
? データ点??の第??主成分得点:????
を主成分軸????に正射影した値????
? 主成分得点の例:
原点(平均) 主成分軸????
????
????
??
????=???? ????
A B C D E F G H I J
数学??1 2 1 2 3 5 4 8 6 7 4
英語??2 3 4 2 2 4 4 5 3 6 5
第1主成分軸:???? = 0.92,0.39 ??
第2主成分軸:???? = ?0.39,0.92 ??
平均:??? = 4.2,3.8 ??
データ点Aのデータ第1主成分得点
= 0.92,0.39
2 ? 4.2
3 ? 3.8
= ?2.338
データ点Aのデータ第2主成分得点
= ?0.39,0.92
2 ? 4.2
3 ? 3.8
= 0.117
第1主成分軸:???? = 0.92,0.39 ?? 「英語よりもどちらかというと数学が得意」
第2主成分軸:???? = ?0.39,0.92 ??
「数学は苦手、英語が得意」
数学が苦手 英語の方がやや得意
1)固有ベクトルに基づき各主成分軸に意味を付ける
2)主成分得点を計算し、データ点の性質を分析
主成分得点表と散布図
19
? 主成分得点表を作成し、
散布図を作成する
主成分得点
第1 第2
A -2.3380 0.1173
B -2.8711 1.4272
C -2.7264 -0.8042
D -1.8049 -1.1926
E 0.8149 -0.1264
F -0.1066 0.2620
G 3.9678 -0.3701
H 1.3480 -1.4363
I 3.4347 0.9398
J 0.2818 1.1835
英
語
A
B
C D
E
F
H
G
J
I
0 2 4 6 8 10
10
8
6
4
2
数学 ??1
第2主成分軸??2
第1主成分??1
??1 = 5.45
??2 = 0.87
【元のデータの散布図】
第
2主
成
分
得
点
-3 -1.5 0 1.5 3 4.5
B
A
C
D
E
F
G
H
第1主成分得点
I
J
-1.5
1.5
-0.5
0.5
【主成分得点の散布図】
どちらも苦手
平均的、
どちらかというと英語
平均的、どちらかというと数学
どちらも得意
数学苦手、英語が得意
演習3
20
1. 主成分得点表を作りなさい。
2. 各主成分軸に意味をつけなさい。
3. 主成分得点の散布図を作り、データをグループ分けし、
各グループの特性を分析しなさい。
? タイトル「演習レポート」、日付、学生番号、氏名を用紙の一
番上に記載
A B C D E
数学??1 50 70 65 60 75
英語??2 85 75 80 70 90
第1主成分軸:???? = ??. ????, ??. ???? ??
第2主成分軸:???? = ???. ????, ??. ???? ??
平均:??? = ????, ???? ??
内容:
22
? 主成分分析による次元削減
? 寄与率
? 累積寄与率
? 主成分分析によるデータ分析
? 主成分得点
? 主成分負荷量
? 主成分分析の実装方法
? Pythonによる実装
主成分負荷量
23
? 主成分軸????、 ????は、データの単位や値の範囲の影響を受ける
? 主成分軸の解釈が難しい
? 主成分負荷量:主成分スコアと元のデータとの相関係数
? 単位や値の範囲の影響を受けないため主成分軸の解釈がしやすい
? 主成分負荷量の例
A B C D E F G H I J
数学??1 2 1 2 3 5 4 8 6 7 4
英語??2 3 4 2 2 4 4 5 3 6 5
A B C D E F G H I J
第1主成分??1 -2.34 -2.87 -2.73 -1.8 0.81 -0.11 3.97 1.35 3.43 0.28
第2主成分??2 0.12 1.43 -0.80 -1.19 -0.13 0.26 -0.37 -1.44 0.94 1.18
【元のデータ】
【主成分得点】
?????? =
??????
?????? ??????
相関係数:
第1主成分??1 第2主成分????
数学??1 0.986 -0.166
英語??2 0.726 0.688
第1主成分???? 第2主成分????
数学??1 0.92 -0.39
英語??2 0.39 0.92
【固有ベクトル】
【主成分負荷量】
英語との相関も高い。
「英語と数学どちらも得意。どちらかというと数学」
英語の値が低いので、英語の影響が
少ない印象。「数学が得意」
主成分負荷量の可視化
24
? 変数が多いと、主成分負荷量による解釈も難しくなる
? 主成分負荷量は-1~+1の値をとるため、以下の
レーダチャートを使うと解釈がしやすい
第1主成分??1 第2主成分????
数学??1 0.986 -0.166
英語??2 0.726 0.688
【主成分負荷量】
第1主成分??1
第2主成分??2
0?1 1
?0.5 0.5
1
?0.5
0.5
?1
第1主成分軸??1:数学と英語の両方がプラスなので、「数学と英語どちらも得意。どちらかというと数学」
第2主成分軸??2:英語がプラスで、数学がマイナスなので、「英語が得意だが数学は苦手」
数学??1
英語??2
演習4
25
1. 主成分負荷量を求めなさい。
2. レーダーチャートを作成し、各主成分軸の意味を考察しなさい。
? タイトル「演習レポート」、日付、学生番号、氏名を用紙の一番上
に記載
A B C D E
数学??1 50 70 65 60 75
英語??2 85 75 80 70 90
第1主成分軸:???? = ??. ????, ??. ???? ??
第2主成分軸:???? = ???. ????, ??. ???? ??
平均:??? = ????, ???? ??
【元のデータ】
【主成分得点】
A B C D E
第1??1 -11.46 3.94 0.94 -7.17 13.75
第2 ??2 9.47 -6.74 -0.34 -8.04 5.66
内容:
27
? 主成分分析による次元削減
? 寄与率
? 累積寄与率
? 主成分分析によるデータ分析
? 主成分得点
? 主成分負荷量
? 主成分分析の実装方法
? Pythonによる実装
Pythonによる主成分分析の実装例
28
? 数値演算ライブラリNumpyを用いた主成分分析の実装
データの作成
データの中心化
共分散行列の作成
固有値問題を解く
【実行結果の例】
データと主成分軸のプロット
平均値
分散共分散行列
固有値
固有ベクトル
主成分得点
主成分負荷量
次回(6月14日)は中間テスト
29
? これまでの内容をちゃんと復習してください。
? 課題の解答説明:10分
? 中間テスト:50分
? 中間テストの解答説明:30分
課題1
30
1. 中心化したデータの分散共分散行列を求め、固有値と固有ベクトルを
求めなさい。
2. 第1?第2主成分軸の式を求めて、データとともにグラフに描きなさい。
3. 第1?第2主成分の寄与率と累積寄与率を求めなさい。
4. 累積寄与率に基づき、次元削減後の次元数を選定し、次元削減後の
データをグラフに描きなさい。
5. 主成分得点表と散布図を作りなさい。
6. 主成分負荷量を求め、各主成分軸に意味付けをし、5の散布図上の
データ点(または、点のグループ)、それぞれの特性を分析しなさい。
英語 ???? 数学????
A 5 8
B 5 5
C 7 4
D 7 5
レポートの提出方法
31
? 演習レポート:
? タイトル「演習レポート」、日付?学生番号?氏名を用紙の一番上に記載
? 課題レポート :
? タイトル「課題レポート」、出題日?学生番号?氏名を用紙の一番上に記載
? 2ページ以上になる場合は、ホッチキス留め
? A4サイズの用紙を使用
? 一度に複数の課題レポートを提出する場合出題日ごとに別々に綴じる

More Related Content

データ解析8 主成分分析の応用