SlideShare une entreprise Scribd logo
1  sur  6
2011.02 作成

                    マハラノビス距離とユークリッド距離の違い

  車のスピードと停車するまでに必要な距
 離を測定した2変数の cars データセットを




                                                              100 120
 用いて、データ中心からの各データポイント                                                   図1
 の距離を測定する。
  我々が通常距離と呼んでいるものはユーク




                                                              80
 リッド距離だが、相関のある多変量データを




                                                      dist

                                                              60
 取り扱う際にはマハラノビス距離の方が便利。




                                                              40
  方法 1 標準化してユークリッド距離を測定




                                                              20
  変数 dist と speed はそれぞれ尺度が違う

                                                              0
 のでそのままで距離計算をすると第 1 変数                                                      5        10         15      20    25
 の影響が第 2 変数よりも大きくなる。                                                                       speed
  これを避けるために、       まず2変数をそれぞ
 れ標準化し(図 2)、それから二乗和の平方根
 をとって距離を計算する。
         3




                                                                            Histogram of d1
                   図2
         2




                                                                                                 図3
         1




                                                         15
  dist




                                          Frequency

                                                         10
         0
         -1




                                                         5
                                                         0




              -2        -1      0    1

                             speed                                      0       40         80         120
         3




                                                                                          d1
                   図4
         2




                                         距離 d1 が 120 を越える外れ値は 49 番のデ
         1
dist




                                         ータポイント。次に他のデータから外れ気
         0




                                         味なのは緑で示すデータポイントで、距離
                                         が遠い順に 48, 47, 509, 35, 23 番が分布の
         -1




                                         外側にあるということになる。

               -2       -1     0     1

                             speed
方法 2 マハラノビス距離による測定

   方法 1 のユークリッド距離のかわりに、平均値ベクトルと共分散行列から算出するマハ
  ラノビス距離を使用してみる。
   方法 1 と同様、ヒストグラム(図 5)を作成し、で大きな距離とる柱二つ分の色を変えて
  データポイントを表示したのが図 6。緑表示されているのは、データ番号 23 番のみ。


                      Histogram of d2




                                                       120
                                    図5
             30




                                                       80
Frequency




                                                dist
             20




                                                       40
             10




                                                       0
             0




                  0    2   4   6    8    10                  5   10    15     20   25
                               d2                                     speed



             「標準化+ユークリッド距離」と「マハラノビス距離」の違いは、マ
             ハラノビス距離がデータ分散だけでなく相関も考慮しているというこ
             と。つまり、データを多変量標準化して距離尺度を作成していること
             になる。


  ○ マハラノビス距離

            平均値ベクトルが                                  、共分散行列がΣである多変量デー
  タ                                           は、以下により算出される。
おまけ:マハラノビス距離とユークリッド距離の違い

  データ NmA は、独立なデータ数 1000 の正規乱数を二つ組み合わせたもので、NmB もデ
  ータ数 1000 の正規乱数だが変数間に 0.8 の相関がある。

   この二種類のデータについて、それぞれユークリッド距離とマハラノビス距離を計算し、
  データ中心から距離 2 以内の部分を緑、さらに距離 1 以内の部分を赤に塗ってみた。


                      無相関ユーク ッ
                            リド                                                           無相関マ ノ ス
                                                                                             ハラ ビ
          3




                                                                             3
          2




                                                                             2
          1




                                                                             1
NmA[,2]




                                                                   NmA[,2]
          0




                                                                             0
          -1




                                                                             -1
          -2




                                                                             -2
          -3




                                                                             -3




                -3    -2    -1         0       1       2       3                   -3    -2    -1         0       1       2       3

                                NmA[,1]                                                            NmA[,1]



                      相関0.8ユーク ッ
                              リド                                                         相関0.8マ ノ ス
                                                                                               ハラ ビ
          3




                                                                             3
          2




                                                                             2
NmB[,2]




                                                                   NmB[,2]
          1




                                                                             1
          0




                                                                             0
          -1




                                                                             -1
          -2




                                                                             -2
          -3




                                                                             -3




               -3    -2    -1      0       1       2       3                      -3    -2    -1      0       1       2       3

                                NmB[,1]                                                            NmB[,1]



   データが正規分布に従う場合、各データポイントのデータ中心(平均値ベクトル)から
  のマハラノビス距離は F 分布に従う。
Rコード

