「ぎょーむ日誌」目次に戻る | KuboWeb top に戻る | twilog | atom

ぎょーむ日誌 2010-03-(21-31)

苦情・お叱りは, たいへんお手数かけて恐縮ですが, 久保 (kubo@ees.hokudai.ac.jp) までお知らせください.

2010 年 03 月 21 日 (日)

NO_FIGURE

2010 年 03 月 22 日 (月)

snowstorm22
[札幌,風雪]
A 棟 8F から見た光景. まさに真冬なみ. 午後からは晴れましたけど.

GLM の factor な説明変数について少し調べてみました.

とりあえず glm() の family = gaussian の場合だけ調べてみましたが,やは
り水準の順番のつけかたを変えても,説明変数を WinBUGS モデリングでよくや
るように {0, 1} にしても特に結果が (推定値のばらつきも含めて) 変わるわ
けではない,とわかりました.

以下は,そのあたりを例示してみたものです.

----
説明変数が factor であるときの R の glm() の推定値とそのばらつきについ
て調べるために,とりあえず (一番簡単な) glm(..., family = gaussian)に対
応した例題データを生成してみます.データの性質としては下記のものです.

・glm(y ~ x) に対応したモデル (y のばらつきは正規分布)
・y の SD は 0.5
・x のクラスは factor で 3 水準 (A, B, C)
・水準ごとの真の値は A = 1, B = 2, C = 3
・水準ごとのサンプル数は A = 100, B = 100, C = 50

このような条件をみたすように rnorm() で生成した架空データ例を図示すると
このようになります.
factorglm22
以下では,このデータを使って

1. 切片なしモデル (どうもこれが基本のように思えたので)
2. ふつうに glm(y ~ x)
3. x の水準をいれかえて,glm(y ~ x)

の三つの結果をを比べてみます.比較して確認できたことは「1, 2, 3 どれも
同じ結果になっている,ただし一見するとそう見えない」ということで,よう
するに factor の水準によって何か結果が変わるとかそういう話ではない,と
いうことです.

まず最初に切片なしモデルで水準ごとの推定値を得ました.
データは d という名前の data.frame に入っているとします.

[結果 1]
glm(formula = y ~ x - 1, data = d)
Coefficients:
   Estimate Std. Error t value Pr(>|t|)
xA   0.9543     0.0495    19.3   <2e-16
xB   2.0388     0.0495    41.2   <2e-16
xC   3.1617     0.0700    45.2   <2e-16

結果 1 の Std. Error (推定値のばらつき) について着目すると,推定値の
Std. Error がサンプル数に依存していることがわかります (A, B はサンプル
数 100, C は 50). C の Std. Error は A, B の sqrt(2) 倍になっています
ね.

次はふつうに glm(y ~ x, ...) やってみました.データ生成時にとくに指定し
なかったので,R はアルファベット順にA, B, C と水準に順番をつけ,A を
「基準」として B, C のずれを推定します.

[結果 2]
glm(formula = y ~ x, data = d)
Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)   0.9543     0.0495    19.3   <2e-16
xB            1.0845     0.0700    15.5   <2e-16
xC            2.2074     0.0857    25.8   <2e-16

さて,まず結果 2 の Estimate (推定値) に関しては

・(Intercept) は結果 1 の xA と同じ (A が基準だから)
・結果 2 の xB と xC はそれぞれ結果 1 の xB - xA, xC - xA になっている

と簡単です.

それでは Std. Error はどうなっているでしょうか.

・(Intercept) は結果 1 の xA の Std. Error と同じ

というのは良いでしょう.それでは,いま仮に (Std. Error)^2 を分散と呼ぶ
ことにすると,

・xB, xC の分散は,それぞれ結果 1 における xA と xB, xC 分散の和
  になっている

と言えます.xB を例にこれを説明してみましょう.結果 2 における xB は
0.0700 ですが,この値は結果 1 における xA と xB の分散の和の平方根つま
り sqrt(0.0495^2 + 0.0495^2) と一致します (理論的には本当に一致するはず
なのですが,数値計算における誤差で完全に一致しないこともあるようです).

結果 2 における xC,つまり結果 1 でいうと xA と xC の差についても同様で
す.

以上の計算は確率変数の平均・分散に関する計算から導出されます.
いま x1 と x2 が確率変数だとすると,

Mean(x1 + x2) = Mean(x1) + Mean(x2)
Var(x1 + x2) = Var(x1) + Var(x2)

という確率変数の和に関する公式はよく掲載されていますが,差に関しても同
様で,
  
