2020年9月14日月曜日

Rで最大エントロピーを用いた生息適地

午前
・標本整理

午後
・会議
・学会業務
・会議
・書類作成

Rで最大エントロピーを用いた生息適地の推定に関する土日の悪戦苦闘メモ。

色々とやり方があることが分かった。

まず、この本では、バッチモード(?)でmaxentを実行する方法が書かれている。

コマンドでmaxent.jarを実行するということだと思うけど、私にはできなかった。

ちなみに、この本で主に扱われているbiomod2パッケージでは、バッチモードを使わなくても
BIOMOD_Modeling(
	models = c("MAXENT.Phillips")
	)
で実行できる。しかし、解析オプションの設定や結果の出力がうまく制御できなかった。

ということで、biomod2は挫折した。ただ、他のモデルを比較したり、アンサブル予測をするには、biomod2上で実行する必要があるので(?)、今後の課題としておく。

Rからmaxent.jarを実行するにはもう一つ方法がある。dismoパッケージを経由する方法。こちらは出力されるデータが(私には)扱いやすかった。

マニュアル通りにやればこんな感じの地図が作れる。

また、そもそもJavaを使わずにmaxentをRで実行するためのmaxnetパッケージというのがある(スペルがややこしいので注意)。本家Maxentを作った本人によって作られており、Rで最大エントロピーを用いた生息適地の推定をするなら、これが本命かも。

kh-blogさんによる日本語での詳しい説明がある。

Rでやるならこれが良いのかも。他にも、MIAmaxent、rmaxent、maxlikeなんてもあるらしい。maxlikeは以前使ったことがあるか、前2者は詳細不明。

地図にプロットする際に、確率ではなく、ある閾値で区切って在 or 不在の二値化にしたいことも多いはず。

これについては、自動で計算してくれる関数をCecina Babich Morrowさんsが公開している。

上の地図をminimum training presence (MTP)で作図してみた。MTPでは、種の分布が発見された地点を全て、最適地に含むように閾値を指定する。

また、閾値が決まっているならば、plot()の機能を使う方が安心かも。
breakpoints <- c(0,0.1,0.2) #区切りを決める
colors <- c("red","blue") #区間の色を決める
plot(model_pred, breaks=breakpoints,col=colors, legend = FALSE)

2020年9月11日金曜日

意味のない結果

午前
・標本整理

午後
・データ解析

想像はしていたが、コマンドを参考にやっても色々とハマった。

半日かけて、実行することはできた。データが少ないせいか、設定の問題か、意味のない結果になった。色々とパラメーターの検討が必要だ。

2020年9月10日木曜日

白地図

午前
・標本整理

午後
・研究相談
・学会業務
・データ解析

論文作成(和文だけど)に向けた解析。最近は、OpenStreetMapを使うことが多いが、白地図は、Natural Earthでダウンロートしたshpも使っている。

Rから直接取得することもできる。1:110mスケール、日本が、、、。世界地図で使うスケール。
library(rnaturalearth)
library(sp)
sp::plot(ne_countries(country = 'japan', scale = 110))
日本だけを使う時は、1:10mスケールが良い。
library(rnaturalearth)
library(sp)
sp::plot(ne_countries(country = 'japan', scale = 10))
行政区画も使いたいときは、GADMのデータが使える。
library(raster)
JPN <- getData("GADM", country="JPN", level=1)
plot(JPN)
大陸も入れるときは、世界地図を取得して切りとれば良い。

plot() で出力しているので、色を塗ったりすることも簡単にできる。ナカナカ楽しい。

2020年9月9日水曜日

AR(拡張現実)

午前
・標本整理

午後
・学会業務
・勉強

とある助成金(科研ではない)に書いてしまったAR(拡張現実)。まだ、採択された訳ではないが、採択されそうな気がするので少し勉強しておく。

もちろんARがメインの研究ではない。

ARとは、スマホのカメラを通して風景をみると、実際にはないものが見える、というもの。

と言っても、AR.jsというARをするためのJavascriptが公開されているので、それを実行するだけ。

ちなみに、AR.js StudioというGUIだけでARを作成するサイトもある。

フリーにも関わらず。3つの方法でARを実行することができる。

Image Tracking Example
指定した画像にカメラを向けると、無いものが見える(多分)。

Marker Based Example
指定されたメークにカメラを向けると、無いものが見える(多分)。

で、やりたかったのが、Location Based Example。

上記の2つとは異なり、出現する場所を緯度経度で指定でき、何もなくてもキャラなどを出現させることができる。

見づらいけど、構内に「立ち入り禁止ではない」と表示されている。
道路にMongoloniscus koreanusが出現。
画像がダサいのは、アップした画像がダサいから。背景を透明にしてアップすれば、もう少しマシになると思う。

ただ、私のスマホ(ZenFone 2 Laser)のせいかも知れないが、この方法はスマホのGPSに依存するので、電波の状況によってかなり不安定になる。

また、ブラウザやOSにも色々と制限があるようで、メチャクチャ便利とまではいかないが、こんなことが無料で簡単にできるは凄いとしか言いようがない。

採択されたら真面目に準備する。

2020年9月8日火曜日

多重検定に関する問題

午前
・標本整理

午後
・学会業務
・勉強

多重検定に関する問題について勉強することになった。

学生の頃に指摘されて、「おぉ」と痛感したことを覚えている。

統計検定あるあるで、3群(以上)でANOVAをしたのち、どの群間で差があるかを調べるために、t検定をやりまくるヤツ。

しかし、最近、多重検定問題で検索すると、よく目にするのが「多項目の検定(足立, 1998)」と呼ばれる問題。

2群を複数の項目で比較することによって発生する。マイクロアレイの解析で陥りやすいそうで、それに関する記事がよく検索される。

足立(1998)によると、具体例として「多群の対比較の検定」、「多項目の検定」、「経時的データの輪切り検定」、「多種検定」、「サブグループ検定」、「中間解析」、「結果が出た後のsnooping」が挙げられている。

対処法としては「事前」と「事後」がある。

「事後」の対策として有名なのが、ボンフェロー二補正やTukey's HSD検定などがある。これは全体の有意水準を下がらないように制御するものである。

ただ、この方法だと、例えば、多項目の検定のとき、項目数が100個あったらまず違いがでない(マイクロアレイは数千〜万?)。そのために、第二種の過ちを制御する(?違うかも)Benjamini and Hochberg法やStorey法などがある。

後者は、勉強不足でまだ良く分かっていない。

文献

足立 (1998) らくらく生物統計学. 中山書店.

2020年9月7日月曜日

ハマダンゴムシの色彩変異

午前
・標本整理

午後
・授業準備

日本産ワラジムシ類の文献が500本に到達。見落としている文献が結構ある。

ハマダンゴムシの色彩変異の論文があった。並べると綺麗だな。

しばらくは、これを使いこなせるように練習の日々が続きそう。

2020年9月4日金曜日

ModestR

午前
・標本整理

午後
・授業準備

生物の分布推定がGUIでできるソフトとしてModestRというのがある。

使ったことはないが、HPを観た感じだと様々な解析ができるようだ。

名前にRと付いているが、あのRとは関係ない?みたい。

Windows版のソフトが無料でダウンロードできる。