data(cars)          # cars データ呼び出し
dat<- as.matrix(cars)      # リスト属性の cars データを行列属性に変換して
dat に格納
d <- ncol(dat)             # d: 変数の数
n <- nrow(dat)             # n: データ数
plot(dat)                  # 図 1 が表示される

##### ユークリッド距離による試算

dat.s<- scale(dat)   # 標準化
plot(dat.s)          # 図 2 が表示される

d1 <- sqrt(dat[,1]^2 + dat[,2]^2) # 第一変数と第二変数の二乗和の平方根で距
離計算
hist(d1)                   # 計算された距離をヒストグラムに。図 3。

flg<- rep(1, n)            # 色表示用のデータフラグ作成。初期値は 1(黒)
flg[which(d1>80)] <- 3          # 距離 d1 が 80 を越えるデータを 3(緑)に
flg[which(d1>120)] <- 2         # 距離 d1 が 120 を越えるデータを 2(赤)に
plot(dat.s, pch=20, col=flg)    # 図 4 表示
which(flg==2)       # 赤表示されるデータの番号がわかる。No.49
which(flg==3)       # 緑表示されるデータの番号がわかる。No. 23, 35, 47, 48,
509

##### マハラノビス距離による試算
cv <- cov(dat)             # 共分散行列計算
mn<- colMeans(dat) # 平均値ベクトル算出
d2 <- mahalanobis(dat, mn, cv)    # マハラノビス距離算出
hist(d2)                   # 図 5 の表示

flg2 <- rep(1, n)          # 色表示用のデータフラグ作成。初期値は 1(黒)
flg2[which(d2>6)] <- 3          # 距離 d1 が 6 を越えるデータだけ 3(緑)に
flg2[which(d2>8)] <- 2          # 距離 d1 が 8 を越えるデータだけ 2(赤)に
plot(dat, pch=20, col=flg2)     # 図 4 表示
which(flg2==2)             # 赤表示されるデータの番号がわかる。No.49
#################### おまけ ####################
rm(list=ls(all=TRUE))      # 作業領域のクリア
library(mvtnorm)           # rmvnorm(多変量正規乱数)関数用
set.seed(25)          # 乱数の再現性確保のため

# 共分散行列作成
c08 <- matrix(0.8, ncol=2, nrow=2)
#                    # 対角成分を 1 に
(diag(c08) <- 1)     # 算式を括弧で囲むと内容表示
n1 <- 1000           # 作成するデータ数

# 正規分布データ
NmA<- cbind(rnorm(n1), rnorm(n1))
       # 単変量の独立な正規分布データを組み合わせただけ
NmB<- rmvnorm(n=n1, mean=c(0, 0), sigma=c08)
       # 相関 0.8 の多変量正規分布データ

cor(NmA);     cor(NmB)      # 実相関

# ユークリッド距離の計算
#eucA<- sqrt(diag(scale(NmA) %*% t(scale(NmA))))
#eucB<- sqrt(diag(scale(NmB) %*% t(scale(NmB))))
eucA<- sqrt(diag(NmA %*% t(NmA)))
eucB<- sqrt(diag(NmB %*% t(NmB)))

#マハラノビス距離の計算
mahA<- mahalanobis(NmA, apply(NmA, 2, mean), cov(NmA))
mahB<- mahalanobis(NmB, apply(NmB, 2, mean), cov(NmB))
       # パラメータはデータ・平均値ベクトル・共分散行列
# ユークリッド距離と比較可能にする
# F 検定統計量の計算
eucA.s <- eucA * (n1 - 2)* n1 /((n1^2 - 1)* 2)
eucB.s<- eucB * (n1 - 2)* n1 /((n1^2 - 1)* 2)
mahA.s <- mahA * (n1 - 2)* n1 /((n1^2 - 1)* 2)
mahB.s<- mahB * (n1 - 2)* n1 /((n1^2 - 1)* 2)

# 正規分布の 1σ(約 68.27%)     、2σ(約 95.45%)にあたるF分布の%値を算出
cf1<- qf(0.6827,2, n1 - 2)
cf2<- qf(0.9545, 2, n1 - 2)

# 色設定     距離 1 より内側を赤に
eucA.cl <- rep(1, 1000);
       eucA.cl[which(eucA< 2)] <- 3
       eucA.cl[which(eucA< 1)] <- 2
eucB.cl <- rep(1, 1000);
       eucB.cl[which(eucB< 2)] <- 3
