読者です 読者をやめる 読者になる 読者になる

Rでの一般化線形混合モデル(GLMM)解析、どのモデルを使うか

ところで、GLMMについての説明をとてもおおざっぱにすると、芯になる分布を決めておき、さらに個体差とか場所による差をモデルに組み込んで実際のデータにあてはめるという解析です。芯となる分布の形は次のようなものがあります。

0,1データ:ベルヌーイ分布(二項分布の特殊なケース)

0,1,2,3,…N(上限がある)というデータ:二項分布

0,1,2,3,…(上限がない)というデータ:ポアソン分布

0以上の連続値のデータ:ガンマ分布

連続値のデータ:正規分布

 

どのような分布にあてはめるのが最もよいか、個体差や場所差を組み込んだほうがよいのか、などを吟味することになります。その際にはAIC赤池の情報化基準)を用います。

Rでの一般化線形混合モデル(GLMM)解析、はじめの一歩、つづき

RとパッケージglmmMLがそろったらデータを用意します。サンプルデータが北大の久保さんのウェブサイトにあり、岩波書店から出版されているご著書(7.4.1の章)と比べながら作業できます。(下記ウェブサイトからサンプルデータをダウンロード可能)

生態学データ解析 - 本/データ解析のための統計モデリング入門

なお、RではExcelCSVデータを読むことができます。サンプルデータをわかりやすいところに保存しておいたら、Rを立ち上げてコンソールに次のように打ち込みます。

>d<-read.csv(file.choose())

このdは読み込ませたデータセットにつける名前です。なので、違う名前でもよいわけで、下記ではdata1とつけています。また、コンソールのあとに「<ー」となっていますが、イコールと同じ意味です。慣れている人は上記のfile.chooseというコマンドを使わないでできるようですが、初心者にはこのコマンドが使いやすいのでした。しかし、フォルダやファイル名は英名にしておいたほうが無難だと思います。

f:id:darusmart:20150208133734p:plain

するとどのファイルを読み込ませるか、指定できますので先ほど保存しておいたフォルダに行って、ファイルを選べばOKです。久保さんのサンプルデータは次のようになっています。idの列は個体番号を示しているようですが、このままではただの数値になってしまうので指定する必要があります。このあたりは久保さんの本に丁寧に解説されています。

 

f:id:darusmart:20150208134006p:plain

 

Rでの一般化線形混合モデル(GLMM)解析、はじめの一歩

生態学の分野では統計解析で一般化線形モデル(GLM)や一般化線形混合モデル(GLMM)が利用されるようになっています。実際に解析をはじめる際に、ちょっとしたことでつまずいてきた経験からやはり備忘録を残しておきます。(コンピュータに詳しい人にとって、とても当たり前の話が私のような初心者にはハードルになるのです!)

Rのダウンロードはさすがにできているという前提で進めます。GLMの分析ツールはRにデフォルトで組み込まれているようですが、GLMMは入っていないので別途専用のパッケージ(glmmML)をダウンロード、インストールする必要があります。これはRを立ち上げてダウンロードするのが確実です。

まず、Rのメニューからパッケージタブを選び、「CRANミラーサイトの設定」をクリックします。これはパッケージをダウンロードしてくる相手先の設定です。JAPAN(TSUKUBA)などでよいです。次にあらためてパッケージ>パッケージのインストールを選ぶと下記のようにポップアップの中にglmmMLが登場するのでこれを選べばOKです。

f:id:darusmart:20150208131800p:plain

ティルトレンズによる流氷の写真

f:id:darusmart:20150122124620j:plain

f:id:darusmart:20150122124624j:plain

f:id:darusmart:20150122124627j:plain

下の本の中にミニチュア風の写真というのがあり、ちょっと気になっていました。私たちの町では流氷が接岸したので、せっかくなのでこのミニチュア風写真にチャレンジしました。

Amazon.co.jp: 深味のある写真を撮るためのフォトクリエイティブテクニック: デイビッド・ドゥチェミン, パセイジ: 本

この本ではティルトレンズという特殊なレンズを使用していますが、まともに買うと10万近くするような高価なものです。そこでネットを調べてみると引伸し機のレンズで代用できるとのこと。さっそくオークションで引伸し機レンズ(EL-NIKKOR 50mm F4)を購入しました。問題はカメラへの接続です。理想的には蛇腹のようなもので固定できればよいですが、ゴム手袋で代用することもあるそうです。手元にあったのはスキーで寒いときに顔を覆うゴムマスク。ちょうどよいことに鼻の部分が空いていて、レンズを差したらなんとなくはまりました。レンズまわりを輪ゴムでとめて完成。OLYMPUSフォーサーズだと画角が半分なので少し望遠気味になりますが、問題なく使用できました。もちろん露出はマニュアルです。

f:id:darusmart:20150122124630j:plain

 

