問題発見技法 00/6/6 00 年 6 月 9 日 ( 火 ) 問題発見技法 6.. クラスタ分析 情報学部堀田敬介 クラスタ分析 Coe クラスタ分析. クラスタ分析概要. 類似度の測定. クラスタ化の方法の決定 ( 類似度更新法 ) クラスタ分析 階層的方法階層的方法 の実施. Excelで計算したクラスタ分析,Rによるクラスタ分析. クラスター分析実施上の注意点 クラスタ分析 非階層的方法非階層的方法 6. 非階層的クラスター分析 K-mea 法 7. Rによるクラスター分析 K-mea 法
問題発見技法 00/6/6 クラスタリングを行う類似てない似度. クラスタ分析概要 クラスタ分析とは? 複数の対象 ( もの, 変数など ) を, その属性属性によって類似度 (imilaiy) をはかり, 均質な集団 (clue) に分類する方法の総称 どれとどれが似てる? ( 同じクラスター?). クラスタ分析概要 クラスタ分析の種類階層的方法 樹形図 ( デンドログラム ) を作成 目的により高さを決めてクラスタリング 非階層的方法 予めクラスタ数を決め (o 決まっていて ), 似てる 例 : つのクラスタに分類
問題発見技法 00/6/6. クラスタ分析概要 例 : 階層的方法 ( 対象の属性が つの場合 ) 属性 x 6 A F C どうやってクラスタ間の近さ を決めるのか G B D E どうやって類似度を測るのか例 )CとEの類似度? 例 ) クラスタ (G,B) とクラスタ (D) の近さ? 0 6 7 x 属性. 類似度の測定 距離 間隔尺度間隔尺度 ユークリッド距離ユークリッド平方距離重み付きユークリッド距離マンハッタン距離ミンコフスキー距離マハラノビス汎距離 相関 間隔尺度間隔尺度 Peaoの積率相関係数ベクトル内積 相関 順序尺度順序尺度 Seamaの順位相関係数 Kedallの順位相関係数 類似度は尺度により距離や相関で測る ( 距離 : 近いほうが類似 ) ( 相関 : 高いほうが類似 ) 距離 名義名義尺度 [0, ] 類似比一致係数 Ruel-Rao R 係数 Roge-Taimoo 係数 Hama 係数ファイ係数 変量間類似度類似度 名義尺度名義尺度 平均平方根一致係数グッドマン クラスカルのλ クラスタ分析ノート.df
問題発見技法 00/6/6. 類似度の測定 データと尺度 量的データ ( 数値データ ) 学籍番号 氏名 性別 生年月日 身長 体重 問題発見技法成績 文教太郎 男 987..6 7cm 69kg B 湘南花子 女 988.. 6cm 8kg AA 厳密 質的データ ( カテゴリデータ ) 比率尺度 間隔尺度 順序尺度 名義尺度 曖昧 比に意味がある ( 絶対原点が存在 ) 例 ) 身長 80cm の A さんは息子 (00cm) の.8 倍背が高い 差に意味がある 例 ) 温度気温 0 より 0 の方が 0 高い 順序関係がある例 ) 成績評価 (A > B > C > D) 単なる分類例 ) 名前, 性別. 類似度の測定 個体間類似度ユークリッド距離 x (cf. l -ノルム) A マンハッタン距離 (cf. l -ノルム) ミンコフスキー距離 (cf. l -ノルム) (cf. l -ノルム) マハラノビス汎距離ユークリッド平方距離 クラスター分析でよく使われる ( 注 : 各ノルムとは 変量の差ベクトルに対するノルム ) 0 G l ( C, D) = = ( 7) ( ) l( C, D) = 7 = 7 l( C, D) =.98 = 7 l ( C, D) = = max{ 7, } l ( C, D) = = ( 7) ( ) B D 7 (,) F.98 E C 7 (7,) x
問題発見技法 00/6/6. 類似度の測定 個体間類似度ユークリッド距離 x x B (cf. l - ノルム ) マンハッタン距離 A A (cf. l -ノルム) x x ミンコフスキー距離左側の対象内での,A-B 間距離と (cf. l -ノルム) 右側の対象内でのA-B 間距離が (cf. l -ノルム) 異なる!( ユークリッド距離などでは同じ ) マハラノビス汎距離 マハラノビス汎距離 ( 変量 x, x 版 ) u u ρuu D ρ x μ x μ ただし,u, u は x, x の標準化変量で, u =, u = σ σ また,μ,μ はそれぞれ, 変量 x, x の平均, σ,σ は x, x の標準偏差,ρ は x, x の相関係数 B. クラスタ化の方法の決定 新たなクラスタ生成時の類似度の更新方法 クラスタ, クラスタ が一つのクラスタ になる場合, 他のクラスタ との類似度をどう更新する??. 最短距離法. 最長距離法. 群平均法. 重心法. 中央値法 6. ウォード法 ( : クラスタ, の類似度 )
問題発見技法 00/6/6. クラスタ化の方法の決定. 最短距離法 (eae eighbo mehod) 単連結法 (igle likage mehod) = mi{, } あるクラスタにおいて, クラスタ内の各対象が, そのクラスタ外の任意の対象よりも, そのクラスタ内の少なくともつの対象とより近接している. 類似度は, 対象間の類似度の大小関係だけで決まる. よって, 類似度 ( 距離 ) は順序尺度ならばよい.. クラスタ化の方法の決定. 最短距離法 = mi{, } 6
問題発見技法 00/6/6. クラスタ化の方法の決定. 最長距離法 (fuhe eighbo mehod) 完全連結法 (comlee likage mehod) = max{, } あるクラスタにおいて, クラスタ内の全ての対象が, そのクラスタ外の任意の対象との距離よりも常に近接している. 類似度は, 対象間の類似度の大小関係だけで決まる. よって, 類似度 ( 距離 ) は順序尺度ならばよい.. クラスタ化の方法の決定. 最長距離法 = max{, } 7
問題発見技法 00/6/6. クラスタ化の方法の決定. 群平均法 (gou aveage mehod) = : クラスタ に含まれる対象数 : クラスタ に含まれる対象数 類似度は, 間隔尺度ならば OK =. クラスタ化の方法の決定. 群平均法 = 8
問題発見技法 00/6/6. クラスタ化の方法の決定. 重心法 (ceoid mehod) = ( ) 導出過程より, 類似度 S はユークリッド平方距離の時のみ妥当. cf. ファイル クラスタ分析ノート.df : クラスタ に含まれる対象数 : クラスタ に含まれる対象数 x x x x x = x x はベクトル. クラスタ化の方法の決定. 重心法 = ( ) ( ) 9
問題発見技法 00/6/6. クラスタ化の方法の決定. 中央値法 (media mehod) = ( 重心法の簡易版, 重心の代わりに中央値を取る重心法で :=, := に相当 ) 導出過程より, 類似度 S はユークリッド平方距離の時のみ妥当. cf. ファイル クラスタ分析ノート.df x x : x x = x x x はベクトル. クラスタ化の方法の決定. 中央値法 = 0
問題発見技法 00/6/6. クラスタ化の方法の決定 6. ウォード法 (Wad mehod) = : クラスタ に含まれる対象数 : クラスタ に含まれる対象数 : クラスタ に含まれる対象数 導出過程より, 類似度 S はユークリッド平方距離の時のみ妥当. cf. ファイル クラスタ分析ノート.df. クラスタ化の方法の決定 6. ウォード法 =
問題発見技法 00/6/6. クラスタ分析の実施 Excel を用いて計算するクラスタ分析 : 例対象 : 人の学生対象の属性 :7 つ 属性 属性 属性 属性 属性 属性 6 属性 7 太郎 7 次郎 6 8 9 三郎 9 7 四郎 8 7 9 五郎 8 6 0 距離 : ユークリッド平方距離 l ( Tao, Jio) = ( 6) ( ) L ( ) クラスタ間の類似度更新方法 : 群平均法 = =. クラスタ分析の実施 Excel で計算によるクラスタ分析 : 例 属性 属性 属性 属性 属性 属性 6 属性 7 太郎 7 次郎 6 8 9 三郎 9 7 四郎 8 7 9 五郎 8 6 0 類似度の測定 : ユークリッド平方距離による 太郎次郎三郎四郎 l ( Tao, Jio) = 97 = ( 6) L ( 次郎 97 M 三郎 86 09 四郎 0 66 7 = 97 0 次郎 五郎 89 8 69 類似度の更新 : 群平均法による 四郎 太郎 ) 太郎次 & 四三郎次 & 四 00 三郎 86 9 五郎 89 6 69 =
問題発見技法 00/6/6. クラスタ分析の実施 Excel で計算によるクラスタ分析 : 例 太郎次 & 四三郎 次 & 四 00 三郎 86 9 五郎 89 6 69 類似度の更新 : 群平均法による 太 &( 次 & 四 ) 三郎 三郎 6.67 五郎 0 69 太 &( 次 & 四 ) 三郎 三郎 6.67 五郎 0 69 類似度の更新 : 群平均法による 次 & 四 0 = 太郎 = 86 9. 00 三郎 五 &( 太 &( 次 & 四 )) 三郎. 66 五郎太郎次郎四郎三郎樹形図 ( デンドログラム ). クラスタ分析の実施 R によるクラスタ分析 :. 起動画面とデータファイル R 起動時画面 データを cv ファイルで用意 (Excel や edio で作成 ) ファイル daa-eieki.cv 算数 理科 国語 英語 社会 太郎 90 00 70 90 0 次郎 80 60 70 70 0 三郎 00 0 0 70 80 四郎 60 0 0 80 80 花子 0 60 80 90 90 寒子 0 60 0 0 60 湘子 90 00 90 80 70
問題発見技法 00/6/6. クラスタ分析の実施 R によるクラスタ分析 :. クラスタ分析の実施例 cvファイルを読み込み, 変数 eieki に格納 変数 eieki の中身確認 対象間の類似度を mahaa 距離で測定し, 変数 eieki.dに格納変数 eieki.dの中身確認 wad 法でクラスタ分析を実施し, 変数 eieki.hcに格納クラスタ化 :wad 法類似度 :mahaa 距離を確認! 対象の数 :7 結果を樹形図で表示 注 )wad 法を用いる場合, 距離はユークリッド平方距離を使うのが妥当. クラスタ分析の実施 R によるクラスタ分析 :. 結果 cf. 元データ 算数理科国語英語社会 太郎 90 00 70 90 0 次郎 80 60 70 70 0 三郎 00 0 0 70 80 四郎 60 0 0 80 80 花子 0 60 80 90 90 寒子 0 60 0 0 60 湘子 90 00 90 80 70
問題発見技法 00/6/6. クラスタ分析の実施 R によるクラスタ分析 :. 手法選択について 距離の測定 : 関数 di( ) 書式 :di( daa, mehod ) mehodの部分に距離の測定方法を指定 euclidea ユークリッド距離 (l ノルム ) ex) di( daa ) 指定無しだとこれ mahaa マンハッタン距離 (l ノルム ) ex) di( daa, mahaa ) mikowki ミンコフスキー距離 (l ノルム ) ex) di( daa, mikowki, = ) maximum l ノルム ex) di( daa, maximum ) 注 ) ユークリッド平方距離は, ユークリッド距離の計算後, 乗するクラスタ化の方法 : 関数 hclu( ) 書式:hclu( daa.d, mehod ) mehodの部分にクラスタ化の方法を指定 igle 最短距離法 ex) hclu( daa.d, igle ) comlee 最長距離法 ex) hclu( daa.d, comlee ) aveage 群平均法 ex) hclu( daa.d, aveage ) ceoid 重心法 ex) hclu( daa.d^, ceoid ) media 中央値法 ex) hclu( daa.d, media ) wad ウォード法 ex) hclu( daa.d^, wad ) 注 ) この つの手法では ユークリッド平方距離 を用いる (daa.d がユークリッド距離の計算結果でその 乗を使用 ). クラスター分析実施上の注意点 クラスター分析の長所 探索的手法なので, データ構造を事前に知らなくてよいあらゆる種類のデータに適用可能 : 数値 カテゴリー適用が簡単 クラスター分析の短所 類似度 ( 距離 ) 測定法の選択が困難な可能性がある類似度 ( 距離 ) 測定法の選択が困難な可能性があるクラスタ化更新法の選択が困難な可能性がある結果の解釈が困難な可能性がある
問題発見技法 00/6/6 6. 非階層的クラスタ分析 K-mea 法 事前にクラスタ数を Kとしてクラスタリングを行う 例 : つのクラスタに分類 6. 非階層的クラスタ分析 K-mea 法 Se0:Kを決める (ex. K:=) Se: 適当に種を置く Se: 何らかの距離により, もっとも近い種に含まれるよう境界線で分ける. (ex. Euclidea diace) (cf. Voooi diagam) x 6 G B A D F C E 0 6 7x 6
問題発見技法 00/6/6 6. 非階層的クラスタ分析 K-mea 法 Se0:Kを決める (ex. K:=) Se: 適当に種を置く Se: 何らかの距離により, もっとも近い種に含まれるよう境界線で分ける. (ex. Euclidea diace) (cf. Voooi diagam) x Se: 各クラスタごとに何らかの距離により, 重心を計算し, 新たな種とする. 6 G B A D F C E 0 6 7x 6. 非階層的クラスタ分析 K-mea 法 Se0:Kを決める (ex. K:=) Se: 適当に種を置く Se: 何らかの距離により, もっとも近い種に含まれるよう境界線で分ける. (ex. Euclidea diace) (cf. Voooi diagam) x Se: 各クラスタごとに何らかの距離により, 重心を計算し, 新たな種とする. Se- をクラスタが更新されなくなるまで繰り返す 6 0 G B A D F 6 7x C E 7
問題発見技法 00/6/6 6. 非階層的クラスタ分析 K-mea 法 Se0:Kを決める (ex. K:=) Se: 適当に種を置く Se: 何らかの距離により, もっとも近い種に含まれるよう境界線で分ける. (ex. Euclidea diace) (cf. Voooi diagam) x Se: 各クラスタごとに何らかの距離により, 重心を計算し, 新たな種とする. Se- をクラスタが更新されなくなるまで繰り返す 6 0 G B A D F 6 7x C E 6. 非階層的クラスタ分析 K-mea 法 Se0:Kを決める (ex. K:=) Se: 適当に種を置く Se: 何らかの距離により, もっとも近い種に含まれるよう境界線で分ける. (ex. Euclidea diace) (cf. Voooi diagam) x Se: 各クラスタごとに何らかの距離により, 重心を計算し, 新たな種とする. Se- をクラスタが更新されなくなるまで繰り返す 6 0 G B A D F 6 7x C E 8
問題発見技法 00/6/6 7. クラスタ分析の実施 R によるクラスタ分析 :.K-mea 法による結果 K-mea 法でクラスタ数をとして分析を実施し, 変数 eieki.kmに格納 結果 : clue: 花子 clue: 三郎, 四郎, 寒子 clue: 太郎, 次郎, 湘子 cf. 元データ 算数理科国語英語社会 太郎 90 00 70 90 0 次郎 80 60 70 70 0 三郎 00 0 0 70 80 四郎 60 0 0 80 80 花子 0 60 80 90 90 寒子 0 60 0 0 60 湘子 90 00 90 80 70 演習類似度をユークリッド平方距離で測定し, クラスタ間の類似度更新に最短距離法を用いてクラスタ分析をしよう! x 6 D E F C A G B 0 6 7 x 9
問題発見技法 00/6/6 参考文献 田中豊 脇本和昌 多変量統計解析法 現代数学社 (98) 河口至商 多変量解析入門 Ⅱ 森北出版 (978,00) 金明哲 R によるデータサイエンス 森北出版 (007) 荒木孝治 R と R コマンダーではじめる多変量解析 日科技連 (007) 新納浩幸 R で学ぶクラスタ解析 オーム社 (007) 0