eucB.cl[which(eucB< 1)] <-   2
mahA.cl <- rep(1, 1000);
       mahA.cl[which(mahA.s<cf2)]   <- 3
       mahA.cl[which(mahA.s<cf1)]   <- 2
mahB.cl <- rep(1, 1000);
       mahB.cl[which(mahB.s<cf2)]   <- 3
       mahB.cl[which(mahB.s<cf1)]   <- 2

par(mfrow=c(2,2))      # 2 行 2 列にグラフィック画面分割
  plot(NmA, pch=20,   col=eucA.cl, main="無相関ユークリッド")
  plot(NmA, pch=20,   col=mahA.cl, main="無相関マハラノビス")
  plot(NmB, pch=20,   col=eucB.cl, main="相関 0.8 ユークリッド")
  plot(NmB, pch=20,   col=mahB.cl, main="相関 0.8 マハラノビス")

Contenu connexe

Tendances

Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由tancoro
 
論文の図表レイアウト例
論文の図表レイアウト例論文の図表レイアウト例
論文の図表レイアウト例Sunao Hara
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門ryosuke-kojima
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量についてla_flance
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised LearningまとめDeep Learning JP
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理Taiji Suzuki
 
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...Deep Learning JP
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題joisino
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)cvpaper. challenge
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知Yuya Takashina
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential EquationsDeep Learning JP
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
MS COCO Dataset Introduction
MS COCO Dataset IntroductionMS COCO Dataset Introduction
MS COCO Dataset IntroductionShinagawa Seitaro
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説tancoro
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -tmtm otm
 
深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)Junichiro Katsuta
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 

Tendances (20)

Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由Cosine Based Softmax による Metric Learning が上手くいく理由
Cosine Based Softmax による Metric Learning が上手くいく理由
 
論文の図表レイアウト例
論文の図表レイアウト例論文の図表レイアウト例
論文の図表レイアウト例
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
MS COCO Dataset Introduction
MS COCO Dataset IntroductionMS COCO Dataset Introduction
MS COCO Dataset Introduction
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
Triplet Loss 徹底解説
Triplet Loss 徹底解説Triplet Loss 徹底解説
Triplet Loss 徹底解説
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
 
深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)深層強化学習でマルチエージェント学習(前篇)
深層強化学習でマルチエージェント学習(前篇)
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 

En vedette

異常行動検出入門(改)
異常行動検出入門(改)異常行動検出入門(改)
異常行動検出入門(改)Yohei Sato
 
異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知Ken'ichi Matsui
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編Koichi Hamada
 
Fisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsFisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsTakao Yamanaka
 
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-Koichi Hamada
 
R による文書分類入門
R による文書分類入門R による文書分類入門
R による文書分類入門Takeshi Arabiki
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」tetsuro ito
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習Hidekazu Tanaka
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門Momoko Hayamizu
 
Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」Takeshi Mikami
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木 Miyoshi Yuya
 

En vedette (12)

異常行動検出入門(改)
異常行動検出入門(改)異常行動検出入門(改)
異常行動検出入門(改)
 
異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知
 
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
 
Fisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsFisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight Maps
 
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
[データマイニング+WEB勉強会][R勉強会] はじめてでもわかる R言語によるクラスター分析 - 似ているものをグループ化する-
 
R による文書分類入門
R による文書分類入門R による文書分類入門
R による文書分類入門
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 
Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」Rによるデータサイエンス13「樹木モデル」
Rによるデータサイエンス13「樹木モデル」
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
決定木学習
決定木学習決定木学習
決定木学習
 

Plus de wada, kazumi

Rによる繰り返しの並列処理
Rによる繰り返しの並列処理Rによる繰り返しの並列処理
Rによる繰り返しの並列処理wada, kazumi
 
2018Rユーザ会用
2018Rユーザ会用2018Rユーザ会用
2018Rユーザ会用wada, kazumi
 
Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017wada, kazumi
 
Ⅲ. 資料編 2017
Ⅲ. 資料編 2017Ⅲ. 資料編 2017
Ⅲ. 資料編 2017wada, kazumi
 
Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017wada, kazumi
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017wada, kazumi
 
2017Rユーザ会用
2017Rユーザ会用2017Rユーザ会用
2017Rユーザ会用wada, kazumi
 
Rデモ03_データ分析編2016
Rデモ03_データ分析編2016Rデモ03_データ分析編2016
Rデモ03_データ分析編2016wada, kazumi
 
