970 likes | 1.04k Views
統計科学の実践と応用. 多変量データ解析と時系列解析入門. 吉田 亮 ( 統計 数理 研究所 ; モデリング研究系 ) e-mail: yoshidar@ism.ac.jp スライド の ダウンロード : http://daweb.ism.ac.jp/~yoshidar/index_j.htm. サンプル (個体)を特徴付ける変数(特徴変数) が 「 複数 」 あるデータセットを 分析するための 統計技法. ( 例 ) 患者(個体) 400 人 の約 20,000 個の遺伝子の 発現量 ( 変数) が計測されました 。どうやって分析 しますか?. 多変量データ解析.
E N D
統計科学の実践と応用 多変量データ解析と時系列解析入門 吉田亮 (統計数理研究所; モデリング研究系) e-mail: yoshidar@ism.ac.jp スライドのダウンロード:http://daweb.ism.ac.jp/~yoshidar/index_j.htm
サンプル(個体)を特徴付ける変数(特徴変数)が「複数」あるデータセットを分析するための統計技法サンプル(個体)を特徴付ける変数(特徴変数)が「複数」あるデータセットを分析するための統計技法 (例) 患者(個体)400人の約20,000個の遺伝子の発現量(変数)が計測されました。どうやって分析しますか? 多変量データ解析 p=20,000 個の変数 p 2 1 1 2 n= 400人の個体 n
多変量データの直観的理解は困難 ? • エクセルでデータファイルを開いて、数万個の遺伝子の発現値を一つずつ眺めてみましょう。超人的な根気強さを持つ人にしかできません。 • ちなみに古いエクセルでは、 65,536行、256列におさまるデータしか開けません。 • まずはデータをヒートマップ表示してみましょう。 変数: p=20,000 データ量が多すぎて何も分からない。 このような状況で多変量解析は役立ちます。 個体: n= 400 個体と変数をそれぞれパターンに応じて分類し、データを並べ替える
多変量解析は役に立つ • 人間の脳は、多変量データを直観・統合的に理解することが苦手 • 多変量解析は、大規模データ処理する上で、脳の情報処理機能の代替として使う • そもそも、多くの局面において、目で見て直観的に理解できる「単変数」のデータに対して、わざわざ統計解析を行う必要がないことも多い。 • 統計科学の実践 、すなわち、多変量データ解析 • 本講義では「初等的な」多変量解析の手法を概観 本講義で概観する3つの多変量解析の手法 データの特徴を捉える • 主成分分析 • 判別分析(教師つき分類) • クラスター分析(教師なし分類) データを分類する
準備: 用語と記号 • 特徴変数ベクトル( i番目のサンプルを特徴付ける p個の変数 ) 転置記号 p個の特徴変数が並んでいる 添え字iは個体番号を表す ※xi= ( 個体iの体脂肪率, 個体iの血糖値, 個体iの所得 ) • 変数の数は pで表す。 • 総サンプル数は nで表す。 • (サンプル)平均ベクトル(各変数の平均値を p個並べたもの) ベクトルの要素は各変数の平均値
(サンプル)分散共分散行列 p 個の変数ペアの共分散(共変動性を表す尺度)と p 個の変数の分散(ばらつき尺度)を要素に持つ サイズ p × p の対称行列 準備: 用語と記号 非対角要素 ( i, j) には変数 iと j の共分散 対角要素には分散 p
分散共分散行列の直観的理解(2変数の場合)分散共分散行列の直観的理解(2変数の場合) 変数1と2の間に正の相関がある場合 変数1と2の間に負の相関がある場合
相関のある多変数データが保持する「情報」をできるだけ失うことなく、少数の変数に要約することが目的 (高次元データの次元圧縮、特徴抽出) 主成分分析が対象とする情報 = 分散 主成分分析で何ができるか? 4変数によって特徴付けられた150個体のデータ分布。 150個体は3個のカテゴリに分類されている。 左のデータにPCAを適用して2次元の空間に圧縮。元のデータの分布特性(グループ構造)が保存されている。
復元された100枚の手書きデータ 100枚の手書き文字画像 :256変数(ピクセル) (例) 手書き文字画像データの特徴抽出 次元圧縮 復元 PCAを適用して20パターンの特徴を抽出(固有ベクトル)
数学 (x1,i) と英語 (x2,i) の50人 (n=50) の得点からなる2次元デ-タを重み係数 w =(w1, w2) によって1次元変数に要約(射影)する。 PCAの基本的な考え方 2変数データを1変数に圧縮 • 重み係数 w= (w1, w2) をどのように決めるか? • p 個の変数の場合も同様に • PCAではyiの分散が最大となるように w を求める。
n個のデータ点を方向 wに射影する この例では、w’ に射影する方がデータ点の分散が大きくなる。 分散を最大にする射影の方向、直観的理解
射影したデータ点、すなわち主成分の分散に対して行列表現を行います。射影したデータ点、すなわち主成分の分散に対して行列表現を行います。 [ 主成分の分散 ] 主成分分析の定式化 ① (y の式を代入 ) (2次形式で表現) ※ データの分散共分散行列を方向 w に射影 したもの ここで、Sxは元のデータの分散共分散行列
分散の最大化 ベクトルの長さに対する拘束条件が必要 主成分分析の定式化 ② ※ ここでは長さを1とするが、任意の値に設定しても良い。 ※ 拘束条件の必要性は Syの定義式に立ち返ればすぐに分かる。 係数ベクトルに任意の定数 cを掛けることで、いくらでも分散が大きくすることができる。したがって係数ベクトルの長さに対して適当な制約を課す必要がある。
最適化問題を解いて、係数ベクトルを求めてみよう。最適化問題を解いて、係数ベクトルを求めてみよう。 主成分分析の定式化 ③ ラグランジェ未定乗数法を使います。 ラグランジェ乗数 ラグランジェアンの微分を計算すると次の固有方程式が得られる。 • 係数ベクトルはデータの分散共分散行列の固有ベクトルのいずれかになる。 • ラグランジェ乗数は固有値
係数ベクトルの「候補」として、m 個の固有ベクトルが得られました。 それらの内どれを選べば良いか?(分散を最大にするものはどれか?) 主成分分析の定式化 ④ (解の候補) (固有方程式を満たす) 固有ベクトル 固有値 • 最大固有値に相当する固有ベクトルは、分散を最大にする係数ベクトル 固有値の大きさ = 固有ベクトルで射影したデータの分散 左から固有ベクトルを掛ける 固有値 射影したデータ点の分散
最大固有値の固有ベクトルは、分散を最大にする係数ベクトル 最大固有値の固有ベクトルは、分散を最大にする係数ベクトル これを第1主成分と言います 第1主成分、第2主成分、第3主成分 • 大きさの順序が2番目以降の固有値と固有ベクトルから、第2主成分から第m主成分を求めることもできる。 第2主成分 第3主成分 固有値(=分散)を降順に並べる 第m主成分
は p次元空間の正規直交基底 つまり、元データの座標変換に相当する。 第1主成分ベクトル 第1主成分と第2主成分 第2主成分ベクトル
係数の大きさ(主成分スコア)が各主成分に対する寄与率を表す係数の大きさ(主成分スコア)が各主成分に対する寄与率を表す 各主成分の解釈の仕方 ① 第1主成分は国語の得点を反映 第1主成分は数学の得点を反映 第1主成分ベクトル 第1主成分ベクトル
一般には、p個の主成分スコアの大きいものから数個の変数を取り出し、各主成分の意味づけを行う。一般には、p個の主成分スコアの大きいものから数個の変数を取り出し、各主成分の意味づけを行う。 理化学研究所の鎌谷直之グループディレクターは、遺伝子のわずかな個人差によって、日本人が二つの集団に大別できることを、理化学研究所が明らかにした。沖縄の人の大部分が含まれる「琉球クラスター(集団)」と、本土の人の大部分が属する「本土クラスター」があるという。25日付の米国人類遺伝学会誌に発表した。 (毎日新聞 2008年9月26日 東京朝刊) 各主成分の解釈の仕方 ② 理化学研究所 ゲノム医科学研究センター 鎌谷直之グループディレクター
復元された100枚の手書きデータ 100枚の手書き文字画像 :256変数(ピクセル) (応用例) 手書き文字の特徴抽出 次元圧縮 復元 PCAを適用して20パターンの特徴を抽出(固有ベクトル)
多変数データの次元圧縮や特徴抽出に活用できる統計技法多変数データの次元圧縮や特徴抽出に活用できる統計技法 • 圧縮データの分散(ばらつき)が大きくなるように変数に重みを与えることが特徴(データの分布特性に関連する変数を自動的に同定することに相当) • 数万次元のデータでも、統計解析ソフトウェア(例えば R)を利用すれば簡単に計算できます。 主成分分析のまとめ • 参考図書 • ※ 初学者向け • 中村 永友 (著) 『多次元データ解析法 (Rで学ぶデータサイエンス 2) 』 共立出版 • ※ 中級者以上 • 小西 貞則 (著)『多変量解析入門―線形から非線形へ』 岩波書店 • C. M. ビショップ (著)『パターン認識と機械学習 上・下』 シュプリンガー・ジャパン
分類の統計学 • 判別分析 + クラスター分析
ある個体の特徴量(複数の観測値)から、その個体が、あらかじめ与えられたいくつかの群のどれに属するかを判断したい。例えば、ある個体の特徴量(複数の観測値)から、その個体が、あらかじめ与えられたいくつかの群のどれに属するかを判断したい。例えば、 ・ 血圧やバイオマーカーの検査値から、疾患・非疾患の診断を行う。 ・ 財務データから、企業がデフォルト起こすかどうかを判断する。 判別分析とは? Aさん Aさんのデータ 甲薬 効果有?無? B さん Bさんのデータ 甲薬 効果有?無?
属性クラス p個の変数で特徴付けられた個体 判別ルール ・・・・・ 判別ルールを作る • 属性クラス データx がこの領域に入ればG1に分類 変数 x1 判別境界(ルール) 変数 x2
現在手元にあるデータを分割 未来のデータ 訓練データ テストデータ 「訓練データ」を使って判別ルールを作り、「テストデータ」にもとづきルールの良さを評価する。 ③ 実運用 ① 「訓練データ」を使って判別ルールを設計 ② 性能評価用 ① 属性ラベルの分かっているデータから判別境界を学習 ② 属性ラベルの分からないデータのクラスを予測し、判別ルールの性能を評価 グループ1 グループ2 グループ3
データはある確率分布から生成されていると仮定する。データはある確率分布から生成されていると仮定する。 属性ラベル yiがあたえられたもとでのデータxiの条件付き分布 確率モデルを導入する 属性ラベル yiの実現確率 属性ラベルと特徴変数の同時分布 ラベル yi=1 のデータ生成分布 個体 iの属性ラベル p個の特徴変数を要素にもつベクトル ラベルは確率的に決まる ラベル yi=2 のデータ生成分布
ベイズの定理 にもとづき,データが各クラスに属する(事後)確率を計算する。 「特徴 xi をもつ個体がラベル yi=kに属する確からしさ」 事後確率にもとづく判別 (ラベルの事後確率) (例) P ( ラベル=企業の倒産 | 特徴=企業の財務データ ) 観測された財務データxiの事後確率を計算する 倒産リスクは?
事後確率が最も大きい属性に分類する判別方式を「ベイズルール」という。 事後確率が最も大きい属性に分類する判別方式を「ベイズルール」という。 ベイズルール • 直観的で自然な判別方式 • 判別の平均的な誤り率(ベイズリスク)を最小にする判別方式 • 問題は に対してどうようなモデルをおくのか、また、仮定されたモデルを訓練データからどうやって推定するのか? このあと正規分布モデルを例に、実際の判別分析の手続きを眺めていきます。
1次元正規分布の確率密度関数 • 1次元の正規分布 : 分散 平均 多変量正規分布 分散共分散行列 平均ベクトル • 多変量正規分布 : 2変量正規分布の確率密度関数 高 低 相関
最尤法(さいゆうほう:maximum likelihood estimation) 確率分布 のパラメータ をn個の標本 から推定する際、最尤法は尤度と呼ばれる「標本の確率分布に対する適合度」を最大にするパラメータを推定値とする。 最尤法によるパラメータの推定 (対数) 尤度 尤度を最大にするパラメータを求めるのが最尤法 1次元正規分布の平均パラメータの推定(イメージ) 高 低 の正規分布 の正規分布 尤度 100個の標本
多変量正規分布の最尤推定量は、 (標本平均) 平均ベクトル 多変量正規分布の最尤推定 (標本分散共分散行列) 分散共分散行列 • 最尤推定量の導出に関する参考資料: • 自然科学の統計学 (基礎統計学), 東京大学出版会
以下では、多変量正規分布を利用して、線形判別と2次判別を導く。以下では、多変量正規分布を利用して、線形判別と2次判別を導く。 線形判別と非線形判別 非線形判別-判別の識別面が非線形関数- 線形判別-判別の識別面が1次関数- クラス1と判定 クラス2と判定 識別面が2次曲線になる場合を「2次判別」という
属性ラベルと特徴変数の生成過程として、多変量正規分布を仮定する。属性ラベルと特徴変数の生成過程として、多変量正規分布を仮定する。 多変量正規分布を使った線形判別 (モデリング) ① ② K 面体のサイコロを振って属性 k を決定し、クラス k の正規分布からデータを生成する。 ① 各ラベルに属するデータの生成モデルとして正規分布を仮定する。 ※ ここで,分散共分散行列はクラス間で共通と仮定 ② 各属性の(事前)確率
ベイズの定理から、各属性ラベルの事後分布は次のような形であたえられる。 ベイズの定理から、各属性ラベルの事後分布は次のような形であたえられる。 線形判別の導出 ① マハラノビス距離 あとは、事後分布が最も大きくなる属性 k に分類すればよい。 「近い」クラスに分類 クラス1の分布 クラス2の分布
データ xiが二つの属性 k と h のどちらに属するかを判別するには,事後分布の対数比が0よりも大きいか,あるいは小さいかを評価すればよい. 線形判別の導出 ② 識別面は1次関数で表される x1 • 分散共分散行列はクラス間で共通と仮定することで、線形の識別面が得られる。 • この仮定を外すと識別面は二次曲線になる。 x2
n個の「訓練データ」を使って最尤法でパラメータを推定する。n個の「訓練データ」を使って最尤法でパラメータを推定する。 最尤推定量の計算 そのあとで、推定したパラメータを事後分布の式にプラグインして判別を行う。 混合比率 (クラス k に属する個体の割合) (クラス k に属する個体の標本平均) 平均 分散共分散行列 (クラスごとに計算した標本分散共分散行列を さらに平均化したもの) クラス k に属する個体数
2次判別と線形判別 • 各属性の特徴変数の分布として「共通の分散共分散行列」をもつ多変量正規分布を仮定することで線形判別を導出した。 • 次に、「非共通の分散共分散行列」をもつ多変量正規分布を仮定することで2次判別関数を導出する。 識別面は2次関数 識別面は線形 異なるマハラノビス距離 クラス1と2の正規分布が構成する中心からのマハラノビス距離は同一
属性ラベルと特徴変数の生成過程として、多変量正規分布を仮定する。属性ラベルと特徴変数の生成過程として、多変量正規分布を仮定する。 多変量正規分布を使った2次判別 (モデリング) ① ② ① 各ラベルに属するデータの生成モデルとして正規分布を仮定する。 クラス間で異なる分散共分散行列を仮定する。線形判別との相違点はこの点のみ。 ② 各属性の(事前)確率
ベイズの定理から、各属性ラベルの事後分布は次のような形であたえられる。 ベイズの定理から、各属性ラベルの事後分布は次のような形であたえられる。 変更点はここ 2次判別の導出 ① マハラノビス距離 あとは、事後分布が最も大きくなる属性 k に分類すればよい。 「近い」クラスに分類 クラス1の分布 クラス2の分布
データ xiが二つの属性 k と h のどちらに属するかを判別するには,事後分布の対数比が0よりも大きいか,あるいは小さいかを評価すればよい. 2次判別の導出 ② 識別面は2次関数で表される • 分散共分散行列はクラス間で共通と仮定することで、線形の識別面が得られる。 • この仮定を外すと識別面は二次曲線になる。
Fisher (E. Anderson) のアヤメデータ • Fisher (1936) が線形判別分析の例題として使用 • 3種類のアヤメ • -setosa, versicolor, virginica setosaと virginicaを併せて1つの群とする • 計測した特徴量 • -がく片の長さと幅、花弁の長さと幅 (4変数) ヒオウギアヤメ(setosa) • 採取されたデータ • -各アヤメをそれぞれ50サンプル収集 花片 • 問題 • -これら4つの特徴量から、アヤメの種類を • 判別するための規則(線形判別関数)を構成する。 がく片
特徴量の分布(箱ひげ図) ①setosa, ②virginica, ③versicolor 花弁の長さ がく片の長さ がく片の幅 花弁の幅 クラス①&②と③の違いがそれほど大きくない。 ① ① ① ① ② ③ ② ③ ② ③ ② ③
線形判別の結果 -setosa & versicolorvsvirginica- • 2種のアヤメの全データを訓練用とテスト用に分ける。 • (ランダムに訓練データを選んで、7:3の割合になるようにデータを分割) 訓練データから得られた線形判別関数 ( : がく片の長さと幅、 : 花弁の長さと幅 ) 誤判別率が高い。特にversicolorの判別性能が悪い。 誤判別の個数 PREDICTION 訓練データ の判別結果 TRUE (訓練エラー 0.3) PREDICTION テストデータ の判別結果 TRUE (予測エラー 0.2)
2次判別の結果 -setosa & versicolorvsvirginica- • 2種のアヤメの全データを訓練用とテスト用に分ける。 • (ランダムに訓練データを選んで、7:3の割合になるようにデータを分割) 訓練データから得られた線形判別関数 ( : がく片の長さと幅、 : 花弁の長さと幅 ) 2次判別を使うことで誤判別率が大幅に減少 PREDICTION 訓練データ の判別結果 TRUE (訓練エラー 0.02) PREDICTION テストデータ の判別結果 TRUE (予測エラー 0.07)
線形判別と2次判別の結果に関する考察 データを見れば線形判別がうまくいかないことはすぐに理解できます。 「データを見る」ことが重要! アヤメデータの特徴量を対散布図行列で図示したもの • 線形判別では、setosa & versicolor(赤と緑)とvirginica(青)のグループに対して「共通の分散共分散行列」を仮定する。 • しかしながら、2群の分布形状(ばらつきの方向)は明らかに異なる。また、線形の識別面で分離することは無理がありそうである。 • この場合は、データを見ることで、線形判別ではパフォーマンスが出ないことはすぐに分かる。