みどりぼん3章前半
-
Upload
akifumi-eguchi -
Category
Data & Analytics
-
view
1.860 -
download
1
description
Transcript of みどりぼん3章前半
20140610 第3回「データ解析のための統計モデリング入門」読書会
@siero5335
一般化線形モデル (GLM) ポアソン回帰:前半
Twitter ID: @siero5335
仕事: 某大学で 化学物質曝露影響の解析 測定法の開発してます
専門: 環境化学、分析化学
R→ 測定結果のまとめに使用
自己紹介
3章前半アウトライン 目的
・モデリングの手順
・一般化線形モデル (GLM) の結果の見かた
実際の内容
・データ取り込み
・データの可視化
・結果の確認
・モデルをプロット上に書いて確認
d <-‐ read.csv("h=p://hosho.ees.hokudai.ac.jp/~kubo/stat/iwanamibook/fig/poisson/data3a.csv")
��������!���
! �
���� ���� ���� ���� ���
�������� ���� �������� ��� ���
������ ��� ������ ����
���� �� � ���� ���� �
������� ����� ������� ����
�� � ���� �� � �����
3章で使うデータ
3章で使うデータ (可視化) plot(d$x, d$y, pch = c(21, 19)[d$f]) legend("topleV", legend = c ("C", "T"), pch = c (21, 19))
体サイズが大きくなると種子数yが増加する…ような
3章で使うデータ (可視化) plot(d$f, d$y)
施肥処理の効果fはあんまり種子数と関係がなさそう
個体ごとの平均種子数yを
体サイズxや施肥処理fから推定したい 可視化の結果、施肥処理はあんまり関係がなさそうだったので、ひとまず体サイズと種子数の関係を解析 ある個体iにおいて種子数がyiである確率 p(yi|λi)はポアソン分布に従っていて と仮定する。
モデルの目的
p(yi | λi ) = λiyi exp(−λi )
yi!
一般化線形モデル: Generalized linear model
GLMの特徴
線形予測子
誤差構造に正規分布以外の確率分布を指定できる
リンク関数が使える
一般化線形モデル (GLM)
線形予測子
λi = exp(β1 +β2xi )切片 傾き
λi = exp(β1 +β2xi )線形予測子
定数項および説明変数の係数と説明変数の積からなる
GLMでよく使われる確率分布
“gaussian”
“poisson”
“binomial”
“Gamma”
連続変数, -‐∞ ~ +∞
離散変数, 0 ~ +∞
離散変数, 0 ~ +∞
連続変数で正の値, ~ +∞
glm(formula, family = gaussian (link = “idenaty”), data)
目的変数の性質や可視化を利用して当てはまりそうなものを選択
6章で詳しい話が出ます
マニアックな方にはこちら
統計分布ハンドブック
h=p://amzn.to/1tL2oqh
代表的なリンク関数
“idenaty”
“log”
“logit”
“sqrt”
“1/mu^2”
“inverse”
“power”
恒等リンク, 目的変数の期待値λ = 線形予測子x
対数リンク, log (λ) = x
ロジットリンク, log(λ/1-‐λ) = x
平方根リンク, sqrt(λ) = x
1/λ2 = 線形予測子x
逆数リンク, 1/λ = x
べき乗リンク, λn = x
指定した確率分布に線形予測子を上手くあてはめるために使う
glm(formula, family = gaussian (link = “idenaty”), data)
結果の見かた1, Rコードと結果の表示 fit <-‐ glm(y ~x, family = poisson(link = “log”), data = d ) summary(fit)
Coefficients: Esamate Std. Error z value Pr(>|z|) (Intercept) 1.29172 0.36369 3.552 0.000383 *** x 0.07566 0.03560 2.125 0.033580 *
結果の見かた2, 切片, 傾き fit <-‐ glm(y ~x, family = poisson(link = “log”), data = d ) summary(fit)
Coefficients: Esamate Std. Error z value Pr(>|z|) (Intercept) 1.29172 0.36369 3.552 0.000383 *** x 0.07566 0.03560 2.125 0.033580 *
切片 傾き
λi = exp(β1 +β2xi )
結果の見かた, 標準誤差 fit <-‐ glm(y ~x, family = poisson(link = “log”), data = d ) summary(fit)
Coefficients: Esamate Std. Error z value Pr(>|z|) (Intercept) 1.29172 0.36369 3.552 0.000383 *** x 0.07566 0.03560 2.125 0.033580 *
Std. Error: 標準誤差 推定値 のばらつきを標準偏差で表したもの 推定値の精度の指標
β1,β2
結果の見かた, z値 fit <-‐ glm(y ~x, family = poisson(link = “log”), data = d ) summary(fit)
Coefficients: Esamate Std. Error z value Pr(>|z|) (Intercept) 1.29172 0.36369 3.552 0.000383 *** x 0.07566 0.03560 2.125 0.033580 *
Z value: Z値 最尤推定値をSEで除した数 = Esamate/Std. Error
Wald統計量とも呼ばれる。 Wald信頼区間を構成して推定値が0から十分に離れているか確認できる。 数字が大きい時ほど十分離れている 0から離れている ≒ その指標が有効である
結果の見かた, Pr(>|z|) fit <-‐ glm(y ~x, family = poisson(link = “log”), data = d ) summary(fit)
Coefficients: Esamate Std. Error z value Pr(>|z|) (Intercept) 1.29172 0.36369 3.552 0.000383 *** x 0.07566 0.03560 2.125 0.033580 *
Pr(>|z|) 数字が大きいほどz値が0に近くなり、推定値が0に近いことを表す。 P値に見立てる人もいるが、信頼区間の指標と考えるのがベター
小さい値であるほど信頼区間が狭い ≒ 推定値が信頼できそう
結果の見かた, 対数最大尤度
> logLik(fit) 'log Lik.' -‐235.3863 (df=2)
fit <-‐ glm(y ~x, family = poisson(link = “log”), data = d )
対数最大尤度 (モデルの当てはまりの良さの指標) を確認 値が大きいほど当てはまりがよい df: 自由度を表す。 今回は最尤推定したパラメータ数が2個であることを示す。 計算式は@kos59125さんの二章まとめスライドを参照 h=p://1drv.ms/1nPspmJ :2.4参照
予測モデルの可視化 plot(d$x, d$y, pch = c(21, 19)[d$f]) xx <-‐ seq(min(d$x), max(d$x), length = 50) lines(xx, exp(1.29 + 0.0757* xx), lwd =2)
作ったモデルをプロット上に書いて確認
モデリングのサイクル(3章前半時点)
データ取り込み
データの可視化
モデルの要約, 最大対数尤度の確認
予測モデルの可視化
1セット
今後は?
変数を増やした場合にどうなるか → 後半 複数のモデルを比較 → 4章, 5章 誤差構造が他の確率分布の時は? → 6章