Rデモ02_入出力編2016
Rデモ02_入出力編2016Rデモ02_入出力編2016
Rデモ02_入出力編2016wada, kazumi
 
Rデモ01_はじめの一歩2016
Rデモ01_はじめの一歩2016Rデモ01_はじめの一歩2016
Rデモ01_はじめの一歩2016wada, kazumi
 
統計環境R_データ分析編2016
統計環境R_データ分析編2016統計環境R_データ分析編2016
統計環境R_データ分析編2016wada, kazumi
 
統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016wada, kazumi
 
統計環境R_データ入出力編2016
統計環境R_データ入出力編2016統計環境R_データ入出力編2016
統計環境R_データ入出力編2016wada, kazumi
 
自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slidesharewada, kazumi
 
Rプログラミング03 データ分析編
Rプログラミング03 データ分析編Rプログラミング03 データ分析編
Rプログラミング03 データ分析編wada, kazumi
 
Rプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモRプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモwada, kazumi
 
Rプログラミング02 データ入出力編
Rプログラミング02 データ入出力編Rプログラミング02 データ入出力編
Rプログラミング02 データ入出力編wada, kazumi
 
Rプログラミング02 「データ入出力編」デモ
Rプログラミング02 「データ入出力編」デモRプログラミング02 「データ入出力編」デモ
Rプログラミング02 「データ入出力編」デモwada, kazumi
 
Rプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモRプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモwada, kazumi
 
Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩wada, kazumi
 

Plus de wada, kazumi (20)

Rによる繰り返しの並列処理
Rによる繰り返しの並列処理Rによる繰り返しの並列処理
Rによる繰り返しの並列処理
 
2018Rユーザ会用
2018Rユーザ会用2018Rユーザ会用
2018Rユーザ会用
 
Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017Ⅳ. 可視化事例集 2017
Ⅳ. 可視化事例集 2017
 
Ⅲ. 資料編 2017
Ⅲ. 資料編 2017Ⅲ. 資料編 2017
Ⅲ. 資料編 2017
 
Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017Ⅱ. データ分析編 2017
Ⅱ. データ分析編 2017
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017
 
2017Rユーザ会用
2017Rユーザ会用2017Rユーザ会用
2017Rユーザ会用
 
Rデモ03_データ分析編2016
Rデモ03_データ分析編2016Rデモ03_データ分析編2016
Rデモ03_データ分析編2016
 
Rデモ02_入出力編2016
Rデモ02_入出力編2016Rデモ02_入出力編2016
Rデモ02_入出力編2016
 
Rデモ01_はじめの一歩2016
Rデモ01_はじめの一歩2016Rデモ01_はじめの一歩2016
Rデモ01_はじめの一歩2016
 
統計環境R_データ分析編2016
統計環境R_データ分析編2016統計環境R_データ分析編2016
統計環境R_データ分析編2016
 
統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016
 
統計環境R_データ入出力編2016
統計環境R_データ入出力編2016統計環境R_データ入出力編2016
統計環境R_データ入出力編2016
 
自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare
 
Rプログラミング03 データ分析編
Rプログラミング03 データ分析編Rプログラミング03 データ分析編
Rプログラミング03 データ分析編
 
Rプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモRプログラミング03 「データ分析編」デモ
Rプログラミング03 「データ分析編」デモ
 
Rプログラミング02 データ入出力編
Rプログラミング02 データ入出力編Rプログラミング02 データ入出力編
Rプログラミング02 データ入出力編
 
Rプログラミング02 「データ入出力編」デモ
Rプログラミング02 「データ入出力編」デモRプログラミング02 「データ入出力編」デモ
Rプログラミング02 「データ入出力編」デモ
 
Rプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモRプログラミング01 「はじめの一歩」 演習デモ
Rプログラミング01 「はじめの一歩」 演習デモ
 
Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩Rプログラミング01 はじめの一歩
Rプログラミング01 はじめの一歩
 

Dernier

3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイントshu1108hina1020
 
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」inspirehighstaff03
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdfoganekyokoi
 
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」inspirehighstaff03
 
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」inspirehighstaff03
 
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slidessusere0a682
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfoganekyokoi
 
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」inspirehighstaff03
 
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」inspirehighstaff03
 
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」inspirehighstaff03
 
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」inspirehighstaff03
 
My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」inspirehighstaff03
 
My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」inspirehighstaff03
 
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」inspirehighstaff03
 
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfMy Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfinspirehighstaff03
 
