Rの自己組織化マップを利用して、確認種リストから調査地点のグループ分けを行う方法

自然環境調査では、地点ごとの確認種リストを作成します。この確認種リストから、自己組織化マップ(SOM)を使って、調査地点をグループ分けする方法を紹介します。

1.以下のような調査結果をEXCELで作成します。

調査地点 アカネズミ ヒメネズミ カワネズミ ドブネズミ
地点A    
地点B    
地点C  
地点D    
地点E    
地点F  

2.確認された地点→1、確認されていない地点→0にして、csvで保存します。

調査地点 アカネズミ ヒメネズミ カワネズミ ドブネズミ
地点A 1 0 1 0
地点B 0 1 1 0
地点C 0 1 1 1
地点D 1 0 0 1
地点E 1 0 1 0
地点F 1 0 1 1

3.Rを起動してパッケージ→パッケージのインストールで"kohonen"をインストールします。

4.Rのコンソールで以下のように入力します。

#ライブラリ読み込み
library(kohonen)

#csvデータ読み込み
data <- read.csv("data.csv",header=T,row.names=1)

#0〜1で標準化して、2×2の格子状の地図で、学習回数500回で、somデータを作成
dataSOM <-som(scale(data),grid = somgrid(2,2,"rectangular"),rlen=500)

#似た地点が同じ格子、近くの格子に入るポジショニングマップを表示
plot(dataSOM,type="mapping",labels=rownames(data),main="ポジショニングマップ")

#2×2の格子ごとに、似た地点が何個あるかをグラフに表示
plot(dataSOM,type="counts",main="各ユニットのオブザベーション数")

#2×2の格子ごとに、その格子の特徴を表示
plot(dataSOM,type="codes",main="コード情報")

#データの収束具合をグラフに表示
plot(dataSOM,type="changes",main="類似度の変化")


確認された種が似ている調査地点が、近くにプロットされています。

※kohonenライブラリは、グリッド数が地点数より多いときに使えます。
※somライブラリというのもあります。

原理を知りたい方は、↓を読んでみてください。