Upload
yu-tamura
View
5.170
Download
0
Embed Size (px)
Citation preview
一般化線形混合効果モデル入門の入門2014. 12. 6. Nagoya.R #12
名古屋大学大学院国際開発研究科 D1 田村祐
内容に入る前に• この発表では,外国語教育研究のデータ分析を例として扱います
内容に入る前に• 近年のSLA研究は量的研究に偏りがち(Mizumoto, Urano, & Maeda, 2014)
• 特に分散分析(ANOVA)とt 検定が多い(草薙,水本&竹内, 2014)
• 平均値に基づくパラメトリック検定に頼りがち(Plonsky, 2011; Plonsky & Gass, 2011)
データセットとRのスクリプトを借りる論文
Cunnings, I. (2012). An overview of mixed-effects statistical models for second language researchers. Second Language Research, 28, 369-382.
仮想データ• 被験者
• 24人の非英語母語話者(大学生)※L1は共有 • 項目
• 英語における主語と動詞の一致(Subject-Verb Agreement) • 方法
• 容認度タスク(Acceptability Judgment Task) • 1(unacceptable)-10(acceptable)で評価 • 20ペアの文法文・非文法文(全40文) • ランダマイズした2種類のテストを作り20文(G10・UG10)に分ける
• RQ:文法文と非文法文で容認度に違いがあるか
以下のことを考える必要性• 実験の結果に影響を与える要因を考慮できているか • 被験者のばらつき • 項目のばらつき • 刺激の文法性 • 熟達度 • 文長(語数)
これらを考慮した分析を可能にするのが…
線形混合モデル (混合効果モデル)
線形混合モデル?混合効果モデル?
線形モデルの発展(久保,2012)
一般化線形混合モデル
一般化線形モデル
線形モデル
階層ベイズモデル
最小二乗法
最尤推定法
MCMCによる事後分布の推定
推定の計算方法
正規分布以外の 確率分布を扱いた
い
個体差・場所差といったランダム効果をあつかいたい
もっと自由で現実的な統計モデリングを!
線形モデルの発展(久保,2012)
一般化線形混合モデル
一般化線形モデル
線形モデル
階層ベイズモデル
最小二乗法
最尤推定法
MCMCによる事後分布の推定
推定の計算方法
正規分布以外の 確率分布を扱いた
い
個体差・場所差といったランダム効果をあつかいたい
もっと自由で現実的な統計モデリングを!
線形混合モデル (Linear-Mixed Effect Model)
LMEと呼ばれることも多い
なぜ混合効果モデルなのか?• L2の指導法効果研究を考えてみる
指導効果→混合効果モデルでは固定効果(fixed effect)
参加者→ランダム効果(参加者はL2学習者の中からランダムにサンプリングされる)
• もし追試を行うとした場合,指導法は固定で,参加者はまた新しくランダムにサンプリングされる
なぜ混合効果モデルなのか?• 固定効果として独立変数を複数設定可能
• カテゴリカルデータ(e.g., NS vs NNS, 高熟達度 vs 低熟達度)
• 連続データ(e.g., 年齢,熟達度としてのテストスコア)
• あるいは両方とも
• 従属変数
• 連続データ(e.g., 年齢,テストスコア,反応時間)
• カテゴリカルデータ(文法性判断, 容認性判断 etc.)
なぜ混合効果モデルなのか?• 現行の手法(線形モデル)で前述のデータを扱えないわけではないが,フレームワークが違う
• 線形モデルでは当てはまりの悪いデータ(e.g., 学習者の縦断的発達データ)を扱うことも可能
• さらに,変量効果として様々な変数をモデルに組み込める
さきほどの指導法効果研究の例をもう一度考えてみる
なぜ混合効果モデルなのか?• 参加者の学生
• 同じ学校内でもクラスが違う
• そもそも違う学校
学校A 学校B
クラスA
クラスBクラスC
クラスA
クラスBクラスC
なぜ混合効果モデルなのか?• 参加者の学生
• クラス内(学校内)で一定の傾向
• クラス間(学校間)ではその傾向がなくなる可能性
学校A
クラスA クラスBクラスCクラスA
クラスB
クラスC
学校B
なぜ混合効果モデルなのか?• 参加者の学生
• 同じ集団からサンプリングされた学生が違うクラスにいる
母集団A 母集団B
クラスA
クラスB
クラスC
クラスD
クラスEクラスG
生徒2
生徒1
生徒3生徒4
生徒5
生徒6 生徒a
生徒b
生徒c
生徒d生徒e
なぜ混合効果モデルなのか?• 混合効果モデルはどちらの構造の変量効果も扱うことができる。
さらに
なぜ混合効果モデルなのか?• テスト項目(刺激)のバラ付きにも適応できる。
• 刺激文は無限に生成可能(原理的には)
• ただし実験で用いられるのはそのうちの一部
• 言語も実は変量効果
• “language-as-fixed-effect fallacy”(Clark, 1973)
なぜ混合効果モデルなのか?• “language-as-fixed-effect fallacy”(Clark, 1973)
→項目分析をやる理由はこれ
※ただし,被験者分析と項目分析は1つのモデルに最終的には統合されるべき
• 多くの研究者は,両方の分析で有意差でたらよしとしてしまっている
なぜ混合効果モデルなのか?• 別の問題点
• 有意差が片方にしか出なかった場合は結果をどのように解釈するか?
• 論文などで正規性が満たされているかなどが報告されることはまれ(Plonsky, 2011; Plosnky & Gass, 2011)
なぜ混合効果モデルなのか?• 混合効果モデルなら…
• 被験者・項目を同時に変量効果として扱う分析が可能
• 正規分布以外の確率分布を用いることも可能
• 上限のないカウントデータ→ポアソン分布
• 上限のあるカウントデータ→二項分布
なぜ混合効果モデルなのか?• 混合効果モデルなら…
• 球面性や等分散性の逸脱に対しても頑健
• 欠損値のあるデータにも対応できる(欠損値もランダム効果とみなす)
実際にLMEをやってみる
パッケージをDL1. Rを起動して以下のコマンドを打ち込む
>install.packages(“lme4”)
2. ミラーサイトを選択(Japanのどこか)
今回使う関数• lmer()という関数を使う
• これを使って分析をする
USBにあるファイルを使います
やり方• USBにあるdataファイルをRのコンソールにD&D
>ratings
と打って中身を確認
こんな感じになってるはず
やり方基本的な入力法は以下のとおり(x=従属変数, y=独立変数(固定効果), z=変量効果, dataに使うデータセットをいれる)
>lmer(x ~ y + z, data=ratings)
>model1 <- lmer(zrating ~ condition + (1|subject) + (1|item),data=ratings)
()内にcrossed random effectsをいれる
conditionでzratingに違いがあるかをみたい切片 設定する変数
やり方• summary関数で結果をみる >summary(model1)
やり方• モデルフィッティングの係数がlmer()関数では
REML(restricted maximum likelihood)法(制限付き最尤推定法)の値しか出てこないので,他の係数を確認したい場合はAIC()関数等を使う
• AIC(Akaike’s information criterion) 関数で予測の良さをみる
やり方• AIC(Akaike’s information criterion)
• 予測の良さを表す平均対数尤度にもとづく
• 小さい方が良い
やり方• 基本的には,このようにしてモデルを組み,考えられる複数のモデルを比較して,anova()関数を使ってどのモデルが一番適合度が高いかを比較していく
• モデルを複雑にすればするほど説明力があがるわけではないということに注意
やり方>model1 <- lmer(zrating ~ condition + (1|subject) + (1|item),data=ratings)
• 上記のモデルによって,参加者と項目をランダム切片として組み込むことができた
→参加者個人の傾向を考慮できる
0.0
0.2
0.4
0.6
0.8
1.0
0.0 0.2 0.4 0.6 0.8 1.0
ランダム切片
傾きは同じで切片が違う
0.0
0.2
0.4
0.6
0.8
1.0
0.0 0.2 0.4 0.6 0.8 1.0
ランダム傾き
切片は同じで傾きが違う
やり方• しかし参加者や項目によって反応が異なるかもしれない?
• 正文と非文に対する対応の差やばらつきの程度があると想定できる
→ランダム傾きも考慮する必要性
>model2 <- lmer(zrating ~ condition + (1+condition|subject) + (1|item),data=ratings)
被験者の変動を切片とconditionの傾きにいれる
0.0
0.2
0.4
0.6
0.8
1.0
0.0 0.2 0.4 0.6 0.8 1.0
ランダム傾き&ランダム切片
切片も傾きも違う
やり方• この実験ではひとつの文が正文と非文のそれぞれで使われている
• 文法性(condition)は繰り返して測定されている
• 項目のランダム傾きもモデルに組み込む
>model3 <- lmer(zrating ~ condition + (1+condition|subject) + (1+condition|item),data=ratings)
やり方• 3つのモデルを比較するために,anova()関数を使って比較。適合度が有意に高いモデルを選ぶ
>anova(model1, model2, model3)
model3の適合度が高い
しかし
実はまだこれで終わりではない
学習者の熟達度は?
被験者要因の項目への影響• 一般的な統計的仮説検定では,これらの要因を共変量に設定して,共分散分析(ANCOVA)を用いることがある
• しかし,これでは項目への影響の異なり具合が考慮されていない(年齢や熟達度の影響がある項目とない項目がある可能性)
文の長さは?
項目要因の被験者への影響• 項目の平均得点に対して,文の長さを共変量にして共分散分析をすることがある
• この場合は被験者要因が考慮されていない(文長の影響を受ける被験者と受けない被験者がいる可能性)
つづき• これらの問題を解決するには,年齢や文長のような連続変数を0/1のカテゴリカルデータにして組み込むことになる(年齢:低・高,文長:短・長)
→LMEならこれらのデータも(連続であれカテゴリカルであれ)モデルに組み込むことが可能
つづき• 連続データをモデルに組み込むときは,中心化しておくとよい
→共線性(2つ以上の変数がお互い強く連動するときに発生する)の問題を回避できる ratings$clength <- ratings$length - mean(ratings$length) ratings$cprof <- ratings$proficiency - mean(ratings$proficiency)
つづき• まず,文長によって容認度が変わるかを考慮
• model4に,文長の固定効果をいれる
>model4 <- lmer(zrating ~ condition + clength + (1+condition|subject) + (1+condition|item),data=ratings)
つづき• 熟達度によって容認度が変わるかを考慮
• model5に,熟達度の固定効果をいれる
>model5 <- lmer(zrating ~ condition + clength + cprof + (1+condition|subject) + (1+condition|item),data=ratings)
←固定効果にいれた要因同士の相関はない
つづき• 文長の固定効果は文法性(condition)と交互作用があるかも?
• 例:正文だと文長の影響があって,非文だと文長の影響がない
>model6 <- lmer(zrating ~ condition + clength + cprof + condition:clength + (1+condition|subject) + (1+condition|item),data=ratings)
コロンは交互作用
つづき• 熟達度の固定効果は文法性(condition)と交互作用があるかも?
• 例:正文だと熟達度の影響があって,非文だと熟達度の影響がない
>model7 <- lmer(zrating ~ condition + clength + condition:clength + condition:cprof + (1+condition|subject) + (1+condition|item),data=ratings)
コロンは交互作用
つづき• もしかすると,文長と熟達度も交互作用あるかも?
• 例:熟達度が高いと文長の影響がなくて,熟達度が低いと文長の影響がある
>model8 <- lmer(zrating ~ condition + clength + condition:clength + condition:cprof + clength:cprof + (1+condition|subject) + (1+condition|item),data=ratings)
コロンは交互作用
つづき• 考えられる3つの要因のすべての固定効果と交互作用をいれるときにはアスタリスク(*)を使う
>model9 <- lmer(zrating ~ condition * clength * cprof + (1+condition|subject) + (1+condition|item),data=ratings)
アスタリスクは考えられるすべての要因の固定効果と交互作用
※condition*clengthは,condition + clength +condition:clengthと同じ
つづき• これまで作ってきたmodel3からmodel9までで,どれが一番モデルのフィッティングを向上させたかをanova()関数で検証
>anova (model3, model4, model5, model6, model7, model8, model9)
まだまだ終わりじゃない
つづき• 文長を被験者のランダム傾きにいれる
• ある学習者だけが文長の影響を受けていて他の学習者は受けていないという個人差を考慮
• 項目のランダム傾きにはいれない
• 同じ文の文長は項目ごとで異なるが,項目内では同一
つづき• 文長を被験者のランダム傾きにいれる
• ある学習者だけが文長の影響を受けていて他の学習者は受けていないという個人差を考慮
• 項目のランダム傾きにはいれない
• 同じ文の文長は項目ごとで異なるが,項目内では同一
>model10 <- lmer(zrating ~ condition + clength + (1+condition + clength|subject) + (1 + condition|item), data=ratings)
つづき• model4とmodel10をanova()関数で比較
>anova(model4, model10)
model4が最強!
まだ終わりじゃない
つづき• ようやく最適なモデルが決定できた
• lme4パッケージのlmer()関数では統計量は計算するが,p値を算出してくれない
• lmerTestパッケージの使用(おすすめ)
• t値からp値を計算(参考までに)
パッケージをDL1. Rを起動して以下のコマンドを打ち込む
>install.packages(“lmerTest”)
2. ミラーサイトを選択(Japanのどこか)
3. lme4パッケージと同様にlmer()関数を使うと,Welch-Satterthwaiteの式を用いて近似自由度とp値を計算してくれる
つづき• ようやく最適なモデルが決定できた
• 結果の解釈
• 非文は正文よりも有意に容認度が高い
• 長い文は短い文よりも容認度が低い
実は
実は• lmerTestパッケージのstep()関数を使えばもっと楽!
• step()関数はモデルフィッティングを向上させない要因を排除してくれる関数
• つまり,一番複雑なモデルを組んでstep(model)のようにすれば,最適なモデルを出してくれる
つづき• ようやく最適なモデルが決定できた
• lme4パッケージのlmer()関数では統計量は計算するが,p値を算出してくれない
• lmerTestパッケージの使用(おすすめ)
• t値からp値を計算(参考までに)
t値からp値を計算• t分布の分布関数であるpt()関数を使う
• 2 * (1 - pt(abs(t値), データ数 - 固定効果の数))
• 文法性の影響
> 2 * (1 - pt(abs(-4.980), 480 - 3))
• 文長の影響
> 2 * (1 - pt(abs(-2.151), 480 - 3))
t値からp値を計算• t分布の分布関数であるpt()関数を使う
• 2 * (1 - pt(abs(t値), データ数 - 固定効果の数))
• ただしこの方法だと,データ数が少ないと有意差がでやすくなるので注意(Type Ⅰ errorの危険性)
最後に• 今回の方法はあくまで一例
• さらに「入門の入門」
• 本当はもっと奥が深いです
• 最尤法による推定は限界がある
• ベイズ推定(MCMC)が必要になってくる
もっと詳しく知りたい人は
謝辞Cunnings(2012)のサンプルデータを探せど探せど見つからずに途方にくれていたところ,関西大学の水本篤先生が「私も見つからずに著者に問い合わせて送ってもらいました」と声をかけてくださり,なんとかデータを使うことができました。この場を借りてお礼を申し上げます。
参考文献Baayen, R. H. (2008). Analyzing linguistic data. A practical introduction to statistics using R.
Baayen H,, Davidson D,, & Bates, D. (2008). Mixed-effects modeling with crossed random effects for subjects and items. Journal of Memory and Language, 59, 390–412.
Clark, H. (1973). The language-as-fixed-effect fallacy: A critique of language statistics in psychology research. Journal of Verbal Learning and Verbal Behavior 12: 335–59.
Cunnings, I. (2012). An overview of mixed-effects statistical models for second language researchers. Second Language Research, 28, 369-382.
Jaeger, F. (2008). Categorical data analysis: Away from ANOVAs (transformation or not) and towards logit mixed models. Journal of Memory and Language 59: 434–46.
草薙邦広・水本篤・竹内理.(2014) 「日本の外国語教育研究における効果量・検定力・標本サイズ: Language Education & Technology掲載論文を対象にした事例分析」第54回外国語教育メディア学会全国研究大会, 福岡大学
久保拓弥 (2012) データ解析のための統計モデリング入門: 一般化線形モデル・階層ベイズモデル・MCMC. 岩波書店.
Mizumoto, A., Urano, K., & Maeda, H. (2014). A systematic review of published articles in ARELE 1-24: Focusing on their themes, methods, and outcomes. Annual Review of English Language Education, 25, 33-48.
Plonsky, L. (2011) Study quality in SLA: A cumulative and developmental assessment of designs, analyses, reporting practices, and outcomes in quantitative L2 research. Unpublished doctoral thesis, Michigan State University, MI, USA.
Plonsky, L., $ Gass, S. (2011). Quantitative research methods, study quality, and outcomes: The case of interaction research. Language Learning, 61, 325–66.
Quene, H., & van den Bergh, H. (2008). Examples of mixed-effects modelling with crossed random effects and with binomial data. Journal of Memory and Language, 59, 413–25.
清水裕士 (2014) 個人と集団のマルチレベル分析. ナカニシヤ出版.
一般化線形混合モデル入門の入門
contact info
田村 祐名古屋大学大学院国際開発研究科
http://tamurayu.wordpress.com/
• lmer(従属変数 ~ 固定効果 + (変量効果), data = dat)
• lmerTestパッケージのstep()関数が便利!
• 基本はモデルを組んでanova()
• AICでモデルを評価