My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」inspirehighstaff03
 
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」inspirehighstaff03
 
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」inspirehighstaff03
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1Toru Oga
 

Dernier (20)

3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
 
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdf
 
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」
 
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
 
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
 
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
 
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
 
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
 
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」
 
My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」
 
My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」
 
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
 
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfMy Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
 
My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」
 
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
 
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1
 

マハラノビス距離とユークリッド距離の違い

  • 1. 2011.02 作成 マハラノビス距離とユークリッド距離の違い 車のスピードと停車するまでに必要な距 離を測定した2変数の cars データセットを 100 120 用いて、データ中心からの各データポイント 図1 の距離を測定する。 我々が通常距離と呼んでいるものはユーク 80 リッド距離だが、相関のある多変量データを dist 60 取り扱う際にはマハラノビス距離の方が便利。 40 方法 1 標準化してユークリッド距離を測定 20 変数 dist と speed はそれぞれ尺度が違う 0 のでそのままで距離計算をすると第 1 変数 5 10 15 20 25 の影響が第 2 変数よりも大きくなる。 speed これを避けるために、 まず2変数をそれぞ れ標準化し(図 2)、それから二乗和の平方根 をとって距離を計算する。 3 Histogram of d1 図2 2 図3 1 15 dist Frequency 10 0 -1 5 0 -2 -1 0 1 speed 0 40 80 120 3 d1 図4 2 距離 d1 が 120 を越える外れ値は 49 番のデ 1 dist ータポイント。次に他のデータから外れ気 0 味なのは緑で示すデータポイントで、距離 が遠い順に 48, 47, 509, 35, 23 番が分布の -1 外側にあるということになる。 -2 -1 0 1 speed
  • 2. 方法 2 マハラノビス距離による測定 方法 1 のユークリッド距離のかわりに、平均値ベクトルと共分散行列から算出するマハ ラノビス距離を使用してみる。 方法 1 と同様、ヒストグラム(図 5)を作成し、で大きな距離とる柱二つ分の色を変えて データポイントを表示したのが図 6。緑表示されているのは、データ番号 23 番のみ。 Histogram of d2 120 図5 30 80 Frequency dist 20 40 10 0 0 0 2 4 6 8 10 5 10 15 20 25 d2 speed 「標準化+ユークリッド距離」と「マハラノビス距離」の違いは、マ ハラノビス距離がデータ分散だけでなく相関も考慮しているというこ と。つまり、データを多変量標準化して距離尺度を作成していること になる。 ○ マハラノビス距離 平均値ベクトルが 、共分散行列がΣである多変量デー タ は、以下により算出される。
  • 3. おまけ:マハラノビス距離とユークリッド距離の違い データ NmA は、独立なデータ数 1000 の正規乱数を二つ組み合わせたもので、NmB もデ ータ数 1000 の正規乱数だが変数間に 0.8 の相関がある。 この二種類のデータについて、それぞれユークリッド距離とマハラノビス距離を計算し、 データ中心から距離 2 以内の部分を緑、さらに距離 1 以内の部分を赤に塗ってみた。 無相関ユーク ッ リド 無相関マ ノ ス ハラ ビ 3 3 2 2 1 1 NmA[,2] NmA[,2] 0 0 -1 -1 -2 -2 -3 -3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 NmA[,1] NmA[,1] 相関0.8ユーク ッ リド 相関0.8マ ノ ス ハラ ビ 3 3 2 2 NmB[,2] NmB[,2] 1 1 0 0 -1 -1 -2 -2 -3 -3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 NmB[,1] NmB[,1] データが正規分布に従う場合、各データポイントのデータ中心(平均値ベクトル)から のマハラノビス距離は F 分布に従う。
  • 4. Rコード data(cars) # cars データ呼び出し dat<- as.matrix(cars) # リスト属性の cars データを行列属性に変換して dat に格納 d <- ncol(dat) # d: 変数の数 n <- nrow(dat) # n: データ数 plot(dat) # 図 1 が表示される ##### ユークリッド距離による試算 dat.s<- scale(dat) # 標準化 plot(dat.s) # 図 2 が表示される d1 <- sqrt(dat[,1]^2 + dat[,2]^2) # 第一変数と第二変数の二乗和の平方根で距 離計算 hist(d1) # 計算された距離をヒストグラムに。図 3。 flg<- rep(1, n) # 色表示用のデータフラグ作成。初期値は 1(黒) flg[which(d1>80)] <- 3 # 距離 d1 が 80 を越えるデータを 3(緑)に flg[which(d1>120)] <- 2 # 距離 d1 が 120 を越えるデータを 2(赤)に plot(dat.s, pch=20, col=flg) # 図 4 表示 which(flg==2) # 赤表示されるデータの番号がわかる。No.49 which(flg==3) # 緑表示されるデータの番号がわかる。No. 23, 35, 47, 48, 509 ##### マハラノビス距離による試算 cv <- cov(dat) # 共分散行列計算 mn<- colMeans(dat) # 平均値ベクトル算出 d2 <- mahalanobis(dat, mn, cv) # マハラノビス距離算出 hist(d2) # 図 5 の表示 flg2 <- rep(1, n) # 色表示用のデータフラグ作成。初期値は 1(黒) flg2[which(d2>6)] <- 3 # 距離 d1 が 6 を越えるデータだけ 3(緑)に flg2[which(d2>8)] <- 2 # 距離 d1 が 8 を越えるデータだけ 2(赤)に plot(dat, pch=20, col=flg2) # 図 4 表示 which(flg2==2) # 赤表示されるデータの番号がわかる。No.49
  • 5. #################### おまけ #################### rm(list=ls(all=TRUE)) # 作業領域のクリア library(mvtnorm) # rmvnorm(多変量正規乱数)関数用 set.seed(25) # 乱数の再現性確保のため # 共分散行列作成 c08 <- matrix(0.8, ncol=2, nrow=2) # # 対角成分を 1 に (diag(c08) <- 1) # 算式を括弧で囲むと内容表示 n1 <- 1000 # 作成するデータ数 # 正規分布データ NmA<- cbind(rnorm(n1), rnorm(n1)) # 単変量の独立な正規分布データを組み合わせただけ NmB<- rmvnorm(n=n1, mean=c(0, 0), sigma=c08) # 相関 0.8 の多変量正規分布データ cor(NmA); cor(NmB) # 実相関 # ユークリッド距離の計算 #eucA<- sqrt(diag(scale(NmA) %*% t(scale(NmA)))) #eucB<- sqrt(diag(scale(NmB) %*% t(scale(NmB)))) eucA<- sqrt(diag(NmA %*% t(NmA))) eucB<- sqrt(diag(NmB %*% t(NmB))) #マハラノビス距離の計算 mahA<- mahalanobis(NmA, apply(NmA, 2, mean), cov(NmA)) mahB<- mahalanobis(NmB, apply(NmB, 2, mean), cov(NmB)) # パラメータはデータ・平均値ベクトル・共分散行列 # ユークリッド距離と比較可能にする # F 検定統計量の計算 eucA.s <- eucA * (n1 - 2)* n1 /((n1^2 - 1)* 2) eucB.s<- eucB * (n1 - 2)* n1 /((n1^2 - 1)* 2) mahA.s <- mahA * (n1 - 2)* n1 /((n1^2 - 1)* 2) mahB.s<- mahB * (n1 - 2)* n1 /((n1^2 - 1)* 2) # 正規分布の 1σ(約 68.27%) 、2σ(約 95.45%)にあたるF分布の%値を算出 cf1<- qf(0.6827,2, n1 - 2) cf2<- qf(0.9545, 2, n1 - 2) # 色設定 距離 1 より内側を赤に eucA.cl <- rep(1, 1000); eucA.cl[which(eucA< 2)] <- 3 eucA.cl[which(eucA< 1)] <- 2 eucB.cl <- rep(1, 1000); eucB.cl[which(eucB< 2)] <- 3
  • 6. eucB.cl[which(eucB< 1)] <- 2 mahA.cl <- rep(1, 1000); mahA.cl[which(mahA.s<cf2)] <- 3 mahA.cl[which(mahA.s<cf1)] <- 2 mahB.cl <- rep(1, 1000); mahB.cl[which(mahB.s<cf2)] <- 3 mahB.cl[which(mahB.s<cf1)] <- 2 par(mfrow=c(2,2)) # 2 行 2 列にグラフィック画面分割 plot(NmA, pch=20, col=eucA.cl, main="無相関ユークリッド") plot(NmA, pch=20, col=mahA.cl, main="無相関マハラノビス") plot(NmB, pch=20, col=eucB.cl, main="相関 0.8 ユークリッド") plot(NmB, pch=20, col=mahB.cl, main="相関 0.8 マハラノビス")