【Rによるデータサイエンス】多次元尺度法

【定義】
多次元尺度法とは。

多次元尺度法(MDS:Multi-Dimensional Scaling)は、個体間の親近性データを2次元あるいは3次元空間に、類似したものを近く、そうでないものを遠くに配置する方法である。

ここでイキナリ分からない。
親近性データとは・・・。どうやら親近性データという用語は無いようで、親近とは近くにあるという意味だから、親近性データとは近くにあるデータということだろうか。よくわからないと思いつつ読み進めると、MDSについて次のように言い換えていた。

MDSは、データから距離(あるいは類似度)を求め、そのデータにも続いて2〜3次元空間上の各点(個体)の座標値を求め、視覚的にその相対関係を考察するデータ解析方法である。

たとえば、関西の主要府県の地点間距離が与えられていて、これから地点の2次元座標値を求め、視覚的に相対関係を考察すると考えれば良い。

MDSは、計量MDSと非計量MDSに大別される。
計量MDSとは、距離データを低次元に配置する方法である。
非計量MDSとは、類似度や相関係数行列のような厳密には距離とは言えないが、距離に変換可能なデータを低次元に配置する方法。

【計量的MDSのケーススタディ
1.距離を求める
2.座標値を求める
関数cmdscaleを実行するとイキナリ座標値が求まるが、これはcmdscale関数が関数内部で距離を求めた後に、変換を施した行列の固有ベクトルの座標値を返却するからだ。

> eur.cmd<-cmdscale(eurodist)
> eur.cmd
                        [,1]        [,2]
Athens           2290.274680  1798.80293
Barcelona        -825.382790   546.81148
Brussels           59.183341  -367.08135
Calais            -82.845973  -429.91466
Cherbourg        -352.499435  -290.90843
Cologne           293.689633  -405.31194
Copenhagen        681.931545 -1108.64478
Geneva             -9.423364   240.40600
Gibraltar       -2048.449113   642.45854
Hamburg           561.108970  -773.36929
Hook of Holland   164.921799  -549.36704
Lisbon          -1935.040811    49.12514
Lyons            -226.423236   187.08779
Madrid          -1423.353697   305.87513
Marseilles       -299.498710   388.80726
Milan             260.878046   416.67381
Munich            587.675679    81.18224
Paris            -156.836257  -211.13911
Rome              709.413282  1109.36665
Stockholm         839.445911 -1836.79055
Vienna            911.230500   205.93020

3.2〜3次元上で個体を配置する(散布図を作成する)
可視化はplot関数を使用すれば良い。

> plot(eur.cmd,type="n")
> text(eur.cmd,rownames(eur.cmd))

4.信頼性について考察する
3で作成したMDS配置図における距離は、用いた距離の推測値である。
推測値の当てはまりの良さは両距離行列の相関係数を用いて考察することができる。

MDS配置図の距離を求める。

> dist(eur.cmd)
                   Athens Barcelona  Brussels    Calais Cherbourg   Cologne Copenhagen    Geneva Gibraltar   Hamburg
