Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データ解析のための統計モデリング入門6章 / Handbook-of-statistical-...
Search
masso
October 14, 2020
Science
0
500
データ解析のための統計モデリング入門6章 / Handbook-of-statistical-modeling-for-data-analysis-section6
データ解析のための統計モデリング入門輪読会(6章)の発表スライド
masso
October 14, 2020
Tweet
Share
More Decks by masso
See All by masso
Stacktrace for rs/zerolog users
masso
0
180
データ解釈学入門 第一部 / Data hermeneutics Part 1
masso
8
2.1k
時系列分析と状態空間モデリングの基礎 / Foundations of Time Series Analysis and State Space Models 0
masso
0
530
わかりやすいパターン認識2章 / Pattern Recognition Manual Easy to understand SS 02
masso
0
810
分析環境紹介LT / the introduction of as my analysis env is
masso
0
100
わかりやすいパターン認識1章 / Pattern Recognition Manual Easy to understand SS 01
masso
0
150
DLGが目指すコミュニティの形 / DLG Community Objective
masso
0
2.5k
PowerAutomateによる社員健康状態集計システム / Employee health status tabulation system with Power Automate
masso
0
1.4k
Other Decks in Science
See All in Science
学術講演会中央大学学員会いわき支部
tagtag
0
110
Improving Search @scale with efficient query experimentation @BerlinBuzzwords 2024
searchhub
0
250
HAS Dark Site Orientation
astronomyhouston
0
5.4k
拡散モデルの原理紹介
brainpadpr
3
5.2k
大規模言語モデルの開発
chokkan
PRO
84
35k
3次元点群を利用した植物の葉の自動セグメンテーションについて
kentaitakura
2
600
重複排除・高速バックアップ・ランサムウェア対策 三拍子そろったExaGrid × Veeam連携セミナー
climbteam
0
140
インフラだけではない MLOps の話 @事例でわかるMLOps 機械学習の成果をスケールさせる処方箋 発売記念
icoxfog417
PRO
2
620
機械学習による確率推定とカリブレーション/probabilistic-calibration-on-classification-model
ktgrstsh
2
280
All-in-One Bioinformatics Platform Realized with Snowflake ~ From In Silico Drug Discovery, Disease Variant Analysis, to Single-Cell RNA-seq
ktatsuya
PRO
0
260
構造設計のための3D生成AI-最新の取り組みと今後の展開-
kojinishiguchi
0
640
理論計算機科学における 数学の応用: 擬似ランダムネス
nobushimi
1
370
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
The Language of Interfaces
destraynor
154
24k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Become a Pro
speakerdeck
PRO
26
5k
GitHub's CSS Performance
jonrohan
1030
460k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Being A Developer After 40
akosma
87
590k
Into the Great Unknown - MozCon
thekraken
33
1.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
統計モデリング入門6章 担当:masso データラーニングギルド輪読会
本章の目的 さまざまなGLMを紹介する章 - ポアソン回帰以外でどんなGLMがあるのか? - それらはどのような特徴やありがたみがあるのか? などを理解すること
目次 1. 様々な種類のデータで応用できるGLM(6.1節) 2. 二項分布で表現する「あり・なし」カウントデータ(6.3節) 3. ロジスティック回帰とロジットリンク関数(6.4節) 4. 交互作用項の入った線形予測子(6.5節) 5.
割り算値の統計モデリングはやめよう(6.6節) 6. 正規分布とその尤度/ガンマ分布のGLM(6.7節/6.8節)
6.1節
様々な種類のデータで応用できるGLM(6.1節) まとめ GLMでは応答変数のばらつきを表現する確率分布は正規分布だけでなく、ポ アソン分布・二項分布・ガンマ分布などが選択できる
GLMとは 「確率分布」「リンク関数」「線形予測子」 の組み合わせで表現する。 つまり、これらの組み合わせの数だけ、GLMは存在するということ。 とはいえ、「よく使われるパターン」があるので紹介する。
その前にリンク関数と線形予測子おさらい 線形予測子とは、説明変数xiの(べき乗も含む)線形結合のこと *P47 ({βi}をベクトル、{xi}を係数とした線形結合) 線形予測子 = β1 + β2 xi
+ β3 xi^2 リンク関数fとは、応答変数の平均値と線形予測子をつなぐ関数 f (応答変数の平均値) = β1 + β2 xi + β3 xi^2 ←自信ない…どっちがベクトル?
GLM よくある組み合わせ
直線回帰とリンク関数を用いた手法は違う GLMなど使わなくても、変数変換して、直線回帰をすればいいと考える人もい るかもしれないが、このような方法はリンク関数とは全く別のものである。 (P114/115) 「変数変換」というのが何をさしているかよくわからないが、直線回帰ということ は、パラメータが「切片」「傾き」しかない。状態これでは、もし説明変数が2個 以上あった場合でも、その自由度を無視することになる。(ということを言ってい るのかなと解釈した)
6.2節
6.2節 例題:上限のあるカウントデータ 上限のあるカウントデータとは? (応答変数y∈{0,1...N}) → 「N個体の内y個が◦、N-y個が□」 -------------------------------- 本例題の説明 個体:i∈{1, 2,
… 100} 個体iに対して 観察種子数 8個(Ni) 生存種子数 yi個 ∈{0...8} 生存確率 qi 個体iの1個の種子が生きている確率 i ∈{1...50}: 施肥処理ありfi=C i ∈{51...100}: 施肥処理なしfi=T
6.2節 例題:上限のあるカウントデータ summary(d)の出力結果 データ可視化 施肥処理と生存確率の関係 体サイズと生存確率の関係
6.3節
二項分布で表現する「あり・なし」カウントデータ(6.3節) まとめ 「N個の観察対象のうちk個で反応がみられた」というタイプのデータにみられ るばらつきを表すために二項分布が使える というより、「上限のあるデータではポアソン分布は適さない」
ちょっと脱線:二項分布とは
6.2節の例題を二項分布で表現
6.4節
ロジスティック回帰とロジットリンク関数(6.4節) まとめ 生起確率と線形予測子を結びつけるロジットリンク関数を使ったGLMのあては めは、ロジスティック回帰とよばれる
ロジット関数はロジスティック関数の逆関数 https://mathwords.net/logitkansu
ロジットリンク関数 ロジット関数をリンク関数としたもの。 ロジット関数をリンク関数として利用すると ・線型予測子と[0, 1]の数(個体iの生存確率qi)を繋げることができる
最も当てはまりの良い パラメータ {βj } を推定 尤度関数:L(y | θ) = Π{p(y
| θ)} 対数尤度関数:log {L(y | θ)} = log [Π{p(y | θ)}]
最も当てはまりの良い パラメータ {βj} を推定 Rでの命令文 > glm( cbind( y, N-y
) ~ x + f, data = d, family = binomial ) 応答変数の指定 :cbind( 生存数, 死亡数 ) 二項分布を指定 :family = binomial
オッズとは? logit関数のlogの中身をオッズという。(qi / (1 - qi)の部分) したがって、ロジットリンク関数と線型予測子の関係性より、 確率qiが0.5(五分五分)のときオッズは1倍、qiが0.8ならオッズは4倍
ロジットリンク関数とオッズ ロジットリンク関数のおかげで、 「オッズ ∝ 要因の掛け算」で表現できるため、 パラメータを最尤推定などで決めて、固定した後に、 「説明変数が1単位変動した時に、オッズがどれぐらい変動するか」といった解 釈が容易になる。 ※要因=パラメータβ×説明変数 結果として、
オッズ比 ≒ リスク の概算がしやすくなる
オッズ比 ≒ リスク の概算 生活習慣Xによってナントカ病の発病リスクが7倍になります 発病確率をロジスティック回帰で求め、最尤推定値βs=1.95となったとする。こ の時のリスク≒オッズ比は、 ≒ 7.028
6.5節
交互作用項の入った線形予測子(6.5節) まとめ 線形予測子の構成要素として、複数の説明変数の積の効果をみる交互作用 項が使える
交互作用項によってより複雑な状態を表す 体サイズxiと施肥処理有無fiが組み合わさった場合の影響度を表す Rの命令文では、モデル式が変わる > glm( cbind( y, N - y
) ~ x * f, family = binomial, data = d ) x * f は、x + f + x:f の省略形
交互作用項の導入は必ずしも良い結果につながらない 今回の例題では、交互作用項をいれても生存種子数のモデルはあまり変わら ない。(下図) AICを計算すると、むしろ悪化する。(272 -> 274)
交互作用項を取り扱う際の注意点 • むやみに追加しない。なぜなら、 ◦ 説明変数が多い場合、「組合せ論的爆発」で増加していく ◦ それが何を表しているのか解釈ができなくなることがある • 現実問題では、交互作用項を多く含むモデルのAICが最良になることがよ くある。しかし、
◦ 交互作用の効果を過大推定してる可能性あり(つじつま合わせ) ◦ 現実では、説明変数では説明できない「個体差」「場所差」が発生するが、そ れらを考慮しないGLMをあてはめると過度に複雑なモデルが最良になる傾向 がある。
6.6節
割り算値の統計モデリングはやめよう(6.6節) まとめ データ解析でしばしばみられる観測値同士の割り算値作成や応答変数の変数 変換の問題点があるが、ロジスティック回帰やオフセット項の工夫をすれば、 情報消失の原因となる「データ加工」は不要になる
観測値をこねくり回して指標を創作しないように よくある創作 ・割算値:観測データ / 観測データ ・変数変換:応答変数 = log( 観測データ )
とか = avg( 観測データ ) 「N個のうちy個で事象が生じる確率」を明示的に扱う二項分布を使うことによっ て、「y / N」などといった観測データ同士の割算を避けられる。
観測データ同士の割算値がもたらす悲劇 • 情報の消失 ◦ 1000打数300安打の3割打者と10打数3安打の3割打者は、どちらも 同じ程度に確からしい「3割打者」ではない。確からしさが失われる。 • 変換された値の分布が不明 ◦ 分子分母それぞれに誤差が入った数量同士の割算値はどんな確率
分布か?(一般に難しい問題。分子分母が独立でない場合は、さらに ややこしくなる。)
割算値いらずのオフセット項わざ 例題 • 森林のあちこちに100箇所で調査 i ∈ {1, 2, … 100}
• 調査値 i における面積 Ai (ほんとは固定にすべきだけど…あえて) • 調査地 i の「明るさ」xi • 調査地 i における植物個体数 yi を記録=応答変数 • O:調査地 i における植物個体の人口密度が明るさxiにどう影響されるか を知りたい yi / Ai という割算値を作る必要はない!
ポアソン分布+オフセット項で人口密度をモデル化 人口は正の量なので、指数関数と明るさ xiの依存性を組み合わせて Aiを指数関数の中にいれてやれば、 線型予測子:β1+β2xi+logAi リンク関数:対数リンク関数 logAiは、係数がない=オフセット項
オフセット項わざの使い所 • GLM(とそれを発展させた統計モデル)で応用可能 • 「単位◦◦あたりのカウントデータ」に使える ◦ ◦◦(例えば面積)の対数を線型予測子に追加する • もっと一般化すると、「連続値 /
連続値」となる比率・密度などに使える、と 言える。 • 分子分母共に誤差を含む場合は、ベイズ統計モデルで工夫すれば観測 値どうしの割算を回避できる(本書の対象外)
6.7節 / 6.8節
正規分布とその尤度/ガンマ分布のGLM(6.7節/6.8節) まとめ 連続値の確率変数のばらつきを表現する確率分布としては、正規分布・ガンマ 分布などがあり、これらを統計モデルの部品として扱うときには、離散値の確 率分布(ポアソン分布や二項分布)との違いに注意しなければならない
正規分布とその尤度 • 平均μ、標準偏差σをパラメータとする連続値の確率分布を表す f(x) は、条件付き確率の形式で記述すると、p( y | μ, σ )
• これをRで図示するならば > y <- seq( -5, 5, 0.1 ) > plot( y, dnorm( y, mean = 0, sd = 1 ), type = “l” )
(連続変数)確率密度関数の尤度計算法 確率=確率密度 × ⊿y として、尤度を計算するけど、 最終的に⊿yの項は無視する 省略する
(連続変数)確率密度関数の尤度計算法 結果として、 「対数尤度が正になり得る」「AICや逸脱度が負の数になり得る」 といった離散型確率分布とは異なる性質を持っている。 ※幅⊿y = 0.5としている
正規分布 : 最小二乗法=最尤推定 σがμと無関係かつ定数であるとした場合 「対数尤度関数の最大化」 = 「Σ(yi - μ)^2 の最小化」になる
最尤推定 最小二乗法 確率分布:正規分布、リンク関数:恒等関数、線型予測子:β1+β2 xi
ガンマ分布 • 0以上の連続値の確率分布 • shapeパラメータs、rateパラメータrから成る • 平均:s / r 分散:s /
r^2 ※s=1のときは指数分布 • Γ(s)はガンマ関数 (Wikipedia 「ガンマ関数」)
ガンマ分布 Rの命令文 > dgamma( y = ◦, shape = ◦,
rate = ◦ )
ガンマ分布のGLM • 確率分布関数:ガンマ分布 p(y | s, r) • リンク関数:対数かな? •
線型予測子:問題次第
例題:ガンマ分布でGLMをする 本例題の説明 個体:i ∈ {1, 2, … 50} 各個体 i
に対して 葉の重量:xi ←説明変数 花の重量:yi ←応答変数
例題:ガンマ分布でGLMをする なんらかの生物学的根拠により μi = Axi^b と表せるとする 対数リンク関数を用いて、線型予測子は、 log( μi )
= a + b log(xi) ※A = exp(a) と置いた Rの命令文 > glm( y ~ log(x) , family = Gamma(link = “log”), data = d )
例題:ガンマ分布でGLMをする なんらかの生物学的根拠により μi = Axi^b と表せるとする 対数リンク関数を用いて、線型予測子は、 log( μi )
= a + b log(xi) ※A = exp(a) と置いた Rの命令文 > glm( y ~ log(x) , family = Gamma(link = “log”), data = d ) glm()による推定では、 平均μiを決める線形予測子とリンク 関数だけを指定すれば良い 平均・分散をshape, rateパラメータ とどう対応付けるか考えなくて良い
参考文献
参考文献 - 30分だけでは決してよくわからない とてもとても難しい 一般化線形モデ ル with R - 線形結合モデルを科学的説明たりうるか
- Wikipedia 「線型結合」 - Wikipedia 「線型性」 - 確率密度関数と確率質量関数 - Wikipedia 「二項分布」