Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
距離と分類のおはなし
自己紹介
• 小杉考司(こすぎこうじ)
• 山口大学教育学部
• 専門;数理社会心理学
• kosugi@yamaguchi-u.ac.jp
• Twitter; @kosugitti
距離のおはなし
距離の公理
• 2点x とyの距離をd(x,y)とすると,
• の条件を満たせば全て「距離」。
d(x, y) 0
d(x, y) = d(y, x)
x = y ) d(x, y) = 0
d(x, z) + d(z, y) d(x, y)
...
dist関数
•   にはdist関数が最初から入っている
• データ行列を与えると距離行列にして返す
dist関数
A B C D
1 # # # #
2 # # # #
3 # # # #
… # # # #
A B C
B #
C # #
D # # #下三角行列に変わる
dist関数
• dist関数には様々なオプション・・・
• 6種類の距離!
method= euclidean
• もっとも一般的な距離
• 二次元ならピタゴラスの定理で表される
d(x, y) =
p
(x1 y1)2 + (x2 y2)2 + · · · + (xn yn)2
x
y
method= maximum
• 二変数の差のうち,要素同士の差の絶対値が最大の
ものを距離とする。
d(x, y) = max(|xi yi|)
method= manhattan
• ブロック化された都市ではまっすぐ行けないよね
d(x, y) =
P
(|xi yi|)
fig by Wikipedia
method= canberra
• マンハッタンとくればキャンベラ?
• マンハッタン距離の亜種,拡張,でしょうか
d(x, y) =
P |xi yi|
|xi+yi|
キャンベラ級強襲揚陸艦
method= binary
• 0/1データに対する距離
• 一方が1の時に他方も1であれば「近い」
• 一方が1の時に他方が0であれば「遠い」
• 一方が0の時はノーカウント
method= minkowski
• 一般化された距離
• p=1ならマンハッタン
• p=2ならユークリッド
• pはオプションで指定可能(デフォルトは2)
距離の一般化
を特に
チェビシェフの距離
または
優勢次元距離という
x
y
マハラノビス距離
x
y
第一主成分
第二主成分
A
B
相関を仮定した距離
心理変数に有用?
外れ値の検出にも
相関や共分散も
• 相関係数は類似度を表す指標(とも言える)
• 相関係数はベクトルのcosθ
• 1-類似度=距離(と考えることもできる)
θ
で計算
いつものアイリスデータ
5列目はどけておく
で計算
• マハラノビス距離は関数mahalanobisを使う
• 引数として中心と共分散行列が必要
マハラノビス距離
x
y
A
B
colMeans(y)
colMeans(x)
cov(x,y)
で計算
• 一対比較したい場合は,各点からの距離を教えてあげ
る必要がある。
• for文で対応
で計算
• StatMatchパッケージのmahalanobis.dist関数を
使うと難しいことを考えなくていいよ
データから距離へ
v1 v2 v3 v4 … … … … vm
1
2
3
.
.
.
.
.
.
N
{
{ケ
ス
を
分
類
し
た
い
の
?
変数を分類したいの?
ー
m mの行列
N Nの行列
行列の
分解へ
データから距離へ
相関行列なら因子分析
分散共分散行列なら
PCAやSEM
距離行列なら
MDSやクラスター
クロス集計表なら
双対尺度法や
関係・
関連を表
す行列
分類のおはなし
クラスター分析の分類
• 外的基準(教師信号)なしの分類法
• 階層的/非階層的/空間的;クラスタ同士の包含関係・
上下関係があるかどうか
• ハード/ソフト;複数のクラスタに属することを許す
かどうか
クラスター分析の分類
ハード ソフト
階層的
最長距離法/最短距離法/
群平均法/重心法/中央値法/
Ward法/McQuitty法
非階層的
k-means法
x-means法
改良k-means法
c-means法
混合分布モデル
空間的 ...
クラスター分析の分類
ハード ソフト
階層的
hclust関数
methodオプションで指定
非階層的
e1071のcmeans()
MclustのMclust()
空間的
パッケージkohonen
パッケージsom
分析結果にどの程度
影響するのか?[階層型編]
• hclust関数の様々な手法による分類例
最短
最長
群平均
重心
中央値
ward
McQ
分析結果にどの程度
影響するのか?[階層型編]
cf. http://d.hatena.ne.jp/hamadakoichi/20100324
分析結果にどの程度
影響するのか?[階層型編]
• 明確な基準がないのでこれで決まり,とは言えない
• 一般にWard法がもっともバランスが良い方法とさ
れているのでオススメ
• クラスタ数も決め方にルールはない。
• 決めるときはcutreeで
分析結果にどの程度
影響するのか?[階層型編]
分析結果にどの程度
影響するのか?[非階層型編]
• k-means法は直感的に分かりやすく,アルゴリズ
ムも簡単で,収束も早い。
• 大規模データもすぐに分類しちゃう。
•    にもデフォルト(stat)で入ってるぐらい。
分析結果にどの程度
影響するのか?[非階層型編]
• k-means法に代表される非階層型モデルは,当初
クラスタ数をアプリオリに定めることに批判
• 統計的基準でクラスタ数を決めるように→xmeans
• クラスタと個体との距離をマハラノビス...
分析結果にどの程度
影響するのか?[非階層型編]
http://aaaazzzz036.hatenablog.com/entry/
2013/11/27/212109
分類の分類に
決まり手はない
好きにやったらいいんじゃないの?
因子分析の分類
• 意外と知られていないのが因
子分析のQ-technique
• 個体 項目のデータセットを
転置して因子分析
• →人の因子が出る。プロトタ
イプを見つけたりするのに便
利。
因子分析の分類
• 従来の項目を分類する因子分析はR-technique
• 項目 時系列 → 項目因子 P-technique
       → 時間因子 O-technique
• 個人 時系列 → 人因子  S-technique
   ...
v1 v2 v3 v4 … … … … vm
1
2
3
.
.
.
.
.
.
N
v1 v2 v3 v4 … … … … vm
1
2
3
.
.
.
.
.
.
N
v1 v2 v3 v4 … … … … vm
1
2
3
.
.
.
....
データの相と元
• 例えば個人 テレビ番組の種類 放映曜日 評定であ
れば四相二元データ,というように増やしていける
• それでもデータは二次元のスプレッドシートに広がっ
ていく
• それぞれの相に対して因子を想定するのが当世風=
どこの側面の...
因子分析の分類
• 要は多変量解析というのは
• データの関連性を見る(距離でも相関でも  でも)
• 見るときにどっちからとか気にしない
• 関係性行列になったら分析はなんとでもなる!
自由にやろうぜ。
Upcoming SlideShare
Loading in …5
×

距離と分類の話

7,128 views

Published on

Kazutan.R#2(Hijiyama.R#2) on 2015.05.23

Published in: Education
  • Be the first to comment

距離と分類の話

  1. 1. 距離と分類のおはなし
  2. 2. 自己紹介 • 小杉考司(こすぎこうじ) • 山口大学教育学部 • 専門;数理社会心理学 • kosugi@yamaguchi-u.ac.jp • Twitter; @kosugitti
  3. 3. 距離のおはなし
  4. 4. 距離の公理 • 2点x とyの距離をd(x,y)とすると, • の条件を満たせば全て「距離」。 d(x, y) 0 d(x, y) = d(y, x) x = y ) d(x, y) = 0 d(x, z) + d(z, y) d(x, y) 非負性(正定値性) 対称性 三角不等式
  5. 5. dist関数 •   にはdist関数が最初から入っている • データ行列を与えると距離行列にして返す
  6. 6. dist関数 A B C D 1 # # # # 2 # # # # 3 # # # # … # # # # A B C B # C # # D # # #下三角行列に変わる
  7. 7. dist関数 • dist関数には様々なオプション・・・ • 6種類の距離!
  8. 8. method= euclidean • もっとも一般的な距離 • 二次元ならピタゴラスの定理で表される d(x, y) = p (x1 y1)2 + (x2 y2)2 + · · · + (xn yn)2 x y
  9. 9. method= maximum • 二変数の差のうち,要素同士の差の絶対値が最大の ものを距離とする。 d(x, y) = max(|xi yi|)
  10. 10. method= manhattan • ブロック化された都市ではまっすぐ行けないよね d(x, y) = P (|xi yi|) fig by Wikipedia
  11. 11. method= canberra • マンハッタンとくればキャンベラ? • マンハッタン距離の亜種,拡張,でしょうか d(x, y) = P |xi yi| |xi+yi| キャンベラ級強襲揚陸艦
  12. 12. method= binary • 0/1データに対する距離 • 一方が1の時に他方も1であれば「近い」 • 一方が1の時に他方が0であれば「遠い」 • 一方が0の時はノーカウント
  13. 13. method= minkowski • 一般化された距離 • p=1ならマンハッタン • p=2ならユークリッド • pはオプションで指定可能(デフォルトは2)
  14. 14. 距離の一般化 を特に チェビシェフの距離 または 優勢次元距離という x y
  15. 15. マハラノビス距離 x y 第一主成分 第二主成分 A B 相関を仮定した距離 心理変数に有用? 外れ値の検出にも
  16. 16. 相関や共分散も • 相関係数は類似度を表す指標(とも言える) • 相関係数はベクトルのcosθ • 1-類似度=距離(と考えることもできる) θ
  17. 17. で計算 いつものアイリスデータ 5列目はどけておく
  18. 18. で計算 • マハラノビス距離は関数mahalanobisを使う • 引数として中心と共分散行列が必要
  19. 19. マハラノビス距離 x y A B colMeans(y) colMeans(x) cov(x,y)
  20. 20. で計算 • 一対比較したい場合は,各点からの距離を教えてあげ る必要がある。 • for文で対応
  21. 21. で計算 • StatMatchパッケージのmahalanobis.dist関数を 使うと難しいことを考えなくていいよ
  22. 22. データから距離へ v1 v2 v3 v4 … … … … vm 1 2 3 . . . . . . N { {ケ ス を 分 類 し た い の ? 変数を分類したいの? ー m mの行列 N Nの行列 行列の 分解へ
  23. 23. データから距離へ 相関行列なら因子分析 分散共分散行列なら PCAやSEM 距離行列なら MDSやクラスター クロス集計表なら 双対尺度法や 関係・ 関連を表 す行列
  24. 24. 分類のおはなし
  25. 25. クラスター分析の分類 • 外的基準(教師信号)なしの分類法 • 階層的/非階層的/空間的;クラスタ同士の包含関係・ 上下関係があるかどうか • ハード/ソフト;複数のクラスタに属することを許す かどうか
  26. 26. クラスター分析の分類 ハード ソフト 階層的 最長距離法/最短距離法/ 群平均法/重心法/中央値法/ Ward法/McQuitty法 非階層的 k-means法 x-means法 改良k-means法 c-means法 混合分布モデル 空間的 自己組織化マップ
  27. 27. クラスター分析の分類 ハード ソフト 階層的 hclust関数 methodオプションで指定 非階層的 e1071のcmeans() MclustのMclust() 空間的 パッケージkohonen パッケージsom
  28. 28. 分析結果にどの程度 影響するのか?[階層型編] • hclust関数の様々な手法による分類例 最短 最長 群平均 重心 中央値 ward McQ
  29. 29. 分析結果にどの程度 影響するのか?[階層型編]
  30. 30. cf. http://d.hatena.ne.jp/hamadakoichi/20100324 分析結果にどの程度 影響するのか?[階層型編]
  31. 31. • 明確な基準がないのでこれで決まり,とは言えない • 一般にWard法がもっともバランスが良い方法とさ れているのでオススメ • クラスタ数も決め方にルールはない。 • 決めるときはcutreeで 分析結果にどの程度 影響するのか?[階層型編]
  32. 32. 分析結果にどの程度 影響するのか?[非階層型編] • k-means法は直感的に分かりやすく,アルゴリズ ムも簡単で,収束も早い。 • 大規模データもすぐに分類しちゃう。 •    にもデフォルト(stat)で入ってるぐらい。
  33. 33. 分析結果にどの程度 影響するのか?[非階層型編] • k-means法に代表される非階層型モデルは,当初 クラスタ数をアプリオリに定めることに批判 • 統計的基準でクラスタ数を決めるように→xmeans • クラスタと個体との距離をマハラノビス距離で補正 するように→改良k-means
  34. 34. 分析結果にどの程度 影響するのか?[非階層型編] http://aaaazzzz036.hatenablog.com/entry/ 2013/11/27/212109
  35. 35. 分類の分類に 決まり手はない 好きにやったらいいんじゃないの?
  36. 36. 因子分析の分類 • 意外と知られていないのが因 子分析のQ-technique • 個体 項目のデータセットを 転置して因子分析 • →人の因子が出る。プロトタ イプを見つけたりするのに便 利。
  37. 37. 因子分析の分類 • 従来の項目を分類する因子分析はR-technique • 項目 時系列 → 項目因子 P-technique        → 時間因子 O-technique • 個人 時系列 → 人因子  S-technique        → 時間因子 T-technique
  38. 38. v1 v2 v3 v4 … … … … vm 1 2 3 . . . . . . N v1 v2 v3 v4 … … … … vm 1 2 3 . . . . . . N v1 v2 v3 v4 … … … … vm 1 2 3 . . . . . . N データの相と元 • 相mode;変数セットの種類 • 元way;変数セットの組合せ回数 v1 v2 v3 v4 … … … … vm 1 2 3 . . . . . . N 変数 個人 変数 個人 二相二元データ v1 v2 v3 v4 … … … … vm 1 2 3 . . . . . . N 時系列 変数 個人 時間 三相三元データ
  39. 39. データの相と元 • 例えば個人 テレビ番組の種類 放映曜日 評定であ れば四相二元データ,というように増やしていける • それでもデータは二次元のスプレッドシートに広がっ ていく • それぞれの相に対して因子を想定するのが当世風= どこの側面の関連・潜在変数を見るかは自由
  40. 40. 因子分析の分類 • 要は多変量解析というのは • データの関連性を見る(距離でも相関でも  でも) • 見るときにどっちからとか気にしない • 関係性行列になったら分析はなんとでもなる!
  41. 41. 自由にやろうぜ。

×