二次元でユークリッド距離を図示してみた。
目次
二次元のユークリッド距離を示すサンプルデータ
二次元でユークリッド距離を例示してみるためのサンプルデータは、R に組み込まれているUSArrestsというデータを使う。
USArrestsの1列目 Murderと2列目 Assaultを使って図示してみる。
head()でデータの先頭部分を表示してみる。
> head(USArrests)
Murder Assault UrbanPop Rape
Alabama 13.2 236 58 21.2
Alaska 10.0 263 48 44.5
Arizona 8.1 294 80 31.0
Arkansas 8.8 190 50 19.5
California 9.0 276 91 40.6
Colorado 7.9 204 78 38.7
二次元空間にサンプルデータをプロットしてみる
二次元空間、つまり縦軸と横軸がある平面にサンプルデータMurderとAssaultをプロットしてみる。
plot()を使う。
with(USArrests, plot(Murder, Assault))
二次元ユークリッド距離の計算例
二次元ユークリッド距離の計算例としてAlabama(1行目)とAlaska(2行目)の距離を計算してみる。
図にAlabamaとAlaskaのラベルと距離を表す実線を描き入れてみる。
text(USArrests[1,1],USArrests[1,2]-7,"Alabama")
text(USArrests[2,1],USArrests[2,2]+7,"Alaska")
arrows(USArrests[1,1],USArrests[1,2],USArrests[2,1],USArrests[2,2],length=0)
二次元ユークリッド距離を計算する
AlabamaとAlaskaを結んだ実線の距離を計算する。
計算方法は、X軸、Y軸ともに、AlabamaとAlaskaの差を算出し、二乗して合計し、最後に平方根を取る、という方法だ。
A.A.dist <- round(sqrt((USArrests[1,1]-USArrests[2,1])^2+(USArrests[1,2]-USArrests[2,2])^2),1)
text((USArrests[1,1]+USArrests[2,1])/2, (USArrests[2,2]+USArrests[1,2])/2-7, A.A.dist)
距離は27.2と計算された。
図中に表示した。
まとめ
ユークリッド距離を二次元の世界で例示してみた。
二次元の世界つまり平面だと図示しやすいし理解しやすい。
実際のユークリッド距離は、何次元にも拡張して計算できるため、図では表示できなくなる。
しかし、原則はいつも同じで、2つの点のユークリッド距離は、点の座標軸ごとに差を取って、差を二乗をし、すべてを合計して、平方根を取る、と計算する。
関連記事
R でユークリッド距離を
R でユークリッド距離を求める方法
ユークリッドは紀元前325年に生まれたギリシャの数学者。 著した著書は数学のなかでも特に幾何学の教科書として有名であった。 ユークリッドが考え出した「距離」とは?…
コメント
コメント一覧 (1件)
[…] ユークリッドが考え出した「距離」とは?… あわせて読みたい R でユークリッド距離を二次元で表示してみた 二次元でユークリッド距離を図示してみた。 […]