Mean(x1 - x2) = Mean(x1) - Mean(x2)
Var(x1 - x2) = Var(x1) + Var(x2)

となります.Var に関しては和だろうが差だろうが足し算になるわけですね.

ついでに,factor の水準の順番を変えても結果が変わらないことも確認してお
きましょう.

d の x の水準の順番をいれかえた d2 なる data.frame を作り,

d2 <- d
d2$x <- factor(d2$x, levels = c("C", "A", "B"))

これを glm() で推定すると,以下のようになります.

[結果 3]
glm(formula = y ~ x, data = d2)
Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)   3.1617     0.0700    45.2   <2e-16
xA           -2.2074     0.0857   -25.8   <2e-16
xB           -1.1229     0.0857   -13.1   <2e-16

ここに見られる Estimate や Std. Error も結果 2 の場合と同様に算出できま
す.

いずれにせよ,結果 1-3 は同じことを言ってるのであり,相互変換可能です
(数値計算の誤差があるので厳密には一致しませんが).たとえば結果 3 から結
果 1 を算出するには,

・Estimate に関しては引き算すればよい
・Std. Error に関しては,たとえば結果 1 の xA を計算するため
  には sqrt(0.0857^2 - 0.0700^2) とすれば結果 1 の xA の Std.
  Error に近い値である 0.04944 が得られる

となります.

glm() の他の family で同じようになっているかどうかはまだ確認していませ
んが,少なくとも近似的には同じような関係が成立しているだろうと思います.

----

……といったかんじで,かなり単純なものでした.ベイズモデルの場合は事前
分布の設定に依存しますが,無情報事前分布の場合は上記のような関係が成立
しているでしょう.

2010 年 03 月 23 日 (火)

NO_FIGURE
[本・紙ファイルの整理]
今日もってきたやつは, このように横置きにして紙ファイル (封筒) いれにしてみた. 中央の高い本棚 (白) は天井側から耐震つっかい棒で抑えている. 不安定そうな三段ボックスは C クランプで固定. 一番右のキャビネットとその上のダンボール箱は私のものではなく, 志水さんの地衣類標本の箱と, (本来は) それを格納すべきキャビネット.

xykasuya23
coop pan
[北大生協コップパン]
そこで昼飯調達のため, 中央食堂入り口にある大学ベイカリー コップパン に入ってみる. いろいろなパンを売っているんだが …… サンドイッチがないのがちょっと残念 (ここの 2F の購買には売っているんだが). ドリップコーヒー (100 円) とかも売ってる.

ees2010
bayesianecology23
[ベイズ本いろいろとどく]
Bayesian Inference: with ecological applications (右) と Hierarchical Modeling and Inference in Ecology (中央). 左のペンギン本は以前からもっている生態学混合モデル本 Mixed Effects Models and Extensions in Ecology with R. いろいろと勉強になりそう.


2010 年 03 月 24 日 (水)

A708
[A708 実験室]
ダンボール箱から大量のビーカー・フラスコその他あれこれを 取り出して配置する作業なのだが …… ガラス器具の梱包材が大量にあるので, 私はもっぱらそのゴミ集めに専念していた. りある garbage collector


2010 年 03 月 25 日 (木)

kagemai25

2010 年 03 月 26 日 (金)


2010 年 03 月 27 日 (土)

globule
[グロビュールが崩壊してる?!]
どくとくなスープカレーで有名な Globule がこんなかんじで営業停止状態になっていた. あとから自宅で調べてみたら …… すでに http://www.globule.jp/ には何も情報がなかったけど, Google の cache には情報が残っていた (その画像化). なんで昨年 12 月に火事になってしまって, それ以来店をしめている状態のようだ. 残念なことですね ……

snow27.jpg
[雪の札幌市]
A 棟 8F からみた南面. 夕方には視界ゼロメートルの猛吹雪となる. 気温もどんどん低下.


2010 年 03 月 28 日 (日)


2010 年 03 月 29 日 (月)

iwanami29

2010 年 03 月 30 日 (火)

oharabook
[植物の生活史と繁殖生態学]
生命の起源から群集構造にいたるまで, いろいろなことが網羅されている教科書. もちろん中心となるのは, 題のとおり, エンレイソウの生活史戦略の解析やスズランの繁殖生態学, などなど. 大原さん個人のこれまでの研究史にもなっていて, こうした研究の中での人とのつながりを大事にされている様子が 章末の coffee break ボックスに記されていたり.


2010 年 03 月 31 日 (水)

kashidashiXLS
buppin

KuboLog | KuboWeb