2014年3月27日木曜日

混合分布

修論手伝いで市内のワラジムシ類探し。野外調査は室内実験に比べて楽と思われがちだけど、研究目的にあった調査地点選びはナカナカ難しい。

現実的に作業ができる所と、研究目的を考慮して決める必要があるが、これには経験と研究内容の「深い」理解が必要。もうしばらくは付き添いが必要そう。

昨夜、テレビを観ながら、国外に行ってしまった旧大学院生のまとめ方についてボーと考えてたら重要なことに気づいたのでメモ。

ワラジムシ類の生活史を調べており、体長の頻度分布からコホートを推定しなければならない。

例えば、体長のヒストグラムがこのようになった場合、ピーク(コホートのモードと考える)が2つと考えて良いのかは悩ましいところである。


しかし、この区切り方で、結論が大きく変わってしまいそうなので、何か説得力のある方法を考えないとマズいな、と気づいた。

そこで、資源として重要な魚類とか、同じ甲殻類のプランクトンとかの研究で使用されている方法があるだろう、と携帯で調べてたら、混合分布という分布が複数混じったデータを扱う分野があるそうで、体長が正規分布していると仮定することで、コホート推定に利用できることが分かった。

熊谷さんのHP丁寧な解説があったので、私もできそうな所だけ、とりあえず試してみた(コマンドは熊谷さんのHPを参照して下さい)。

こんな感じのデータがある。


library(mclust)
plot(mclustBIC(dat$Head))

で、グループ分け数ごとのBICを算出してくれる。最大値を選べば良いみたいで、ここでは2つのグループ(2つの正規分布が混じっている)に分けるのが良いと考えられる。


Eは分散がグループ間で共通、Vは異なる、と仮定しており、この例ではほとんど差がないが、微妙にV(分散は異なる)の方が高い値を示した。

Mc <- densityMclust(dat$Head, modelNames="V") #densityMclust()密度関数を算出する。
plot(Mc, data=dat$Head)


とすれば、データのヒストグラムと混合分布の密度関数を表示してくれる。本当は、2つの正規分布が独立しているグラフにしたいのだが、私の多少の努力では解決できず。

根元の一部を除いてほとんど銀歯になっていた奥歯が、昨日、ハイチュウを食べていたら外れた。左側で物が噛めず苦労する。