SRTM3から傾斜図を作成する

前回の標高地図ができると、あとは傾斜図も簡単に作成できます。

ラスタ>解析>DEM(地形ファイル)

と操作し、標高データのファイルを選択してモードから傾斜図を選択、傾斜をパーセント表示にする場合はその欄にチェックを入れておきます。

f:id:darusmart:20150119181928p:plain

そのままだと単一グレーなので、標高地図のときと同じように単バンド疑似カラーとして適宜カラーを選び、分類します。下記では、標高地図を順次傾斜図にしてゆくプロセスを示しています。白黒の部分は傾斜図になっているものの単一グレーのままなので、これからファイルをダブルクリックして色分けしてゆきます。色のついたところは変換後で、傾斜のきついところを濃い茶色にし、傾斜のゆるいところほど薄い茶色にしています。

f:id:darusmart:20150119182102p:plain

 

SRTM3(またはSRTM 90m)データからQGISで標高地図を作成

 

前回のつづきで、今度は標高別に色分けした地図を作成する方法です。前回は図が表示されているものの、標高データを示しているわけではありません。SRTMは標高データ(DEM)というもので、この標高データを使って陰影図や傾斜地図なども作成できます。手順は前回表示させたファイルを変換するところから始まります。

ラスタ>投影法>ワープ(再投影)と選びます。

f:id:darusmart:20150119175402p:plain

SRTM3のデータの空間参照系は、ロシア極東から日本付近だとデフォルトではEPSG4326になっているようです。再投影の画面のうち、下記の出力ファイル、ターゲットSRSを指定します。また、リサンプリングメソッド、データ無しの値0もチェックを入れておきます。出力ファイル名は英名であれば特になんでもよいです。

f:id:darusmart:20150119175408p:plain

 

OKを押すとキャンバスに新しいファイルができます。このファイルをダブルクリックすると下記のプロパティが現れます。レンダータイプを「単バンド疑似カラー」にします。いろいろな色にしたいので最初はマルチカラーかと勘違いしていましたが、あくまでデータは単一なのでした。マルチカラーというのはランドサットのように複数のデータがある場合だそうです。

f:id:darusmart:20150119175414p:plain

地域内のおおむねの最高標高である2000mから0mまでの範囲としてモードを等間隔、分類数を11とします。高い位置が0mのほうが自然なので反転させました。色はほかにもいろいろありますし、カスタムで色分けすることもできます。分類を押してOKとします。

 

f:id:darusmart:20150119180111p:plain

下記のように表示されればOKです。白黒のところはまだ変換していない範囲です。

 

f:id:darusmart:20150119175434p:plain

投影とは、標高データが正しく出ないファイルの座標軸を合わせてやる作業というイメージで考えています。正しい座標軸はUTM54NのEPSG32654であり、これに変換します。

SRTM3(またはSRTM 90m)データをQGISに読み込む

QGISによる解析の備忘録としてアップします。日本国内だけでなく、世界の標高データが必要となった場合にスペースシャトルによる計測データ(SRTM)は利用価値が高いです。全世界を範囲としたデータ(SRTM3)は解像度が90mと荒目ですが、広い範囲での利用には逆にこれくらいの解像度でないと動かしにくいこともあります。そして、SRTMを利用する上ではデータの欠損部があるので注意が必要といわれています。そこで、さらに調べると国際的な農業研究機構の空間情報コンソーシアム(CGIAR-CSI)というところでSRTMを補正したデータを提供しています。下記のサイトです。

CGIAR-CSI SRTM 90m DEM Digital Elevation Database

左側のSRTMContent中にあるSRTM data search and downloadをクリックすると下記の画面になります。この地図上の格子を選んで、ダウンロードすればよいわけです。

形式はGeoTiffでよいです。念のため、これはラスタデータです。

f:id:darusmart:20150117183736p:plain 

zip形式なので、解凍して適切な場所にフォルダをつくって保管します。このとき、Cドライブ直下に英名でフォルダをつくっておくのが無難です。

QGIS(今回はversion2.6.1を使用しました)で新しいプロジェクトとしてこのSRTMデータを読み込みます。最初に読み込んだデータの空間参照がプロジェクトの空間参照になるとのことです。世界測地系WGS84)という参照系の中で北海道付近がこれに含まれるというのをあらかじめ調べておけばすぐ入れられます。世界測地系でないデータに基づくと同じ場所でもEPSGコードが違うということが起きます。ここは面倒ですが、ネットや解説本でよく調べてください。QGISの作業でも要注意です。

レイヤ>レイヤの追加>ラスタレイヤの追加と選びます。さきほどのフォルダから保存しておいたファイルを選びます。geotiff形式のものだけです。空間参照系が一致していれば、下図のようになるはずです。

f:id:darusmart:20150119173304p:plain