Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
心理学者のための統計モデリング
清水裕士
関西学院大学社会学部
自己紹介
• 清水裕士
– 関西学院大学社会学部
• 専門
– 社会心理学・グループダイナミックス
• 趣味
– 心理統計
– フリーの統計ソフトHADの開発
• Web
– http:norimune.net
– twitter:@simiz...
導入
本講演のテーマ
• GLMM
– Generalized Linear Mixed Model
– 一般化線形混合モデル
• 階層ベイズ
– 階層モデルをベイズで解く
– 階層モデルとは?
– ベイズで解くメリットは?
GLMM
• 線形モデル
– LM: Linear Model
– 正規分布を仮定した,線形モデル
• 重回帰,分散分析,共分散分析などを含む
• GLMM = G + M + LM
– GLM:Generalized Linear Model...
なぜGLMM?
「みどり本」
7
久保(2012) データ解析のための統計モデリング入門
なぜ心理学でGLMM?
• 分散分析の限界
– 正規分布するデータしか扱えない
– 変量効果を組み合わせると十分な推定ができない
– 仮説検定の枠組みでしか理解ができない
• GLMM
– 正規分布から解放される
– 変量効果を複数組み合わせら...
このスライドの概要
• LMの話:LM
– 回帰分析のおさらい
– 心理統計学と統計モデリングの違い
• Gの話:GLM
– 一般化線形モデルの話
– 心理統計学からみたGLM
– 統計モデリングからみたGLM
続きのスライドの概要
• Mの話:LMM
– 線形混合モデルの話
• HLMはここにはいる
– 階層モデルの話
• GLMMと階層ベイズ
– GとMが両方入ることの問題
– スマートな解決法としての階層ベイズ
– 階層ベイズをRで実行する
サンプルデータ
• なぜか2014年度のプロ野球データ
– プロ野球データフリークからダウンロード
• http://baseball-data.com/
– 野手199名の成績と翌年の年俸
– GLMMを扱うにはちょうどいいデータ
– htt...
プロ野球の打者成績と年俸
Rにデータを読み込む
• baseball.csvを読み込む
– 読み込み方は自由
– データのオブジェクト名はdatにしておいてください
• わからない人向け
– Rの作業ディレクトリと同じフォルダに保存
>dat <- read.csv("...
おさらい
線形モデル
回帰分析
• ある変数で,別の変数を予測する
– たとえば,野球選手の野手の年俸を予測する
• ホームラン1本打ったら,年俸はいくら増えるだろうか?
– 年俸を決める目安を知っておくと,次の年俸を決め
るのに便利。
回帰分析
回帰係数
• 回帰式とは
– Y=a + b X + e
– あるいは,Y’ = a + b X (ただし,Y’=Y – e)
• Xが増えると,Yがどれほど増えるのかを説明
• Y’は予測値,aが切片,bが傾き,eは誤差
– 野球選手の年俸の...
散布図
0
100
200
300
400
500
600
0 5 10 15 20 25 30 35 40
salary
HR
散布図
0
100
200
300
400
500
600
0 5 10 15 20 25 30 35 40
salary
HR
HRが0本のときに予想さ
れる年俸
回帰係数b
HRが一本増えたときに予想さ
れる年俸の平均増加額
切片a
予測値...
回帰係数の計算方法
• 回帰係数の算出
– Y = a + b X + e
• eの二乗和を最も小さくするようにbを決定する
• 最小二乗法という方法で計算・・・説明は省略
– 要は,回帰係数は,Xが1単位増加したときの,Y
の増加量
– 回帰...
Rで回帰分析
• lm()を使う
>fit.lm <- lm(salary ~ HR, dat)
>summary(fit.lm)
HR1本打つと,675万年俸が増える
HRが0本でも3200万の年俸はもらえる
予測直線も作ってみる
• plot()で散布図を作ってから,線を書く
>plot(dat$HR,dat$salary)
>abline(fit.lm)
年俸はどうみても正規分布じゃない
• salaryのヒストグラム
>hist(dat$salary)
年収って,対数正規分布らしい
OK,対数変換してやろうじゃない
• 年俸の対数の分布
>hist(log(dat$salary))
それっぽくなった!
対数年俸とHRの回帰モデル
• 対数年俸を目的変数に回帰
>fit.lm2 <- lm(log(salary) ~ HR, dat)
>summary(fit.lm2)
まぁどっちにしても有意やな(
心理統計としての回帰分析
• 従属変数が正規分布に従ってるかチェック
– してようがしてまいが,結局は重回帰にかける
– 場合によっては対数変換して重回帰
• 有意な説明変数を探す
– ステップワイズ法を使って有意な変数だけを選ぶこと
もある
...
心理統計としての回帰分析
• 実験と分散分析
– 効果があるかどうかに興味がある
• 実験室内の行動を予測してもあまり意味がない
• 行動に違いがあるかどうかだけが知りたい
• 回帰分析も基本的には同じ使われ方
– 変数に効果があるかどうかに興...
回帰分析は予測にも使えるよ
• HRが10本の人の年俸
– 3200万+675万×10 = 9975万
• 予測区間を使えばもっと便利
0
100
200
300
400
500
600
0 10 20 30 40
salary
HR
心理統計から統計モデリングへ
• GLMMを理解するために
– まずは,回帰分析を例に統計モデリングの世界
を理解する必要がある
– 心理統計とは,哲学が若干違う点に注意
• モデリングが心理学で必要かどうか
– この講演の最後にまた心理統計と...
統計モデリング
統計モデリング
• データ発生メカニズムを知る
– データが何らかの分布から発生している
– その発生メカニズムを「確率分布」を使って表現
– データの予測に興味がある
• 確率分布のパラメータを推測する
– 確率分布の形を決める値のこと
• ...
真のモデル≒データ発生メカニズム
真の分布 データ
直接は知りえない 直接観測できる
データの発生
真の分布≒乱数生成装置
• 分布に従って乱数を発生させる装置
– 平均50,標準偏差10の正規分布の場合
– 50を中心に,30~70ぐらいの値がでてくる
• 現象は乱数生成装置から出た乱数
– ホームランが30本の人,20本の人・・・
• 知...
例:平均値を推定する
• 平均値の推定も統計モデリング
– Y ~ N(μ, σ)
• Yが平均μ,標準偏差σの正規分布に従う
• 正規分布という確率モデルの,平均値というパラメータ
を推定する
• いわゆる算術平均は,正規分布の平均値パラメー...
平均値を推定する
• 年俸を無理やり正規分布に当てはめて推定
>fit.lm0 <- lm(salary~1,dat)
>summary(fit.lm0)
– 平均=74.66,標準偏差=87.95
– 平均値の信頼区間 62.36 ~ 86....
真の分布と統計モデリング
• 真の分布は完全にはわからない
– 真の分布が何かは直接にはわからない
– われわれが知ってる確率分布とも限らない
– でも,その分布から生成されたデータのいくつか
は手に入っている
• 統計モデリングの目的
– 限...
予測分布
• 仮定した確率モデルから予測される分布
– 平均=74.66,標準偏差=87.95の正規分布
– 95%予測区間= -99.22 ~ 248.53 予測値が負!
真の分布と統計モデリング
真の分布 データ
直接は知りえない 直接観測できる
統計モデリング
どのモデルが真の分布に近いか
• どのようなモデルが「よい」のか
– モデルの良さには,いろんな基準がある
– 真の分布とモデルの近さをどう決めるか
• 予測誤差が小さいモデル≒よいモデル?
– 将来をよりよく予測できるモデルがよい
– 真の分...
平均値を違う確率モデルで推定
• 対数正規分布で推定
– 平均値 = 72.50
– 平均値の95%信頼区間 = 63.15~ 83.23
– 95%予測区間 = 6.36~ 312.20
点推定値はそれほど変わらな
いが,信頼区間,予測区間は...
正規分布と対数正規分布
• どちらが真の分布に近い?
– 平均値の推定値はあまりかわらない
• 74.66と72.50
• 信頼区間は少し違うが,まぁあまりかわらない
• じゃあどちらでもいい?
• パラメータはそれ単体ではなく予測に使う
– ...
データのあてはまりを考える
• 今回のデータとモデルの近さ
– モデルを正しいとした場合の,データが得られる確率
で評価することができる
– これを尤度と呼ぶ
• 尤度=データとモデルの近さ
– 尤度を大きくするモデルは,データを最もうまく説明...
正規分布と対数正規分布
• 対数尤度を比較
– 対数正規分布のほうが対数尤度が大きい
対数尤度 = -1172.74
-2*対数尤度 = 2345.48
対数尤度 = -1036.58
-2*対数尤度 = 2073.16
正規分布 対数正規分布
今度はモデルを複雑にしてみる
• また正規分布に戻って・・・
– 今度は回帰分析
パラメータを増やすと尤度は増える
• 回帰直線と予測区間
– 説明変数が増えると,予測区間は狭くなる
• →予測精度が上がっている = 尤度も高くなる
データへのあてはまりをよくする
• モデルの複雑さとデータのあてはまり
– モデルを複雑にすればするほど,データとの当てはまり
のよさ(尤度)は高くなる
– 複雑なモデル=パラメータが多いモデル
• オーバーフィッティング
– しかし,それはデ...
真のモデルが一次式のデータ
真のモデルは y ~ N(0.8+0.6x, 0.8)
破線は予測区間
2次式で推定
3次式
4次式
データとの当てはまり
次数が上がるほど,データとの当てはまりはよい
将来のデータを予測したい
• 今回のデータ「だけ」に当てはまっても仕方ない
– どのデータにも,サンプリングのバイアスがある
• たまたまこういうデータである,という可能性
– 今回のデータだけに当てはまっても,将来の予測が
上手くいくとは限ら...
将来のデータへの予測誤差
モデルは固定して,同じ真の分布から発生した,別の
50個のデータに当てはめたときの‐2*対数尤度の平均
でも実際は真のモデルはわからない
• たった一つのデータから予測誤差が知りたい
– そんなことできるわけ・・・
• できた
– 情報量規準
– モデルの尤度にパラメータ数の関数を罰則として
加えることで,たった一つのデータから平均的な
予測誤差...
平均的な予測誤差を評価する
• 赤池情報量規準(AIC)
– モデルが最尤法で推定できて,サンプルサイズが十分大
きいとき,
– AIC = -2 * 対数尤度 + 2*パラメータ数
– この値は,平均予測誤差の近似値となる
• AICの特徴
...
情報量規準最小のモデルを選ぶ
• AICで予測誤差が小さいモデルを選ぶ
– モデルごとにAICを計算して,それが最も小さいモ
デルが,将来をよりよく予測できるモデルとなる
• AICの仮定
– パラメータ(データではない)が正規分布になる
– ...
AICの比較
1次の情報量規準が最も小さい
いろんな情報量規準
• cAIC
– AICの有限サンプルサイズバージョン
• 真の分布が正規分布の場合のみ利用可能
• WAIC
– AICのベイズ版 より拡張的な指標
• 真の分布がモデルに含まれてなくても使える
• パラメータが正規分布で...
統計モデリングとしての回帰分析
正規分布を使って予測
• 年俸をHRで予測したい
0
100
200
300
400
500
600
0 5 10 15 20 25 30 35 40
salary
HR
数式で表現してみる
• 回帰式
– Y = α + β X + e
– ただし,e ~ N(0, σ)
• 残差は,平均0,標準偏差σの正規分布に従う
• 統計モデリング的な表現
– 𝑌 = α + β X
• 𝑌はYの予測値
– Y ~ N(...
回帰分析の仮定
• データは独立に生成されている
– 独立性(正確には無相関の仮定)
• データ内に局所的な相関がない
• データは同じ(分散の)分布から生成されている
– 同一性(均一分散の仮定)
• データはすべて同じ(分散の)分布に従って...
正規分布を使って予測
• 予測直線を中心とした正規分布に従う
かなり無理がある・・
全然同一じゃない・・
予測外れまくり・・・
予測分布からデータ生成
• 真の分布の近似
– N( 𝑌, σ)に推定したパラメータを入れたものが予測分布
>predict <- fit.lm$
>sigma <- (sum(fit.lm$residuals^2) / 199) ^ 0.5
...
統計モデリングと回帰分析
• 説明変数の有意性はそれほど重視しない
– モデル全体でよい予測ができるかどうか
– もちろん有意性検定は,AICを向上させるのに役
立つ場合はある
• 変数変換をすると情報量規準を比較できない
– 対数変換をするの...
一般化線形モデル
一般化線形モデルとは
• 線形モデル
– データが正規分布から生成されたと仮定するモ
デル
• 一般化線形モデル
– データが指数分布族の確率分布から生成された
と仮定するモデル
指数分布族
• シンプルな構造を持った確率分布
– いろいろわかりやすい性質を持っている
• 離散分布
– 二項分布,ポアソン分布,負の二項分布など
• 連続分布
– 正規分布,対数正規分布,ガンマ分布など
対数正規分布
対数正規分布とは
• 対数をとると正規分布になる分布
– 大きいものほどより大きくなるような性質のもの
– 年収データ
– ネットワークサイズ
• 年俸を対数正規分布に当てはめる
– Rでは,直接対数正規分布に当てはめる関数は
たぶんない
• ...
パラメータの推定は・・・
• 対数変換してlm()で求めればよい
>fit.lm.log <- lm(log(salary)~HR,dat)
>summary(fit.lm.log)
回帰係数は対数変換された値なので,直接は解釈が難しい
予測曲線と予測区間
• 対数正規分布を当てはめたモデル
正規分布よりはうまい
こと当てはまっている
予測分布
• 対数正規分布を使って乱数を生成
– predict <- fit.lm.log$fitted.values
– sigma <- (sum(fit.lm.log$residuals^2) / 199)
– y <- rlnorm(...
ベルヌーイ分布
2値データの予測
• 年俸が1億をこえるかをHRで予測したい
– 1億未満と1億以上を区別する変数
1億を超える確率を推定
• 二項分布を使う
– n回の試行で,失敗するか成功するかのどちらか
が生起するような現象についての分布
– 二値データの場合,試行が1回だけの場合の二
項分布を考える
• ベルヌーイ分布ともいう
1億を超える確率を推定
• 確率pをHRで予測
– しかし,確率の値は0~1の範囲しかとらない
– 予測値が0~1の範囲に収まる必要がある
– そこで,予測範囲を-∞~∞の範囲に拡張するため
に,ロジット変換をした確率を予測する
– logit...
ロジット変換とは
ホームランで1億を超えるかを予測
Rで推定
• glm()を使う
>dat$ichioku <- ifelse(dat$salary<=100,0,1)
>fit.logistic <- glm(ichioku~HR,dat,family=binomial)
>summary(...
オッズ比
• HR1本打ったときに,1億を超える確率が何
倍になるか
• オッズ比 = exp(回帰係数)
– exp(fit.logistic$coefficients)
– HR1本打つと,1億を超える確率が1.17倍になる
二項分布
二項分布
• N回中,r回成功する確率を推定
– 比率,割合のデータ
– たとえば打率を推定したい場合は・・・
• 安打を成功,打数を試行数とするモデリングをする
• 打率を直接予測しちゃダメ?
– 選手によって打数が異なる
– 点推定値は変わ...
基本はロジスティック回帰と同じ
• 確率は0~1の範囲をとる
– よって,ロジットリンクでモデリング
– glmではbinomialを指定するとロジットになる
• Rではglm()を使うが・・・
– 従属変数として成功数と失敗数を指定
>fit...
各リーグの打率の推定値
• それぞれの係数をロジスティック変換
– psychパッケージのlogistic()を使うと楽
>logistic(fit.bin$coefficients[1])
>logistic(fit.bin$coeffici...
打率に差はある?
• 素直にリーグの回帰係数を見る
>fit.bin2 <- glm(cbind(HIT,ATbats-HIT)~league,dat,family=binomial)
>summary(fit.bin2)
一応,差はあるらしい...
ポアソン分布
ホームランのデータ
• 明らかに正規分布ではない
打席数で回帰
• 上手くフィットしていない・・・?
打席数が増えるほど,HRの
分散が大きくなっている・・・?
カウントデータの分析
• ある事象が起きた回数のデータ
– 特に,事象の起こる確率が引く場合
– データは0を含む自然数
– 0側に歪んだデータ
• ポアソン分布
– 起こる確率が低い事象が起きた回数についての
分布
– ホームランなどは,それ...
ポアソン分布の性質
• 値は非負の整数
• 平均と分散が等しい
– 平均が大きいほど,分散も大きい
– パラメータは平均値であるλ
λ=3.5 λ=10
ポアソン回帰分析
• データがポアソン分布に従うと仮定
– 説明変数がの上昇に従い,ポアソン分布のパラ
メータλがどれほど上昇するかを予測する
打席数が200のときの分布と,打席数
が400のときの分布に違い
打席数が200増えると,ホームラン...
ポアソン回帰分析
• ポアソン分布は非負
– 予測値が負になってしまうと,分布の範囲からは
ずれてしまう
– そこで,ポアソン分布のパラメータであるλを対数
変換した値を予測することで解決する
– Log(λi) = b0 + b1 Xi1 +...
Rでポアソン回帰分析
• 同じくglm()を使う
>fit.pois <- glm(HR~ATbase,dat,family=poisson)
>summary(fit.pois)
係数が小さく見えるが,これは対数リンクを使っているため
z値が...
ポアソン回帰
予測区間を表示すると・・・
はずれまくり!
離散分布なので予測分布
がガタガタ
ポアソン回帰の解釈
• 1打席あたりHRが出る程度は,その人の打席
数に依存する
• 打席数が多い人ほど,1打席あたりにHRを打
つ割合が高くなっていく
• ただし,ポアソン分布には重要な欠点が・・
– パラメータがλひとつのため,過分散の問題
負の二項分布
ポアソン分布の過分散問題
• 離散分布はパラメータが1つのものが多い
– 二項分布・・・確率pのみ
– ポアソン分布・・・平均λのみ
• 分散は自動的に決まってしまう
– 二項分布・・・分散=Np(1-p)
– ポアソン分布・・・分散=λ
– ...
過分散の対処法
• 同じタイプの分布で2パラメータのものを使う
– 二項分布→ベータ二項分布
– ポアソン分布→負の二項分布
• 変量効果を用いて過分散を推定
– 明日お話しします
負の二項分布についての詳細
• こちらのスライドをどうぞ
– 負の二項分布
– http://www.slideshare.net/simizu706/ss-50994149
負の二項分布
• ポアソン分布の過分散も推定
– HRをポアソンと負の二項分布で推定
ポアソン分布
負の二項分布
上手くいきそう!
全然ダメ!
Rで負の二項回帰分析
• HRを打席数で予測
– MASSパッケージのglm.nbを使う
– library(MASS)
– fit.nb <- glm.nb(HR~ATbase,dat)
– summary(fit.nb)
過分散パラメータ
...
負の二項回帰分析
きれいに収まった
ポアソンと負の二項分布
• AICを比較
– ポアソン分布:AIC=1461
– 負の二項分布:AIC=1033
– 負の二項分布のほうが圧倒的に小さい!
• ポアソン分布の使いどころ
– 社会科学のデータでポアソンが当てはまる例は少ない気
が...
GLMと心理統計学
GLMってあんまり使わない
• 2値データにロジスティック回帰
– ・・・は比較的よく使うが・・・
– ポアソンや負の二項分布,ガンマ,対数正規分布
などはあまり使われない
– なぜか
有意性検定だけなら・・
• あまり結果は変わらない
– 1パラメータの分布は別にして,ある分布で有意
だが別の分布では非有意になる,ということはあ
まりない
• もちろん,推定しているパラメータが違うので同じには
ならない
• 同じ有意なら別に...
実験計画法との関係
• ANOVA:実験計画法との相性が良い
– 効果の解釈が容易
– 効果量を簡単に計算できる
– グラフを簡単に書ける
• GLM:実験計画法と相性が悪い
– 効果の解釈がしづらい
– 効果量がまだうまく計算できない
– グ...
GLMは心理統計では不要?
• もちろん,そうではないと思う
– 理由0:正規分布以外のデータはごろごろある
• 分析法を理由にとるデータに制限をかけるのは変
– 理由1:GLMの効果量もあるにはある
• 今後,発展されていくべきところ
– 理...
続きます
• 心理学者のためのGLMM・階層ベイズ
– http://www.slideshare.net/simizu706/glmm-58585283
心理学者のための統計モデリング
心理学者のための統計モデリング
Upcoming SlideShare
Loading in …5
×

心理学者のための統計モデリング

8,339 views

Published on

北海道大学で講演した,GLM,HLM,GLMM,階層ベイズについてのスライド前半です。
後半はこちら
http://www.slideshare.net/simizu706/glmm-58585283

Published in: Data & Analytics
  • Be the first to comment

心理学者のための統計モデリング

  1. 1. 心理学者のための統計モデリング 清水裕士 関西学院大学社会学部
  2. 2. 自己紹介 • 清水裕士 – 関西学院大学社会学部 • 専門 – 社会心理学・グループダイナミックス • 趣味 – 心理統計 – フリーの統計ソフトHADの開発 • Web – http:norimune.net – twitter:@simizu706
  3. 3. 導入
  4. 4. 本講演のテーマ • GLMM – Generalized Linear Mixed Model – 一般化線形混合モデル • 階層ベイズ – 階層モデルをベイズで解く – 階層モデルとは? – ベイズで解くメリットは?
  5. 5. GLMM • 線形モデル – LM: Linear Model – 正規分布を仮定した,線形モデル • 重回帰,分散分析,共分散分析などを含む • GLMM = G + M + LM – GLM:Generalized Linear Model 一般化する話 – LMM:Linear Mixed Model 混ぜる話
  6. 6. なぜGLMM?
  7. 7. 「みどり本」 7 久保(2012) データ解析のための統計モデリング入門
  8. 8. なぜ心理学でGLMM? • 分散分析の限界 – 正規分布するデータしか扱えない – 変量効果を組み合わせると十分な推定ができない – 仮説検定の枠組みでしか理解ができない • GLMM – 正規分布から解放される – 変量効果を複数組み合わせられる – 統計モデリングの視点を導入できる
  9. 9. このスライドの概要 • LMの話:LM – 回帰分析のおさらい – 心理統計学と統計モデリングの違い • Gの話:GLM – 一般化線形モデルの話 – 心理統計学からみたGLM – 統計モデリングからみたGLM
  10. 10. 続きのスライドの概要 • Mの話:LMM – 線形混合モデルの話 • HLMはここにはいる – 階層モデルの話 • GLMMと階層ベイズ – GとMが両方入ることの問題 – スマートな解決法としての階層ベイズ – 階層ベイズをRで実行する
  11. 11. サンプルデータ • なぜか2014年度のプロ野球データ – プロ野球データフリークからダウンロード • http://baseball-data.com/ – 野手199名の成績と翌年の年俸 – GLMMを扱うにはちょうどいいデータ – http://bit.ly/hokudai_glmm • ここからダウンロード可 • ただし,Macユーザーは文字コードの変換が必要 • 使う変数は・・・ – 年俸,HR,HIT,打数あたりです。
  12. 12. プロ野球の打者成績と年俸
  13. 13. Rにデータを読み込む • baseball.csvを読み込む – 読み込み方は自由 – データのオブジェクト名はdatにしておいてください • わからない人向け – Rの作業ディレクトリと同じフォルダに保存 >dat <- read.csv("baseball.csv") – と書く – dat <- read.csv("baseball.csv",fileEncoding = "CP932") • Macの人は上のコードを実行してください
  14. 14. おさらい 線形モデル
  15. 15. 回帰分析 • ある変数で,別の変数を予測する – たとえば,野球選手の野手の年俸を予測する • ホームラン1本打ったら,年俸はいくら増えるだろうか? – 年俸を決める目安を知っておくと,次の年俸を決め るのに便利。 回帰分析
  16. 16. 回帰係数 • 回帰式とは – Y=a + b X + e – あるいは,Y’ = a + b X (ただし,Y’=Y – e) • Xが増えると,Yがどれほど増えるのかを説明 • Y’は予測値,aが切片,bが傾き,eは誤差 – 野球選手の年俸の例で言えば・・・ • 年俸 = a + b ホームラン数 + e • bをホームラン数の年俸に対する回帰係数という – HRが1本増えたときの,平均的な年俸の増額を意味する
  17. 17. 散布図 0 100 200 300 400 500 600 0 5 10 15 20 25 30 35 40 salary HR
  18. 18. 散布図 0 100 200 300 400 500 600 0 5 10 15 20 25 30 35 40 salary HR HRが0本のときに予想さ れる年俸 回帰係数b HRが一本増えたときに予想さ れる年俸の平均増加額 切片a 予測値Y’
  19. 19. 回帰係数の計算方法 • 回帰係数の算出 – Y = a + b X + e • eの二乗和を最も小さくするようにbを決定する • 最小二乗法という方法で計算・・・説明は省略 – 要は,回帰係数は,Xが1単位増加したときの,Y の増加量 – 回帰係数b = 共分散Sxy / Xの分散 – 切片a = Yの平均値-回帰係数×Xの平均値
  20. 20. Rで回帰分析 • lm()を使う >fit.lm <- lm(salary ~ HR, dat) >summary(fit.lm) HR1本打つと,675万年俸が増える HRが0本でも3200万の年俸はもらえる
  21. 21. 予測直線も作ってみる • plot()で散布図を作ってから,線を書く >plot(dat$HR,dat$salary) >abline(fit.lm)
  22. 22. 年俸はどうみても正規分布じゃない • salaryのヒストグラム >hist(dat$salary)
  23. 23. 年収って,対数正規分布らしい
  24. 24. OK,対数変換してやろうじゃない • 年俸の対数の分布 >hist(log(dat$salary)) それっぽくなった!
  25. 25. 対数年俸とHRの回帰モデル • 対数年俸を目的変数に回帰 >fit.lm2 <- lm(log(salary) ~ HR, dat) >summary(fit.lm2) まぁどっちにしても有意やな(
  26. 26. 心理統計としての回帰分析 • 従属変数が正規分布に従ってるかチェック – してようがしてまいが,結局は重回帰にかける – 場合によっては対数変換して重回帰 • 有意な説明変数を探す – ステップワイズ法を使って有意な変数だけを選ぶこと もある • 有意な標準化偏回帰係数を報告する – おおよその効果量として使える – これは効果が大きいね,小さいね,っていう話をする
  27. 27. 心理統計としての回帰分析 • 実験と分散分析 – 効果があるかどうかに興味がある • 実験室内の行動を予測してもあまり意味がない • 行動に違いがあるかどうかだけが知りたい • 回帰分析も基本的には同じ使われ方 – 変数に効果があるかどうかに興味がある • 尺度値を予測してもあまり意味がない • 尺度値が変数に応じて変わるかどうかが知りたい
  28. 28. 回帰分析は予測にも使えるよ • HRが10本の人の年俸 – 3200万+675万×10 = 9975万 • 予測区間を使えばもっと便利 0 100 200 300 400 500 600 0 10 20 30 40 salary HR
  29. 29. 心理統計から統計モデリングへ • GLMMを理解するために – まずは,回帰分析を例に統計モデリングの世界 を理解する必要がある – 心理統計とは,哲学が若干違う点に注意 • モデリングが心理学で必要かどうか – この講演の最後にまた心理統計との関連を議論 – 明日あたり,飲みながら議論しましょう
  30. 30. 統計モデリング
  31. 31. 統計モデリング • データ発生メカニズムを知る – データが何らかの分布から発生している – その発生メカニズムを「確率分布」を使って表現 – データの予測に興味がある • 確率分布のパラメータを推測する – 確率分布の形を決める値のこと • 正規分布なら,平均値と分散 – 正規分布以外の確率分布も扱う
  32. 32. 真のモデル≒データ発生メカニズム 真の分布 データ 直接は知りえない 直接観測できる データの発生
  33. 33. 真の分布≒乱数生成装置 • 分布に従って乱数を発生させる装置 – 平均50,標準偏差10の正規分布の場合 – 50を中心に,30~70ぐらいの値がでてくる • 現象は乱数生成装置から出た乱数 – ホームランが30本の人,20本の人・・・ • 知りたいこと – 真の分布の種類と,そのパラメータ
  34. 34. 例:平均値を推定する • 平均値の推定も統計モデリング – Y ~ N(μ, σ) • Yが平均μ,標準偏差σの正規分布に従う • 正規分布という確率モデルの,平均値というパラメータ を推定する • いわゆる算術平均は,正規分布の平均値パラメータ の最尤推定量
  35. 35. 平均値を推定する • 年俸を無理やり正規分布に当てはめて推定 >fit.lm0 <- lm(salary~1,dat) >summary(fit.lm0) – 平均=74.66,標準偏差=87.95 – 平均値の信頼区間 62.36 ~ 86.95
  36. 36. 真の分布と統計モデリング • 真の分布は完全にはわからない – 真の分布が何かは直接にはわからない – われわれが知ってる確率分布とも限らない – でも,その分布から生成されたデータのいくつか は手に入っている • 統計モデリングの目的 – 限られたデータから,最も真の分布に近いと思わ れる確率分布モデル=予測分布を作成する
  37. 37. 予測分布 • 仮定した確率モデルから予測される分布 – 平均=74.66,標準偏差=87.95の正規分布 – 95%予測区間= -99.22 ~ 248.53 予測値が負!
  38. 38. 真の分布と統計モデリング 真の分布 データ 直接は知りえない 直接観測できる 統計モデリング
  39. 39. どのモデルが真の分布に近いか • どのようなモデルが「よい」のか – モデルの良さには,いろんな基準がある – 真の分布とモデルの近さをどう決めるか • 予測誤差が小さいモデル≒よいモデル? – 将来をよりよく予測できるモデルがよい – 真の分布が生成するデータをあてることができる ようなモデルを選びたい
  40. 40. 平均値を違う確率モデルで推定 • 対数正規分布で推定 – 平均値 = 72.50 – 平均値の95%信頼区間 = 63.15~ 83.23 – 95%予測区間 = 6.36~ 312.20 点推定値はそれほど変わらな いが,信頼区間,予測区間は 大きく異なる
  41. 41. 正規分布と対数正規分布 • どちらが真の分布に近い? – 平均値の推定値はあまりかわらない • 74.66と72.50 • 信頼区間は少し違うが,まぁあまりかわらない • じゃあどちらでもいい? • パラメータはそれ単体ではなく予測に使う – パラメータは分布の形を決めるために推定 – データの分布と予測分布の近さを評価する
  42. 42. データのあてはまりを考える • 今回のデータとモデルの近さ – モデルを正しいとした場合の,データが得られる確率 で評価することができる – これを尤度と呼ぶ • 尤度=データとモデルの近さ – 尤度を大きくするモデルは,データを最もうまく説明で きているモデルといえる – -2*対数尤度は,逆にモデルの予測とデータの誤差を 意味している
  43. 43. 正規分布と対数正規分布 • 対数尤度を比較 – 対数正規分布のほうが対数尤度が大きい 対数尤度 = -1172.74 -2*対数尤度 = 2345.48 対数尤度 = -1036.58 -2*対数尤度 = 2073.16 正規分布 対数正規分布
  44. 44. 今度はモデルを複雑にしてみる • また正規分布に戻って・・・ – 今度は回帰分析
  45. 45. パラメータを増やすと尤度は増える • 回帰直線と予測区間 – 説明変数が増えると,予測区間は狭くなる • →予測精度が上がっている = 尤度も高くなる
  46. 46. データへのあてはまりをよくする • モデルの複雑さとデータのあてはまり – モデルを複雑にすればするほど,データとの当てはまり のよさ(尤度)は高くなる – 複雑なモデル=パラメータが多いモデル • オーバーフィッティング – しかし,それはデータ生成の確率的な変動を無視して,過 剰にあてはまりを高くしてしまう – これをオーバーフィッティングという – 真の分布の代わりにデータによる推定値を用いることの バイアスは,オーバーフィッティングによって生じる
  47. 47. 真のモデルが一次式のデータ 真のモデルは y ~ N(0.8+0.6x, 0.8) 破線は予測区間
  48. 48. 2次式で推定
  49. 49. 3次式
  50. 50. 4次式
  51. 51. データとの当てはまり 次数が上がるほど,データとの当てはまりはよい
  52. 52. 将来のデータを予測したい • 今回のデータ「だけ」に当てはまっても仕方ない – どのデータにも,サンプリングのバイアスがある • たまたまこういうデータである,という可能性 – 今回のデータだけに当てはまっても,将来の予測が 上手くいくとは限らない • モデルの複雑さをむやみに高くしないこと – パラメータが多いと尤度は高くなる – パラメータが多すぎると予測誤差は大きくなる – ほどほどのバランスが必要
  53. 53. 将来のデータへの予測誤差 モデルは固定して,同じ真の分布から発生した,別の 50個のデータに当てはめたときの‐2*対数尤度の平均
  54. 54. でも実際は真のモデルはわからない • たった一つのデータから予測誤差が知りたい – そんなことできるわけ・・・ • できた – 情報量規準 – モデルの尤度にパラメータ数の関数を罰則として 加えることで,たった一つのデータから平均的な 予測誤差の期待値を推定できる
  55. 55. 平均的な予測誤差を評価する • 赤池情報量規準(AIC) – モデルが最尤法で推定できて,サンプルサイズが十分大 きいとき, – AIC = -2 * 対数尤度 + 2*パラメータ数 – この値は,平均予測誤差の近似値となる • AICの特徴 – AICは,データへのあてはまりの良さ(尤度)と,パラメータ 数で決まる – 対数尤度が高いほど,パラメータ数が少ないほど平均予 測誤差は小さくなる
  56. 56. 情報量規準最小のモデルを選ぶ • AICで予測誤差が小さいモデルを選ぶ – モデルごとにAICを計算して,それが最も小さいモ デルが,将来をよりよく予測できるモデルとなる • AICの仮定 – パラメータ(データではない)が正規分布になる – サンプルサイズが大きい – 真の分布をモデルが含んでいる
  57. 57. AICの比較 1次の情報量規準が最も小さい
  58. 58. いろんな情報量規準 • cAIC – AICの有限サンプルサイズバージョン • 真の分布が正規分布の場合のみ利用可能 • WAIC – AICのベイズ版 より拡張的な指標 • 真の分布がモデルに含まれてなくても使える • パラメータが正規分布で近似できなくても使える • BIC – モデルが正しい確率が高いモデルを選ぶ
  59. 59. 統計モデリングとしての回帰分析
  60. 60. 正規分布を使って予測 • 年俸をHRで予測したい 0 100 200 300 400 500 600 0 5 10 15 20 25 30 35 40 salary HR
  61. 61. 数式で表現してみる • 回帰式 – Y = α + β X + e – ただし,e ~ N(0, σ) • 残差は,平均0,標準偏差σの正規分布に従う • 統計モデリング的な表現 – 𝑌 = α + β X • 𝑌はYの予測値 – Y ~ N( 𝑌, σ) • Yは平均 𝑌,標準偏差σの正規分布に従う • ただし, 𝑌はXの値によって変化する条件付きのパラメータ
  62. 62. 回帰分析の仮定 • データは独立に生成されている – 独立性(正確には無相関の仮定) • データ内に局所的な相関がない • データは同じ(分散の)分布から生成されている – 同一性(均一分散の仮定) • データはすべて同じ(分散の)分布に従っている • データは正規分布から生成されている – 正規性
  63. 63. 正規分布を使って予測 • 予測直線を中心とした正規分布に従う かなり無理がある・・ 全然同一じゃない・・ 予測外れまくり・・・
  64. 64. 予測分布からデータ生成 • 真の分布の近似 – N( 𝑌, σ)に推定したパラメータを入れたものが予測分布 >predict <- fit.lm$ >sigma <- (sum(fit.lm$residuals^2) / 199) ^ 0.5 >y <- rnorm(199,predict,sigma) >hist(y) 予測分布から生成したデータ 本来の年俸のデータ
  65. 65. 統計モデリングと回帰分析 • 説明変数の有意性はそれほど重視しない – モデル全体でよい予測ができるかどうか – もちろん有意性検定は,AICを向上させるのに役 立つ場合はある • 変数変換をすると情報量規準を比較できない – 対数変換をするのではなく,対数正規分布で直 接モデリングするほうがよい
  66. 66. 一般化線形モデル
  67. 67. 一般化線形モデルとは • 線形モデル – データが正規分布から生成されたと仮定するモ デル • 一般化線形モデル – データが指数分布族の確率分布から生成された と仮定するモデル
  68. 68. 指数分布族 • シンプルな構造を持った確率分布 – いろいろわかりやすい性質を持っている • 離散分布 – 二項分布,ポアソン分布,負の二項分布など • 連続分布 – 正規分布,対数正規分布,ガンマ分布など
  69. 69. 対数正規分布
  70. 70. 対数正規分布とは • 対数をとると正規分布になる分布 – 大きいものほどより大きくなるような性質のもの – 年収データ – ネットワークサイズ • 年俸を対数正規分布に当てはめる – Rでは,直接対数正規分布に当てはめる関数は たぶんない • 自分で作ればある
  71. 71. パラメータの推定は・・・ • 対数変換してlm()で求めればよい >fit.lm.log <- lm(log(salary)~HR,dat) >summary(fit.lm.log) 回帰係数は対数変換された値なので,直接は解釈が難しい
  72. 72. 予測曲線と予測区間 • 対数正規分布を当てはめたモデル 正規分布よりはうまい こと当てはまっている
  73. 73. 予測分布 • 対数正規分布を使って乱数を生成 – predict <- fit.lm.log$fitted.values – sigma <- (sum(fit.lm.log$residuals^2) / 199) – y <- rlnorm(199,predict,sigma) – hist(y) 予測分布から生成したデータ 本来の年俸のデータ
  74. 74. ベルヌーイ分布
  75. 75. 2値データの予測 • 年俸が1億をこえるかをHRで予測したい – 1億未満と1億以上を区別する変数
  76. 76. 1億を超える確率を推定 • 二項分布を使う – n回の試行で,失敗するか成功するかのどちらか が生起するような現象についての分布 – 二値データの場合,試行が1回だけの場合の二 項分布を考える • ベルヌーイ分布ともいう
  77. 77. 1億を超える確率を推定 • 確率pをHRで予測 – しかし,確率の値は0~1の範囲しかとらない – 予測値が0~1の範囲に収まる必要がある – そこで,予測範囲を-∞~∞の範囲に拡張するため に,ロジット変換をした確率を予測する – logit(pi) = log(pi/(1-pi))= b0 + b1 Xi1 + b2 Xi2 ・・・ + ei • これをロジットリンク関数と呼ぶ • またベルヌーイ分布+ロジットリンクのモデルを特にロジス ティック回帰分析と呼ぶ
  78. 78. ロジット変換とは
  79. 79. ホームランで1億を超えるかを予測
  80. 80. Rで推定 • glm()を使う >dat$ichioku <- ifelse(dat$salary<=100,0,1) >fit.logistic <- glm(ichioku~HR,dat,family=binomial) >summary(fit.logistic) HR1本打つと,ロジット得点が0.156点上がる・・・ 解釈しにくい
  81. 81. オッズ比 • HR1本打ったときに,1億を超える確率が何 倍になるか • オッズ比 = exp(回帰係数) – exp(fit.logistic$coefficients) – HR1本打つと,1億を超える確率が1.17倍になる
  82. 82. 二項分布
  83. 83. 二項分布 • N回中,r回成功する確率を推定 – 比率,割合のデータ – たとえば打率を推定したい場合は・・・ • 安打を成功,打数を試行数とするモデリングをする • 打率を直接予測しちゃダメ? – 選手によって打数が異なる – 点推定値は変わらなくても区間推定の結果が異なる • より打数が多い選手の打率の推定精度は高くなり,打数が 少ない選手は推定精度が低くなるはず – 今回は,リーグで打率に差があるかを検討
  84. 84. 基本はロジスティック回帰と同じ • 確率は0~1の範囲をとる – よって,ロジットリンクでモデリング – glmではbinomialを指定するとロジットになる • Rではglm()を使うが・・・ – 従属変数として成功数と失敗数を指定 >fit.bin <- glm(cbind(HIT,ATbats-HIT)~league-1,dat,family=binomial) >summary(fit.bin)
  85. 85. 各リーグの打率の推定値 • それぞれの係数をロジスティック変換 – psychパッケージのlogistic()を使うと楽 >logistic(fit.bin$coefficients[1]) >logistic(fit.bin$coefficients[2])
  86. 86. 打率に差はある? • 素直にリーグの回帰係数を見る >fit.bin2 <- glm(cbind(HIT,ATbats-HIT)~league,dat,family=binomial) >summary(fit.bin2) 一応,差はあるらしい・・・ ただし,この分析は後に述べるか分散の問題を含 んでいるので真に受けてはいけない
  87. 87. ポアソン分布
  88. 88. ホームランのデータ • 明らかに正規分布ではない
  89. 89. 打席数で回帰 • 上手くフィットしていない・・・? 打席数が増えるほど,HRの 分散が大きくなっている・・・?
  90. 90. カウントデータの分析 • ある事象が起きた回数のデータ – 特に,事象の起こる確率が引く場合 – データは0を含む自然数 – 0側に歪んだデータ • ポアソン分布 – 起こる確率が低い事象が起きた回数についての 分布 – ホームランなどは,それに該当
  91. 91. ポアソン分布の性質 • 値は非負の整数 • 平均と分散が等しい – 平均が大きいほど,分散も大きい – パラメータは平均値であるλ λ=3.5 λ=10
  92. 92. ポアソン回帰分析 • データがポアソン分布に従うと仮定 – 説明変数がの上昇に従い,ポアソン分布のパラ メータλがどれほど上昇するかを予測する 打席数が200のときの分布と,打席数 が400のときの分布に違い 打席数が200増えると,ホームランは 異なるポアソン分布に従う 平均が増えるほど分散が大きくなる ことをモデル化することができる
  93. 93. ポアソン回帰分析 • ポアソン分布は非負 – 予測値が負になってしまうと,分布の範囲からは ずれてしまう – そこで,ポアソン分布のパラメータであるλを対数 変換した値を予測することで解決する – Log(λi) = b0 + b1 Xi1 + b2 Xi2 ・・・ + ei – これを対数リンク関数と呼ぶ
  94. 94. Rでポアソン回帰分析 • 同じくglm()を使う >fit.pois <- glm(HR~ATbase,dat,family=poisson) >summary(fit.pois) 係数が小さく見えるが,これは対数リンクを使っているため z値が25以上・・・すげぇ有意!(に見える)
  95. 95. ポアソン回帰
  96. 96. 予測区間を表示すると・・・ はずれまくり! 離散分布なので予測分布 がガタガタ
  97. 97. ポアソン回帰の解釈 • 1打席あたりHRが出る程度は,その人の打席 数に依存する • 打席数が多い人ほど,1打席あたりにHRを打 つ割合が高くなっていく • ただし,ポアソン分布には重要な欠点が・・ – パラメータがλひとつのため,過分散の問題
  98. 98. 負の二項分布
  99. 99. ポアソン分布の過分散問題 • 離散分布はパラメータが1つのものが多い – 二項分布・・・確率pのみ – ポアソン分布・・・平均λのみ • 分散は自動的に決まってしまう – 二項分布・・・分散=Np(1-p) – ポアソン分布・・・分散=λ – 真の分布がより分散が大きい場合,予測が大きく 外れてしまう・・・過分散問題
  100. 100. 過分散の対処法 • 同じタイプの分布で2パラメータのものを使う – 二項分布→ベータ二項分布 – ポアソン分布→負の二項分布 • 変量効果を用いて過分散を推定 – 明日お話しします
  101. 101. 負の二項分布についての詳細 • こちらのスライドをどうぞ – 負の二項分布 – http://www.slideshare.net/simizu706/ss-50994149
  102. 102. 負の二項分布 • ポアソン分布の過分散も推定 – HRをポアソンと負の二項分布で推定 ポアソン分布 負の二項分布 上手くいきそう! 全然ダメ!
  103. 103. Rで負の二項回帰分析 • HRを打席数で予測 – MASSパッケージのglm.nbを使う – library(MASS) – fit.nb <- glm.nb(HR~ATbase,dat) – summary(fit.nb) 過分散パラメータ z値が13.5・・・ ポアソンの半分 もちろん負の二項分布のほうが正しい
  104. 104. 負の二項回帰分析 きれいに収まった
  105. 105. ポアソンと負の二項分布 • AICを比較 – ポアソン分布:AIC=1461 – 負の二項分布:AIC=1033 – 負の二項分布のほうが圧倒的に小さい! • ポアソン分布の使いどころ – 社会科学のデータでポアソンが当てはまる例は少ない気 がする • 個人差がでかいので – 常に負の二項分布との比較を忘れないようにすること! • ポアソン分布で過分散が生じるとかなり危険なTypeⅠエラー!
  106. 106. GLMと心理統計学
  107. 107. GLMってあんまり使わない • 2値データにロジスティック回帰 – ・・・は比較的よく使うが・・・ – ポアソンや負の二項分布,ガンマ,対数正規分布 などはあまり使われない – なぜか
  108. 108. 有意性検定だけなら・・ • あまり結果は変わらない – 1パラメータの分布は別にして,ある分布で有意 だが別の分布では非有意になる,ということはあ まりない • もちろん,推定しているパラメータが違うので同じには ならない • 同じ有意なら別に正規分布でいいじゃん – という判断も多少はあるような気がする
  109. 109. 実験計画法との関係 • ANOVA:実験計画法との相性が良い – 効果の解釈が容易 – 効果量を簡単に計算できる – グラフを簡単に書ける • GLM:実験計画法と相性が悪い – 効果の解釈がしづらい – 効果量がまだうまく計算できない – グラフも書きづらい – 実験室の行動を予測しても意味がない
  110. 110. GLMは心理統計では不要? • もちろん,そうではないと思う – 理由0:正規分布以外のデータはごろごろある • 分析法を理由にとるデータに制限をかけるのは変 – 理由1:GLMの効果量もあるにはある • 今後,発展されていくべきところ – 理由2:効果量の区間推定をちゃんとする • モデリングを軽視すると,区間推定に大きなバイアス • 差の信頼区間から,効果量の信頼区間へ
  111. 111. 続きます • 心理学者のためのGLMM・階層ベイズ – http://www.slideshare.net/simizu706/glmm-58585283

×