2021/12/10, itpass セミナー

主成分分析入門
高橋芳幸 (神戸大学大学院理学研究科)

1目次• はじめに• 主成分分析 ー 定性的な説明• 主成分分析 解説• 主成分分析例

2

はじめに• 主成分分析は, 多次元のデータの概要を把握するために用いられる手法.
• 主成分分析 = Principal Component Analysis (PCA)• 多次元のデータから, ばらつきの大きな向き (軸) を探す• 結果としてデータの概要を把握することが容易になる (こともある)• 利用例• 機械学習• 「次元削減」• 教師なし学習に分類されている.

• 大気海洋• 「EOF 解析」(EOF = Empirical Orthogonal Function; EOF)
• 気象学・海洋学の方言らしい• 大気構造の抽出に用いられている.

• 今回は, 主成分分析の基礎について紹介する.
3

大気の解析における例
北極振動• 地球の北半球における冬季の高緯度大気の年々変動において卓越する構造• 北極域と中緯度の圧力がシーソーのように振動, のようにしばしば表現される.

• 大気の話はこれだけ.
• 「大気の変動に適用してみました」 な話は 1/12(水) 16:00 に神戸のセミナーで予定.
• もし興味があれば連絡してください. 接続先をお知らせします.

北半球の冬季の海面更生気圧 (を 1000 hPa 圧力面のジオポテンシャル高度の変動に変換したもの) における経験的直交関数 (EOF) 第一モード.
(Thompson and Wallace, 1998)4

主成分分析－定性的な説明• 3 変数の値の組 𝑁 個
𝑥1,1 , 𝑥2,1 , 𝑥3,1 , 𝑥1,2 , 𝑥2,2 , 𝑥3,2 ,⋯ , 𝑥1,𝑁 , 𝑥2,𝑁 , 𝑥3,𝑁を考える.
• ただし, 平均を引いてある.
• 例えば,• あるクラスの生徒の算数と理科と英語の点数• 圧力, 温度, 比湿• …
5主成分分析－定性的な説明

ぐるぐる回して様々な角度から確認しないと分布の概要がわからない.
6(この例は 3 変数 (次元) なのでまだマシだが.)主成分分析－定性的な説明データがばらついている方向を探す.
7

主成分分析－定性的な説明

データのばらつきが最も大きい視点から分布を確認/描画.
そして, ばらつきの大きな軸に対して射影.
4 次元以上でも同様.

8

主成分分析 解説 (2 次元)

11

主成分分析 解説 (2 次元)

12主成分分析 解説 (2 次元)

13

主成分分析 解説 (2 次元)

14

主成分分析 解説 (2 次元)

15

主成分分析 解説 (2 次元)

16

主成分分析 解説 (2 次元)

17主成分分析 実装• 今回は, 分散共分散行列の固有値問題を LAPACK の DSYEV サブルーチン(倍精度実対象行列の固有値, 固有ベクトルを計算) を用いて解く.
• LAPACK - Linear Algebra PACKage• 数値線形代数計算のための Fortran ライブラリ• debian ならば liblapack-dev パッケージで利用可能• コンパイル例$ gfortran –I /usr/lib/x86_64-linux-gnu/lapack ¥–L /usr/lib/x86_64-linux-gnu/lapack ¥-o pca pca.f90 -llapack• なお, 分散共分散行列の固有値問題を解く代わりに, データを収めた行列(サンプル数×変数の数) を特異値分解して特異値と特異ベクトルを求めることも等価である.
• 補足• 「主成分分析」「ワイン」などの単語を使って検索すると, Python や R を使った分析の解説をたくさん見つけることができる.

18

主成分分析例

19

主成分分析例
• あやめの種類• (赤)ワイン成分20