Barcelona       3357.7975                                                                                           
Brussels        3109.4732 1271.8716                                                                                 
Calais          3255.5927 1226.9290  155.3073                                                                       
Cherbourg       3369.1466  961.9737  418.6705  303.3739                                                             
Cologne         2973.9661 1469.3067  237.6021  377.3385  656.2381                                                   
Copenhagen      3322.6525 2238.8684  968.3654 1022.5259 1318.6130  803.3734                                         
Geneva          2777.9871  871.5929  611.3491  674.3298  632.4525  713.3226  1515.8857                              
Gibraltar       4490.1733 1226.8006 2336.9393 2239.1025 1935.8252 2565.8209  3243.6617 2078.2859                    
Hamburg         3099.3683 1914.4808  645.7548  729.8212 1033.1741  454.9498   356.3815 1163.2917 2968.8991          
Hook of Holland 3167.1797 1477.2645  210.7337  275.0595  578.3819  193.2176   761.6368  808.7878 2513.8534  455.1278
Lisbon          4573.2552 1216.1548 2037.1936 1913.1400 1618.6599 2274.5884  2861.6386 1935.0946  604.0745 2628.1668
Lyons           2988.5438  698.6800  623.4377  633.4875  494.3436  788.3241  1582.4131  223.4542 1878.0684 1242.0486
Madrid          4002.4829  644.6856 1628.1236 1529.1656 1225.9198 1858.5007  2536.3542 1415.4452  709.9526 2258.9512
Marseilles      2948.7309  549.1078  836.6722  846.9026  681.7789  991.2102  1790.4100  325.8322 1767.2483 1446.1327
Milan           2455.3476 1094.0285  809.2916  913.7058  936.4318  822.6404  1582.3662  322.6968 2320.3385 1227.3309
Munich          2418.4839 1487.7987  692.9967  843.1010 1011.1284  568.4227  1193.5546  617.9640 2695.2152  854.9644
Paris           3166.7363 1010.6649  266.4253  230.9487  211.2989  490.5881  1228.4331  474.9985 2075.2899  911.8926
Rome            1724.6580 1634.6459 1613.2878 1731.2024 1757.3926 1570.6933  2218.1817 1127.7494 2797.1071 1888.5679
Stockholm       3914.3894 2907.4410 1663.9876 1682.2372 1952.0464 1531.9859   744.9879 2243.9529 3806.1284 1099.2435
Vienna          2106.8950 1769.7530 1026.8041 1180.0367 1357.8888  868.8922  1334.4232  921.2991 2991.6986 1040.0060

用いた距離を求める。

> eurodist
                Athens Barcelona Brussels Calais Cherbourg Cologne Copenhagen Geneva Gibraltar Hamburg Hook of Holland Lisbon Lyons Madrid Marseilles Milan Munich
Barcelona         3313                                                                                                                    
Brussels          2963      1318                                                                                                          Calais            3175      1326      204                                                                                                 
Cherbourg         3339      1294      583    460                                                                                          
Cologne           2762      1498      206    409       785                                                                                
Copenhagen        3276      2218      966   1136      1545     760                                                                        
Geneva            2610       803      677    747       853    1662       1418                                                             
Gibraltar         4485      1172     2256   2224      2047    2436       3196   1975                                                      
Hamburg           2977      2018      597    714      1115     460        460   1118      2897                                            
Hook of Holland   3030      1490      172    330       731     269        269    895      2428     550                                    
Lisbon            4532      1305     2084   2052      1827    2290       2971   1936       676    2671            2280                    
Lyons             2753       645      690    739       789     714       1458    158      1817    1159             863   1178             
Madrid            3949       636     1558   1550      1347    1764       2498   1439       698    2198            1730    668  1281       
Marseilles        2865       521     1011   1059      1101    1035       1778    425      1693    1479            1183   1762   320   1157
Milan             2282      1014      925   1077      1209     911       1537    328      2185    1238            1098   2250   328   1724        618             
Munich            2179      1365      747    977      1160     583       1104    591      2565     805             851   2507   724   2010       1109   331       
Paris             3000      1033      285    280       340     465       1176    513      1971     877             457   1799   471   1273        792   856    821
Rome               817      1460     1511   1662      1794    1497       2050    995      2631    1751            1683   2700  1048   2097       1011   586    946
Stockholm         3927      2868     1616   1786      2196    1403        650   2068      3886     949            1500   3231  2108   3188       2428  2187   1754
Vienna            1991      1802     1175   1381      1588     937       1455   1019      2974    1155            1205   2937  1157   2409       1363   898    428

MDS配置図の距離dist(eur.cmd)=dist(cmdscale(eurodist))と、実際の距離eurodistの相関係数を調べる。

> cor(eurodist,dist(cmdscale(eurodist)))^2
[1] 0.9722261