• 検索結果がありません。

kubostat2017j p.2 CSV CSV (!) d2.csv d2.csv,, 286,0,A 85,0,B 378,1,A 148,1,B ( :27 ) 10/ 51 kubostat2017j (

N/A
N/A
Protected

Academic year: 2021

シェア "kubostat2017j p.2 CSV CSV (!) d2.csv d2.csv,, 286,0,A 85,0,B 378,1,A 148,1,B ( :27 ) 10/ 51 kubostat2017j ("

Copied!
11
0
0

読み込み中.... (全文を見る)

全文

(1)

統計モデリング入門

2017 (j)

分割の統計モデル Categorical Data Analysis

久保拓弥 [email protected] 北大環境科学院の講義 http://goo.gl/76c4i 2017–11–15 ファイル更新時刻: 2017–11–08 17:11 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 1 / 63

ちょっと批判してみたい,よくみかける「お作法」

Spc x A B C D E F G H I 0 62 21 14 11 10 10 2 0 2 1 48 34 22 17 16 7 2 1 1

こういう表をみたときに反射的に……

表の

検定

だからカイ二乗検定やればいいやー

– 「なんでも検定」かよー – データ解析6= 検定 !! 検定はデータ解析の一部 !!

5

以下のセル」があるから

検定

できーん

– その根拠は何 ?!

データを捨てれば

検定

できる

– !!

– 捨てるな !! 2012–03–19 (2013–03 –02 11 :27 修正版) 5/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 2 / 63

分割表であれ,どんなデータであれ

まず「どんな統計モデルで説明できるか」を考える

カウントデータの場合は,とりあえず

GLM

で説明できな

いか考えてみる

次の項目をきちんと区別しよう

データを発生させうる統計モデル (例: GLM や階層ベイズモデル) 統計モデルのパラメーター推定方法 (例: 最尤推定法や MCMC 法) 推定結果の比較方法 (例: Neyman-Pearson な検定,モデル選択,信用区間) 2012–03–19 (2013–03 –02 11 :27 修正版) 6/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 3 / 63

2

× 2

の分割表

粕谷さんの話に登場した内容もくりかえしつつ

2012–03–19 (2013–03 –02 11 :27 修正版) 7/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 4 / 63

今日の例題: 調査区画に出現した植物の個体数

• 調査区画はふたつだけ 反復ぐらいとれよ…… • まず,ふたつの調査区を「さら地」にした • 片方の調査区で何らかの「処理」 (水やりとか?) – 無処理区(x = 0)と処理区(x = 1) • ある時点で出現した植物を,種 (Spc) ごとにカウント • とりあえず,個体数の多かったA 種B 種について調べること にした — 個体数{yA,0,yB,0,yA,1,yB,1} • 知りたいこと: 「処理」によって A 種・B 種の割合は変わるのか? えー……「割合」だけ? 2012–03–19 (2013–03 –02 11 :27 修正版) 8/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 5 / 63

R

で分割表をあつかう

data.frame() と xtabs()

2012–03–19 (2013–03 –02 11 :27 修正版) 9/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 6 / 63

(2)

データを CSV ファイルとして出力

• 「CSV」として保存 (ゑくせる!) • d2.csv というファイル名にする • d2.csv の内容 y,x,Spc 286,0,A 85,0,B 378,1,A 148,1,B 2012–03–19 (2013–03 –02 11 :27 修正版) 10/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 7 / 63

データを

R

によみこみ,data.frame に変換

> d2 <- read.csv("d2.csv") #

よみこんで,

data.frame

変換

!

> d2

# d2

という

data.frame

を表示

y x Spc

1 286 0

A

2

85 0

B

4 378 1

A

5 148 1

B

2012–03–19 (2013–03 –02 11 :27 修正版) 11/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 8 / 63

xtabs: 分割表をあつかう

R

のクラス

y x Spc

1 286 0

A

2

85 0

B

4 378 1

A

5 148 1

B

> (ct2 <- xtabs(y ~ x + Spc, data = d2))

Spc

x

A

B

0 286

85

1 378 148

2012–03–19 (2013–03 –02 11 :27 修正版) 12/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 9 / 63

xtabs: 自由自在に集計できる

> xtabs(y ~ x, data = d2) x 0 1 371 526 > xtabs(y ~ Spc, data = d2) Spc A B 664 233 > xtabs(y ~ Spc + x, data = d2) x Spc 0 1 A 286 378 B 85 148 2012–03–19 (2013–03 –02 11 :27 修正版) 13/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 10 / 63

xtabs: 分割表の図示

Spc x A B 0 286 85 1 378 148

> plot(ct2, col = c("orange", "blue"))

ct2 x Spc 0 1 A B 2012–03–19 (2013–03 –02 11 :27 修正版) 14/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 11 / 63

library(lattice) を使った図示

Spc x A B 0 286 85 1 378 148 > library(lattice)

> xyplot(log(y) ~ factor(x), data = d2, groups = Spc, type = "b")

factor(x) log(y) 4.5 5.0 5.5 6.0 0 1 2012–03–19 (2013–03 –02 11 :27 修正版) 15/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 12 / 63

(3)

2

× 2 分割表の統計モデル

まずは二項分布の GLM から

ロジスティック回帰

logistic regression

2012–03–19 (2013–03 –02 11 :27 修正版) 16/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 13 / 63

二項分布の GLM を適用してみる

y

A,x

∼ Binom(

q

A,x,

y

A,x

+

yB

,x

)

logit(

q

A,x

)

=

a

A

+

b

A

x

Spc x A B 0 286 85 1 378 148

> summary(glm(ct2 ~ c(0, 1), data = d2, family = binomial)) (... 略...)

Estimate Std. Error z value Pr(>|z|) (Intercept) 1.213 0.124 9.82 <2e-16 c(0, 1) -0.276 0.157 -1.76 0.079 2012–03–19 (2013–03 –02 11 :27 修正版) 17/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 14 / 63

ロジスティック回帰の推定にもとづく予測

logit(

q

A,x

) = 1.213 + (

−0.276)x

x q_A 0 1 0 1 ct2 x Spc 0 1 A B plot(ct2)によるデータ図示 モデル AIC x に依存する logit(qA,x) =aA+bBx 16.5 x に依存しない logit(qA,x) =aA 17.6 2012–03–19 (2013–03 –02 11 :27 修正版) 18/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 15 / 63

2

× 2 分割表の統計モデル

次にポアソン分布の GLM であつかってみる

とりあえず「分割方式」で

ポアソン回帰

Poisson regression

対数線形モデル

log-linear model

2012–03–19 (2013–03 –02 11 :27 修正版) 19/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 16 / 63

ポアソン分布の GLM (分割方式) —

A 種

y

A,x

∼ Pois(

λ

A,x

)

log(

λ

A,x

)

=

α

A

+

β

A

x

> # SpcA だけ

> summary(glm(y ~ x, data = d2[d2$Spc == "A",], family = poisson)) (... 略...)

Estimate Std. Error z value Pr(>|z|) (Intercept) 5.6560 0.0591 95.65 < 2e-16 x 0.2789 0.0784 3.56 0.00037 2012–03–19 (2013–03 –02 11 :27 修正版) 20/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 17 / 63

ポアソン分布の GLM (分割方式) —

B 種

yB

,x

∼ Pois(

λB

,x

)

log(

λB

,x

)

=

αB

+

βB

x

> # SpcB だけ

> summary(glm(y ~ x, data = d2[d2$Spc == "B",], family = poisson)) (... 略...)

Estimate Std. Error z value Pr(>|z|) (Intercept) 4.443 0.108 40.96 < 2e-16

x 0.555 0.136 4.07 4.6e-05

2012–03–19 (2013–03 –02 11 :27 修正版) 21/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 18 / 63

(4)

ポアソン回帰の推定にもとづく予測

log(λA,x) = 5.66 + 0.279x log(λB,x) = 4.44 + 0.555x x lambda_A 0 1 0 100 200 300 400 500 x lambda_B 0 1 0 100 200 300 400 500 モデル AIC モデル AIC λA,x=αA+βAx 19.3 λB,x=αB+βBx 17.1 λA,x=αA 30.1 λB,x=αB 32.4 2012–03–19 (2013–03 –02 11 :27 修正版) 22/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 19 / 63

ポアソン分布 GLM・二項分布 GLM のつながり

二項分布

GLM: logit(

q

A,x

) =

a

A

+

b

A

x

qA,x= 1 1 + exp[−(aA+bAx)]

ポアソン分布

: log(

λ

A,x

) =

α

A

+

β

A

x

など

λA,x= exp(αA+βAx) λB,x= exp(αB+βBx)

……「

A

の割合」は

?

λ

A,x

λ

A,x

+

λB

,x

=

exp(

α

A

+

β

A

x)

exp(

α

A

+

β

A

x) + exp(

αB

+

βB

x)

=

1

1 + exp[

αB

α

A

+ (

βB

β

A

)x]

2012–03–19 (2013–03 –02 11 :27 修正版) 23/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 20 / 63

係数の比較

:

ポアソン分布

GLM

・二項分布

GLM

のつながり

二項分布の GLM qA,x= 1 1 + exp[−(aA+bAx)] ポアソン分布の GLM (分割方式) λA,x λA,x+λB,x = 1 1 + exp[αBαA+ (βBβA)x]

比較すると……

二項分布 GLM ポアソン分布 GLM

a

A

=

α

A

αB

b

A

=

β

A

βB

2012–03–19 (2013–03 –02 11 :27 修正版) 24/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 21 / 63

比較: 二項分布とポアソン分布の GLM

二項分布 GLM ポアソン分布 GLM

a

A

= 1.213

=

α

A

αB

b

A

= -0.276

=

β

A

βB

>二項分布GLM (A種の比率)

> glm(ct2 ~ c(0, 1), data = d2, family = binomial) (Intercept) c(0, 1)

1.213 -0.276 >ポアソン分布GLM (A種の比率)

> glm(y ~ x, data = d2[d2$Spc == "A",], family = poisson) (Intercept) x

5.656 0.279 >ポアソン分布GLM (B種の比率)

> glm(y ~ x, data = d2[d2$Spc == "B",], family = poisson) (Intercept) x 4.443 0.555 2012–03–19 (2013–03 –02 11 :27 修正版) 25/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 22 / 63

図解

:

ポアソン分布

GLM

・二項分布

GLM

のつながり

ポアソン分布の GLM (A 種) ポアソン分布の GLM (B 種) 二項分布の GLM (A 種+B 種) x lambda_A 0 1 0 100 200 300 400 500 x lambda_B 0 1 0 100 200 300 400 500 x lambda_* 0 1 0 100 200 300 400 500 x q_A 0 1 0 1

+

=⇒

つみあげる

=

たいらに 押しつぶす 2012–03–19 (2013–03 –02 11 :27 修正版) 26/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 23 / 63

2

× 2 分割表の統計モデル

データを分割しないポアソン分布 GLM

「一括方式」 — こちらが便利かも?

2012–03–19 (2013–03 –02 11 :27 修正版) 27/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 24 / 63

(5)

ポアソン分布の GLM (一括方式)

交互作用項をうまく利用する

> summary(glm(y ~ x * Spc, data = d2, family = poisson)) (... 略...)

Coefficients:

Estimate Std. Error z value Pr(>|z|) (Intercept) 5.6560 0.0591 95.65 < 2e-16 x 0.2789 0.0784 3.56 0.00037 SpcB -1.2133 0.1235 -9.82 < 2e-16 x:SpcB 0.2757 0.1570 1.76 0.07921 (... 略...) 「分割方式」のポアソン分布 GLM と一致→ 二項分布 GLM とも一致 αA= 5.66 αB= 5.66− 1.21 βA= 0.279 βB= 0.279 + 0.276 2012–03–19 (2013–03 –02 11 :27 修正版) 28/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 25 / 63

ポアソン・二項分布両 GLM のつながり (再)

ポアソン分布の GLM (A 種) ポアソン分布の GLM (B 種) 二項分布の GLM (A 種+B 種) x lambda_A 0 1 0 100 200 300 400 500 x lambda_B 0 1 0 100 200 300 400 500 x lambda_* 0 1 0 100 200 300 400 500 x q_A 0 1 0 1

+

=⇒

つみあげる

=

たいらに 押しつぶす 2012–03–19 (2013–03 –02 11 :27 修正版) 29/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 26 / 63

2

× 3

の分割表

多項分布の GLM か?

ポアソン分布の GLM か?

2012–03–19 (2013–03 –02 11 :27 修正版) 30/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 27 / 63

xtabs: 分割表の図示

Spc x A B C 0 286 85 7 1 378 148 17

> plot(ct3, col = c("orange", "blue", "green"))

ct3 x Spc 0 1 A B C 2012–03–19 (2013–03 –02 11 :27 修正版) 31/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 28 / 63

library(lattice) を使った図示

Spc x A B C 0 286 85 7 1 378 148 17 > library(lattice)

> xyplot(log(y) ~ factor(x), data = d3, groups = Spc, type = "b")

factor(x) log(y) 2 3 4 5 6 0 1 2012–03–19 (2013–03 –02 11 :27 修正版) 32/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 29 / 63

ポアソン分布の GLM (一括方式)

> glm(y ~ x * Spc, data = d3, family = poisson) (... 略...) Coefficients: (Intercept) x SpcB SpcC x:SpcB x:SpcC 5.656 0.279 -1.213 -3.710 0.276 0.608 「分割方式」のポアソン分布 GLM のパラメーターで言うと…… yA,x ∼ Pois(λA,x) log(λA,x) = αA+βAx αA= 5.66 αB= 5.66− 1.21 αC= 5.66− 3.71 βA= 0.279 βB= 0.279 + 0.276 βC= 0.279 + 0.608 2012–03–19 (2013–03 –02 11 :27 修正版) 33/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 30 / 63

(6)

ポアソン分布 GLM の予測など

ポアソン分布の GLM (A 種) (B 種) (C 種) 三項分布の GLM x lambda_A 0 1 0 100 200 30 0 400 500 x lambda_B 0 1 0 100 200 30 0 400 500 x lambda_B 0 1 0 100 200 30 0 400 500 x lambda_* 0 1 0 100 200 30 0 400 500 x lambda_* 0 1 0 1

+

+

=⇒

つみあげる

=

たいらに 押しつぶす 2012–03–19 (2013–03 –02 11 :27 修正版) 34/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 31 / 63

二項分布 GLM を拡張した多項分布 GLM

library(nnet) の multinom()

2012–03–19 (2013–03 –02 11 :27 修正版) 35/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 32 / 63

多項分布・ロジスティックな GLM

> ct3 # 分割表を表示 Spc x A B C 0 286 85 7 1 378 148 17

> library(nnet) # nnet package よみこみ > multinom(ct3 ~ c(0, 1)) (... 略...) Coefficients: (Intercept) c(0, 1) B -1.2133 0.27552 C -3.7097 0.60763 > # ポアソン分布 GLM と同じ推定値! 多項分布・ロジスティック GLM yB,x ∼ Multinom(qB,x, 3 種合計数) yC,x ∼ Multinom(qC,x, 3 種合計数) logit(qB,x) = aB+bBx logit(qC,x) = aC+bCx 2012–03–19 (2013–03 –02 11 :27 修正版) 36/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 33 / 63

モデル選択はどうする?

• すべての可能なくみあわせで調べるしかない – cf. 2004 年データ解析自由集会の久保発表 2012–03–19 (2013–03 –02 11 :27 修正版) 37/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 34 / 63

2

× 9

の分割表

……そろそろ GLM ではしんどくなってくる?

2012–03–19 (2013–03 –02 11 :27 修正版) 38/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 35 / 63

また別のデータ: 種数が 3 から 9 に増えた!

> d9 y x Spc 1 62 0 A 2 21 0 B 3 14 0 C 4 11 0 D 5 10 0 E 6 10 0 F 7 2 0 G 8 0 0 H 9 2 0 I 10 48 1 A (...略...) 15 7 1 F 16 2 1 G 17 1 1 H 18 1 1 I > ct9 Spc x A B C D E F G H I 0 62 21 14 11 10 10 2 0 2 1 48 34 22 17 16 7 2 1 1 • 種ごとに個体数のばらつきがかなりある • ゼロデータを含む 2012–03–19 (2013–03 –02 11 :27 修正版) 39/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 36 / 63

(7)

xtabs: 分割表の図示

Spc x A B C D E F G H I 0 62 21 14 11 10 10 2 0 2 1 48 34 22 17 16 7 2 1 1 > plot(ct9, col = c(ごちゃごちゃと指定)) cts x Spc 0 1 A B C D E F GH I 2012–03–19 (2013–03 –02 11 :27 修正版) 40/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 37 / 63

library(lattice) を使った図示

Spc x A B C D E F G H I 0 62 21 14 11 10 10 2 0 2 1 48 34 22 17 16 7 2 1 1 > library(lattice)

> xyplot(sqrt(y) ~ factor(x), data = d9, groups = Spc, type = "b")

factor(x) sqrt(y) 0 2 4 6 8 0 1 2012–03–19 (2013–03 –02 11 :27 修正版) 41/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 38 / 63

ポアソン分布の GLM (一括方式)

> ct9 Spc x A B C D E F G H I 0 62 21 14 11 10 10 2 0 2 1 48 34 22 17 16 7 2 1 1

> summary(glm(y ~ x * Spc, data = d9, family = poisson)) (Intercept) x SpcB SpcC 4.127 -0.256 -1.083 -1.488 SpcD SpcE SpcF SpcG -1.729 -1.825 -1.825 -3.434 SpcH SpcI x:SpcB x:SpcC -26.430 -3.434 0.738 0.708 x:SpcD x:SpcE x:SpcF x:SpcG 0.691 0.726 -0.101 0.256 x:SpcH x:SpcI 22.559 -0.437 H 種の推定値がかなりヘン! 2012–03–19 (2013–03 –02 11 :27 修正版) 42/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 39 / 63

「なんでも glm()」方針の問題点

分割表がでかくなったときに,独立に推定されるパラメー

ター数がどんどん増えてしまう

そのような場合,とくにゼロデータなどがあると,パラ

メーター推定が難しくなる

モデル選択とかもしんどくなる

2012–03–19 (2013–03 –02 11 :27 修正版) 43/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 40 / 63

ポアソン分布の GLMM ならどうだろう?

> (fit.glmm <- glmmML(y ~ x, data = d9, cluster = Spc, family = poisson))

coef se(coef) z Pr(>|z|) (Intercept) 2.012 0.465 4.323 1.5e-05 x 0.114 0.120 0.956 3.4e-01 > fit.glmm$posterior.modes [1] 1.926862 1.230935 0.807098 0.557225 0.483854 [6] 0.067305 -1.218522 -2.005846 -1.426968 2012–03–19 (2013–03 –02 11 :27 修正版) 44/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 41 / 63

分割表の階層ベイズモデル (線形ポアソン回帰)

無情報事前分布 データ (応答変数) 各個体の種子数 Y[i] lambda[i] 平均 ポアソン分布 個 a0 全個体共通 b[Spc[i]]傾きの差 階層事前分布 無情報事前分布 (超事前分布) s[1] a[Spc[i]]切片の差 切片差の ばらつき 傾き差の ばらつき 階層事前分布 s[2] b0 データ (説明変数) X[i] • このようにデータを設計する WinBUGSを使ってパラメーター推定 (MCMC 法) をしたいので,BUGS コードで書く WinBUGSRの下っぱとして使う 2012–03–19 (2013–03 –02 11 :27 修正版) 45/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 42 / 63

(8)

(

時間があれば

WinBUGS

実演

)

2012–03–19 (2013–03 –02 11 :27 修正版) 46/ 51 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 43 / 63

例題

1

「アロメトリーな回帰」はヤメて

重量分割モデルを作ってみよう

2010–03–15 (2010-03-23 16:29修正版) 11/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 44 / 63

架空データ 1: 地下部・地上部の重量

0 5 10 15 0 5 10 15 below ground mass X above  ground  mass  Y

y

x

重量

対数をとらなくても「直線」にのってる

?

つまり,むしろアイソメトリック

(isometric)?

重量が重くなるとばらつきが大きくなる

?

2010–03–15 (2010-03-23 16:29修正版) 12/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 45 / 63

対数スケイルでみるとこうなってます

0 5 10 15 0 5 10 15 below ground mass X above  ground  mass  Y 0.5 1.0 1.5 2.0 2.5 0.5 1.0 1.5 2.0 2.5 below ground mass log(X) above  ground  mass  log(Y)

とはいえ対数世界で「センをひっぱる」わけではない

2010–03–15 (2010-03-23 16:29修正版) 13/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 46 / 63

重量分割モデル

(階層ベイズモデル)

:

そのプロセス

地上部 地下部

Y

観測できる世界

X

y

x

w

観測できない世界

q

q

1-http://tech-jam.com

parameter

process

observation

無情報

事前分布

y

x

重量 2010–03–15 (2010-03-23 16:29修正版) 14/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 47 / 63

重量分割モデル

(階層ベイズモデル)

:

「誤差」の入りかた

地上部 地下部

Y

観測できる世界

X

y

x

w

観測できない世界

q

q

1-http://tech-jam.com

parameter

process

observation

無情報

事前分布

y

x

重量 測定時の誤差 個体差

階層的

事前分布

2010–03–15 (2010-03-23 16:29修正版) 15/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 48 / 63

(9)

重量分配モデルを BUGS code で

(processの部分のみ)

for (i in 1:N) {

Y[i] ~ dnorm(y[i], Tau.err) #

地上部の重量

X[i] ~ dnorm(x[i], Tau.err) #

地下部の重量

y[i] <- q[i] * w[i]

x[i] <- (1 - q[i]) * w[i]

logit(q[i]) <- a + re[i]

w[i] <- exp(log.w[i])

log.w[i] ~ dnorm(0, Tau.noninformative) # !!

}# log.w[i]

は地上部

+

地下部の重量

このように

明示的に

モデルを記述できる

!

2010–03–15 (2010-03-23 16:29修正版) 16/ 33

kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 49 / 63

階層ベイズモデルのパラメーター推定: MCMC

1. BUGS codeで重量分割モデルを記述する (model1.txt)

2. これにデータを渡したりするRスクリプトを書く

(runbus1.R)

3. Rで runbus1.R を実行 (source("runbugs1.R"))

4. R内から library(R2WinBUGS) によってWinBUGSが起動

5. WinBUGS内で Markov chain Monte Carlo (MCMC) サンプリ ング 6. 事後分布からのサンプリング結果がRに渡される

必要なファイルは自由集会サイトからダウンロードできます

2010–03–15 (2010-03-23 16:29修正版) 17/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 50 / 63

推定結果を組みあわせた予測

0 5 10 15 0 5 10 15 below ground mass X above  ground  mass  Y

y

x

重量

オレンジ色の線は中央値

(median)

黄色の領域は個体差による予測のばらつき

(95% CI)

2010–03–15 (2010-03-23 16:29修正版) 18/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 51 / 63

個体差によるばらつき,そして測定時の誤差

0 5 10 15 0 5 10 15 below ground mass X above  ground  mass  Y 0.5 1.0 1.5 2.0 2.5 0.5 1.0 1.5 2.0 2.5 below ground mass log(X) above  ground  mass  log(Y)

総重量が小さいときには

測定時の誤差

が相対的に大きく

総重量が大きくなると

個体差

が占める割合が大きくなる

2010–03–15 (2010-03-23 16:29修正版) 19/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 52 / 63

このモデルの問題点

測定時の誤差は

正規分布

と仮定していいのか

?

そうですね,重量は非負の値なのに……

測定時の誤差の大きさ

はどうやって推定したの

?

今回は「真の値」をほうりこみました 実際には,測定機器のカタログとか見ながら「てきとー」に決め るしかないのかも? (主観的な事前分布) ひとつの観測対象に対して,複数の測定値が得られていれば,階 層ベイズモデルで測定時の誤差の大きさを推定できます

状況がちょっと単純すぎない

?

それでは次の例題を…… 2010–03–15 (2010-03-23 16:29修正版) 20/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 53 / 63

例題

2

もうちょっと複雑な

重量分割モデル

2010–03–15 (2010-03-23 16:29修正版) 21/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 54 / 63

(10)

架空データ 2: 重量増大とともに分配が変化

0 5 10 15 0 5 10 15 below ground mass X above  ground  mass  Y

y

x

重量

小さいときには地上部重量を大きくする

総重量が大きくなってくれば地下部を大きくする

2010–03–15 (2010-03-23 16:29修正版) 22/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 55 / 63

これはアロメトリーな問題なのだろうか?

0 5 10 15 0 5 10 15 below ground mass X above  ground  mass  Y -2 -1 0 1 2 3 0.5 1.0 1.5 2.0 2.5 below ground mass log(X) above  ground  mass  log(Y)

両対数で直線になっているのか

?

ま,それはあとで考えることにして……

2010–03–15 (2010-03-23 16:29修正版) 23/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 56 / 63

重量分割モデルの改造: q を w 依存にするだけ

地上部 地下部

Y

観測できる世界

X

y

x

w

観測できない世界

q

q

1-http://tech-jam.com

parameter

process

observation

無情報

事前分布

y

x

重量 測定時の誤差 個体差

階層的

事前分布

2010–03–15 (2010-03-23 16:29修正版) 24/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 57 / 63

BUGS code

の変更点

先ほどの簡単な例では

(

切片

) + (

個体差

)

だったが

logit(q[i]) <- a + re[i]

ここを以下のように

総重量

(w)

依存

に変更するだけ

(b∼ dnorm(0, Tau.noninformative) 追加も必要だけど)

logit(q[i]) <- (

a + b * (log.w[i] - Mean.log.w) + re[i]

)

# Mean.log.wうんぬんは WinBUGS に必須な中央化ワザ

あとは

R

WinBUGS

MCMC

するだけ

2010–03–15 (2010-03-23 16:29修正版) 25/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 58 / 63

推定結果: 総重量増大

→ 地上部への分配減少

総重量

w

依存のパラメーター

b

はマイナス

こういう問題は

MCMC

収束が遅い

2010–03–15 (2010-03-23 16:29修正版) 26/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 59 / 63

このモデルで複雑な重量分配を表現できる

0 5 10 15 0 5 10 15 below ground mass X above  ground  mass  Y

y

x

重量

オレンジ色の線は中央値

(median)

黄色の領域は個体差による予測のばらつき

(95% CI)

2010–03–15 (2010-03-23 16:29修正版) 27/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 60 / 63

(11)

対数の世界でも曲がっている

(

アロメトリーじゃない

!)

0 5 10 15 0 5 10 15 below ground mass X above  ground  mass  Y -2 -1 0 1 2 3 0.5 1.0 1.5 2.0 2.5 below ground mass log(X) above  ground  mass  log(Y) このへん曲がっている このへんは測定時 誤差によるズレ

「両対数表示でも曲がっている」状況でも重量分配モデ

ルは柔軟に対応できる

(

さらに改訂するのも簡単

)

2010–03–15 (2010-03-23 16:29修正版) 28/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 61 / 63

モデルの発展・応用

そしてまとめ

2010–03–15 (2010-03-23 16:29修正版) 29/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 62 / 63

重量分配モデルの発展

• random effects

的な部分の複雑化

個体差だけでなくブロック差・場所差・時系列構造・

空間構造……

分割数をふたつではなく

3

つ以上にも

できる

蛇足

1:

アロメトリーなモデル

(

べき乗式

)

より,重量分

配モデルのほうが

解釈しやすい

モデルではなかろーか

?

蛇足

2:

応答変数が離散値の場合は二項分布・多項分布

モデルで

(つまりふつーの二項・多項 logistic 回帰) 2010–03–15 (2010-03-23 16:29修正版) 30/ 33 kubostat2017j (http://goo.gl/76c4i) 統計モデリング入門 2017 (j) 2017–11–15 63 / 63

参照

関連したドキュメント

They proved that if Y is a (real or complex) rearrangement-invariant nonatomic function space on [0, 1] isometric to L p [0, 1] for some 1 ≤ p &lt; ∞ then the isometric isomorphism

By con- structing a single cone P in the product space C[0, 1] × C[0, 1] and applying fixed point theorem in cones, we establish the existence of positive solutions for a system

If the interval [0, 1] can be mapped continuously onto the square [0, 1] 2 , then after partitioning [0, 1] into 2 n+m congruent subintervals and [0, 1] 2 into 2 n+m congruent

If r ′ is placed in the board B (0) , it cancels no cells in B (0) and it cancels the lowest cell in each subcolumn to its right, which has yet to be canceled by a rook to its left,

Every 0–1 distribution on a standard Borel space (that is, a nonsingular borelogical space) is concentrated at a single point. Therefore, existence of a 0–1 distri- bution that does

We study the classical invariant theory of the B´ ezoutiant R(A, B) of a pair of binary forms A, B.. We also describe a ‘generic reduc- tion formula’ which recovers B from R(A, B)

Lemma 4.1 (which corresponds to Lemma 5.1), we obtain an abc-triple that can in fact be shown (i.e., by applying the arguments of Lemma 4.4 or Lemma 5.2) to satisfy the

Taking care of all above mentioned dates we want to create a discrete model of the evolution in time of the forest.. We denote by x 0 1 , x 0 2 and x 0 3 the initial number of