主成分分析例 : あやめ
データの情報• Fisher,R.A. "The use of multiple
measurements in taxonomic
problems" Annual Eugenics, 7,Part II, 179-188 (1936); also in"Contributions to MathematicalStatistics" (John Wiley, NY, 1950).
• 取得元• Dua, D. and Graff, C. (2019). UCI
Machine Learning Repository[http://archive.ics.uci.edu/ml].
Irvine, CA: University of California,
School of Information and Computer
Science.
• https://archive.ics.uci.edu/ml/datas
ets/Iris• 変数• がくの長さ (cm)
• がくの幅 (cm)
• 花弁の長さ (cm)
• 花弁の幅 (cm)
• 種類
• Iris setosa (ヒオウギアヤメ)• Iris Versicolour (ブルーフラッグ)• Iris Virginica• サンプル数 : 15021

あやめの構造https://camo.qiitausercontent.com/a736bf6c242152ac2d4e365786b024040ca43247/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3433363038382f653335306238
22主成分分析例 : あやめ
分析の方針• がく, 花弁の長さと幅で, あやめの種類を分類できそうか?
• がく, 花弁の長さと幅を「説明変数」として標準化して用いる.
• 種類は「目的変数」扱い.

• 用語の説明 (機械学習用語)• 説明変数：予測に使う変数• 目的変数：予測する変数

23

データ概観 124

データ概観 2
がくの長さ
あやめの種類は,花弁の長さや幅に対して比較的わかりやすく分布.
がくの幅にはほぼ依らない.

がくの幅

花弁の長さ花弁の幅

がくの長さ

がくの幅

花弁の長さ

花弁の幅

25

主成分分析結果
• あやめの種類は,• 第 1 主成分に対して比較的わかりやすく分布.
• すべて綺麗に分かれるわけではな
さそうだけど• 第 2 主成分にあまり依存しない.

26

主成分分析結果
• 花弁の長さ, 幅は第 1 主成分とほぼ平行• がくの幅と第 1 主成分はほぼ直交• 元データから予想できる結果(なので安心).

27

主成分分析結果
1

このデータは, 第 1 主成分に対してあやめの種類が広く分布.
高次主成分に対しては,あやめの種類はほぼ依らない.

主成分

234主成分

123428主成分分析例 : (赤)ワイン
データの情報• P. Cortez, A. Cerdeira, F. Almeida, T. Matosand J. Reis. Modeling wine preferences bydata mining from physicochemical properties.
In Decision Support Systems, Elsevier,47(4):547-553, 2009.
• 取得元• https://archive.ics.uci.edu/ml/datasets/Wine+Quality• ただし, 今回使うのは赤ワインのデータのみ.

• 参考ページ• https://tjo.hatenablog.com/entry/2015/11/26/1
90000• https://sudillap.hatenablog.com/entry/2013/04/
27/203200

• 変数
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

fixed acidity (酒石酸濃度)
volatile acidity (酢酸濃度)
citric acid (クエン酸濃度)
residual sugar (残糖濃度)
chlorides (塩化ナトリウム濃度)
free sulfur dioxide (遊離SO2濃度)
total sulfur dioxide (総SO2濃度)
density (密度)pHsulphates (硫化カリウム濃度)
alcohol (アルコール度数)
quality (質; 0-10)• サンプル数 : 1599
• 今回使わない白ワインデータのサンプル数は 4898.

29主成分分析例 : (赤)ワイン
分析の方針• ワインの成分で, ワインの質を分類できそうか?
• ワインの成分「説明変数」として標準化して用いる.
• 質は「目的変数」扱い.

30

データ概要

6

説明変数
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

7

目的変数

12
3

説明変数

45

fixed acidity (酒石酸濃度)
volatile acidity (酢酸濃度)
citric acid (クエン酸濃度)
residual sugar (残糖濃度)
chlorides (塩化ナトリウム濃度)
free sulfur dioxide (遊離SO2濃度)
total sulfur dioxide (総SO2濃度)
density (密度)pHsulphates (硫化カリウム濃度)
alcohol (アルコール度数)

quality (質; 0-10) [色付け]89

いくつか特徴はあるが, たくさんあってよくわからない

1011

説明変数

123456789101131

主成分分析結果
• ワインの質 (色) は, 第 2 主成分の方向に広がっているように見える.
• 主成分第 1 モードの方向にはほぼ依らないように見える.

• しかし, 第 2 主成分に対してワインの質は重なりが大きい.

32

主成分分析結果
123主成分

4567

たくさんあってよくわからない

891011

主成分 123456789101133

主成分分析例 : (赤)ワイン
分析の方針• ワインの質に貢献する成分は何か?
• ワインの成分と質を「説明変数」として標準化して用いる.

34

主成分分析結果
• ワインの質の軸は, 第 2 主成分の方向.
• ワインの質の軸 (~第 2 主成分) に近い向きの軸• アルコール• 遊離SO2濃度• 総SO2濃度… 結局酔えばいいってこと?
(ではないということだろう)
35

まとめ• 主成分分析は, 多次元のデータの概要を把握するために用いられる手法であり, 機械学習や大気海洋の業界で用いられている.
• 大気海洋では「EOF 解析」と呼ばれており, 北極振動などの発見に利用された.

• 主成分を求めるためには, データの分散共分散行列の固有値問題を解けばよい.
• あやめと赤ワインのデータの分析例を示した.

• 主成分分析によって必ずしも求めたいものが得られるとは限らない.
しかし, データの分布において主要な役割を果たす要因に関する手掛かりが得られる (こともある).
• EOF 解析 (大気データの解析例) については別のセミナー (1/12(水)16:00) で紹介したい.
36