データ解析特論第 1 回 ~( 全 15 回 ) 2014 年 4 月 10 日 ( 木 ) 情報エレクトロニクス専攻横田孝義 1
を先に集中してやります 2
を勉強します 3
データマイニングの分野ではマクロ ( 巨視的 ) な視点で全体を捉える能力が求められる 1. コンピュータは数値の集合として全体を把握していますので 意味ある情報として全体を見ることが不得意 2. 逆に人間には もともと空間的に全体像を捉える能力が得意 人間はこういう写真を見ると瞬間的に内容が理解できる 青空 木 草地 傾斜 紅葉 季節は秋など空間をうまくグループ化して認識している コンピュータでそれを行うのは非常に大変 4
主成分分析 (PCA: Principal Component Analysis) 別名 :KL 展開 (Karhunen-Loeve 展開 ) データを少ない成分であらわすこと例 :100 次元空間のデータを10 次元空間のデータで表したい これによって データ圧縮が可能 少ない次元で表せれば保存するデータが少なくて済む データの見通しが良くなる 分析が進む 5
例えば セ リーグ打撃ランキング OPS: On-base plus slugging 長打率 + 出塁率 RC27(Runs Created per 27 outs) は RC を元にある特定の選手 1 人で構成された打線で試合を行った場合 27 アウト (9 イニング 3 アウト =1 試合 ) で平均何点とれるかを算出した指標 XR27 (extrapolated Runs per 27 outs) ある打者が一人で打線を組んだ場合の1 試合 (27アウト) あたりの得点数 アウトにならない間にいかに得点数を稼ぐかという野球の形式が表されており アウト数で標準化されているので出場数の異なる複数の打者の得点創出能力を比較するような場合 XRの値そのままよりもこちらのほうが適切 6
例えば セ リーグ打撃ランキング 1) どの選手がどんな能力があって どんなタイプの選手か全要素を使って説明できるか? 2) 似た選手を探したり グループ分けできるか? 打撃成績 ( 規定打席以上 ) のデータは 24 サンプルで 18 要素に過ぎない 24x18 の画像と言ったら こちらは 800x600 画素 432 画素 48 万画素 無理やり画像にするとこのような画像に対応 人間にはさっぱりわからない コンピュータなら空間に分けてもらう その後 人間が認識すればいい 100 倍以上の画素があるが 人間は内容が理解できる 青空 木 草地 傾斜 紅葉など 7
例えば セ リーグ打撃ランキング OPS: On-base plus slugging 長打率 + 出塁率 RC27(Runs Created per 27 outs) は RC を元にある特定の選手 1 人で構成された打線で試合を行った場合 27 アウト (9 イニング 3 アウト =1 試合 ) で平均何点とれるかを算出した指標 XR27 (extrapolated Runs per 27 outs) ある打者が一人で打線を組んだ場合の1 試合 (27アウト) あたりの得点数 アウトにならない間にいかに得点数を稼ぐかという野球の形式が表されており アウト数で標準化されているので出場数の異なる複数の打者の得点創出能力を比較するような場合 XRの値そのままよりもこちらのほうが適切 8
主成分の例 この 2 つの重みベクトル ( 主成分 ) で全現象の 58% が説明できる 固有値の分布実質 18 次元は無い 9
各主成分を用いて各データ ( 各選手 ) を表現 傾向がわかりやすくなる 第 2 主成分着実度? コツコツ度 第 1 主成分 打撃能力? 10
体重 w z2 z1 重い 軽い 身長 h 低い 高い 主成分 z1 軸 : 身長と体重がともに動く成分 体の大きさの軸 ( これでかなり説明できる ) 主成分 z2 軸 : z1 軸で説明しきれない成分を説明 肥満度の軸 11
体重 z2 z1 重い 軽い 情報損失量 身長 低い 高い 情報の損失を出来るだけ小さいまま データの持つ特徴を主成分で表す 例えば 主成分 2 の情報を無視して主成分 1 の情報だけにすれば肥満度の情報が失われる そこで 情報量損失を最小に抑えるような主成分のベクトルを決定していくのが主成分分析である このような主成分のベクトルは各々が直交する 12
多変数の場合も同様 主成分分析とは P 個の変数 の持つ情報を情報の損失を最小に抑えながら の一次結合として与えられる互いに独立な M(M<P) 個の主成分 すなわち 総合的指標 を用いて表現する手法である は 第 m 主成分と呼ばれる 結合係数これをどうやって求めるか? 13
第 m 主成分 結合係数これをどうやって求めるか? --- 条件 --- 第 1 主成分 z 1 の分散は分散の中で最大であること そして 第 m 主成分 z m の分散は 無相関な一次式の持つ分散の中で最大である のあらゆる一次式の持つ の全てと ただし とする 14
例えば 体重 z 1 = 身長 x0.8+ 体重 x0.6 この主成分の分散が最も大きいので第一主成分である 身長 15
主成分の導出 P 個の変数について N 個のサンプルがある場合を考える 主成分の分散が最大になるように主成分を決定する 各変数の平均値を として 平均値からの偏差を導入する 観測データ全体は以下の行列で表される n サンプル p 項目 16
主成分の導出 第 1 主成分は その結合係数を とし データサンプルのベクトルを とすると すなわち n 番目のデータサンプル に対応する第 1 主成分 Z 1 の値 t n1 は で表される 17
主成分の導出 これを第 1 主成分得点 これを N 個のサンプル分のベクトルとしてまとめると となる 一方 なので が成り立つ 18
主成分の導出 ここで 第 1 主成分得点の平均値 を計算してみると ここで 第 1 主成分 z 1 の分散は なので 共分散行列で非負定値行列 Positive Definite 要素は 19
主成分の導出 第 1 主成分は分散を最大にするように決めなければならない Lagrange の未定定数法の登場 とおき これを最大化するような結合係数ベクトルを求めれば良い 20
主成分の導出 すなわち J1 を w1 で偏微分してそれを 0 とおく 固有値問題に帰着する 21
主成分の導出 なので を解く 最大固有値を とした場合の対応する固有ベクトルが である 以下 固有値の降順に固有ベクトルを求めていく 22
データの標準化 単位の異なる変数大きく分散の異なる変数 分散の大きな変数の影響を受けやすい 各変数の分散が 1 平均値が 0 となるように標準化する 観測値 をそのまま使うのではなく 平均値 を使う 標準偏差 23
データの標準化 このようにして標準化を行った後に共分散行列は相関行列になる ここで 標準化されたデータの行列 24
寄与率と因子負荷量 寄与率 主成分分析とは : 少ない数の総合的指標 ( 主成分 ) を用いて変数間の関係や特徴を把握するための統計的手法 1. 各主成分が 元のデータに含まれる特徴をどの程度表現しているか? 2. 何個の主成分を採用すれば元のデータに含まれる特徴を十分に表現できるか? 寄与率 および累積寄与率 25
寄与率と因子負荷量 P 個の変数の分散の和は共分散行列を V とすれば V の主体対角要素すなわち (p,p) 要素である v pp が変数 x p の分散であるから 一方で 第 m 主成分の分散 は 共分散行列 V の m 番目に大きい 固有値 に等しいから も成り立つ 26
寄与率と因子負荷量 第 m 主成分の分散が分散の総和に占める割合を以下のように寄与率として定義する また 第 m 主成分までの分散の和が分散の総和に占める割合を累積寄与率と呼ぶ 27
寄与率と因子負荷量 主成分分析の結果の解釈 主成分 ( 総合的指標 ) の意味解釈 主成分とは 各変数の線形結合で与えられる 主成分に強く影響している変数を特定することが有効 主成分と変数との相関係数 : 因子負荷量 (factor loading) 28
寄与率と因子負荷量 第 m 主成分 z m と p 番目の変数 x p との間の因子負荷量は z m の標準偏差 x p の標準偏差 z m, x p の共分散 29
寄与率と因子負荷量 データのサンプル数を N とする ( 野球選手の人数に相当 ) は 第 p 列のみを取り出すベクトルである p 行目 30
寄与率と因子負荷量 一方 であるので (m 番目の主成分の分散は共分散行列 V の m 番目の固有値 ) 因子負荷量 で標準化されている場合は 31
演習 講義を聞いているだけでは身につかない 具体的なデータを扱うことで身につけてほしい 32
例題データ 33
順位 http://baseball-data.com/stats/hitter-ce/ 選手名 チーム 打率 試合 打席数 打数 安打 本塁打 1 マートン 阪神.466 16 69 58 27 6 29 2 9 1 6 0 2.862.536 1.398 16.87 15.72 2 上本博紀 阪神.389 16 65 54 21 1 8 1 11 0 14 0 0.481.492.974 9.83 9.32 3 エルドレッド 広島.373 14 57 51 19 4 8 0 5 1 17 0 1.667.439 1.105 10.87 10.21 4 川端慎吾 ヤクルト.370 14 62 54 20 0 3 1 5 0 5 2 1.444.417.861 7.30 6.92 5 アンダーソン 巨人.358 14 59 53 19 3 11 0 5 1 8 0 0.566.424.990 9.74 9.28 6 相川亮二 ヤクルト.349 11 45 43 15 1 9 0 1 0 6 1 0.442.364.805 6.37 6.02 7 平田良介 中日.345 15 65 58 20 2 10 1 7 0 9 0 1.500.415.915 8.22 7.78 8 ゴメス 阪神.333 16 72 63 21 0 16 0 8 0 19 0 1.444.403.847 7.02 6.65 8 ルナ 中日.333 15 67 63 21 1 9 2 4 0 9 0 3.460.373.833 6.03 5.58 8 荒木雅博 中日.333 15 67 60 20 0 7 0 2 0 9 5 0.433.355.788 5.64 5.18 8 菊池涼介 広島.333 14 61 51 17 1 7 6 3 0 6 6 1.431.364.795 5.24 5.20 12 大島洋平 中日.328 15 67 61 20 0 2 3 5 0 6 1 0.377.379.756 6.31 5.98 13 橋本到 巨人.327 15 58 52 17 1 9 2 3 1 11 2 2.462.375.837 6.04 5.64 14 ブランコ DeNA.326 12 48 46 15 2 9 0 2 0 11 0 0.543.354.898 7.47 7.02 15 ロペス 巨人.323 15 67 62 20 6 17 0 3 1 7 0 2.661.358 1.019 8.08 8.07 16 畠山和洋 ヤクルト.317 14 61 60 19 0 7 0 1 0 2 0 2.383.328.711 4.30 3.94 17 鳥谷敬 阪神.297 16 76 64 19 0 3 1 10 1 7 1 0.359.400.759 6.30 6.00 18 大和 阪神.288 16 75 59 17 0 8 1 8 0 7 7 2.322.368.690 4.11 4.11 18 バルディリス DeNA.288 14 57 52 15 2 8 0 4 0 7 0 2.462.333.795 5.11 5.16 20 坂本勇人 巨人.283 15 65 53 15 2 6 4 7 1 10 3 1.396.371.767 5.77 5.93 21 長野久義 巨人.281 15 71 64 18 1 5 2 7 0 9 0 1.344.352.696 4.55 4.50 22 山田哲人 ヤクルト.276 14 68 58 16 1 10 3 7 2 10 0 1.397.368.764 5.54 5.54 23 片岡治大 巨人.275 13 49 40 11 1 5 3 5 1 6 3 2.375.370.745 4.83 4.73 24 梶谷隆幸 DeNA.268 14 62 56 15 2 5 3 5 1 16 0 1.482.339.821 6.13 5.84 25 村田修一 巨人.263 15 67 57 15 2 5 0 9 1 11 0 5.404.373.777 4.33 4.31 26 森野将彦 中日.250 14 54 48 12 0 5 0 4 0 4 0 2.292.296.588 2.69 3.06 26 阿部慎之助 巨人.250 11 47 36 9 0 2 0 8 2 6 0 1.333.404.738 5.00 5.10 28 和田一浩 中日.245 14 58 49 12 3 11 0 9 0 3 0 1.469.362.831 6.09 6.11 28 雄平 ヤクルト.245 13 55 49 12 2 8 1 5 0 8 1 2.367.315.682 3.72 3.83 30 バレンティン ヤクルト.240 14 63 50 12 6 12 0 12 0 17 0 2.600.381.981 7.35 7.70 31 筒香嘉智 DeNA.233 12 48 43 10 1 5 0 5 0 11 0 2.349.313.661 3.30 3.23 32 丸佳浩 広島.231 14 64 52 12 2 4 2 11 1 11 0 1.404.375.779 5.51 5.54 32 ミレッジ ヤクルト.231 10 47 39 9 1 6 0 6 0 6 0 4.359.319.678 2.83 3.32 32 梵英心 広島.231 12 46 39 9 1 1 0 5 0 10 2 2.333.318.652 2.33 2.46 35 山崎憲晴 DeNA.216 14 60 51 11 1 5 2 3 1 13 4 0.314.268.582 3.04 3.32 36 キラ 広島.196 14 54 46 9 3 9 0 8 0 16 0 0.413.315.728 4.73 4.96 37 石川雄洋 DeNA.182 14 62 55 10 1 6 0 4 1 11 2 1.291.250.541 1.85 2.01 打点 盗塁 四球 死球 三振 犠打 併殺打 長打率 出塁率 O P S R C 2 7 X R 2 7 34
ホームページにアップしました 35
CSV ファイルにしてアップしてい 36
What to do 教室のメンバーを数班に分けます 来週の講義までに (1) このデータをまず標準化して 相関行列を作ってくる (2) 固有値 固有ベクトルを算出する プログラムは作るか 探すか 自分たちで解決すること 来週 班毎に発表してもらいます ( 途中経過で OK) 37