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.

反応時間データの記述的報告と可視化

931 views

Published on

Hiroshima.R #5で話しました。

Published in: Education
  • Be the first to comment

反応時間データの記述的報告と可視化

  1. 1. 反応時間データの反応時間データの 記述的報告と可視化記述的報告と可視化
  2. 2. …というよりはむしろ…というよりはむしろ Rを使った単変量のモデル化Rを使った単変量のモデル化
  3. 3. コンテンツコンテンツ • 外国語教育研究における反応時間データ • 五数要約・箱ひげ図• 五数要約・箱ひげ図 • モーメントによる把握 ヒストグラムとカーネル密度推定 モーメントによる把握 • ヒストグラムとカーネル密度推定 • 変換• 変換 • 各種分布へのフィッティング 正規分布,Ex-Gaussian分布,ワイブル分布,ガ 各種分布へのフィッティング – 正規分布,Ex-Gaussian分布,ワイブル分布,ガ ンマ分布,ワルド分布,混合分布ンマ分布,ワルド分布,混合分布 • これからの報告と可視化
  4. 4. kusanagi@nagoya-u.jpkusanagi@nagoya-u.jp @HiRoshima.R #5@HiRoshima.R #5
  5. 5. 外国語教育研究におけるRT外国語教育研究におけるRT 外国語教育研究のざっくりな歴史• 外国語教育研究のざっくりな歴史 – 国内の外国語教育研究は1970年代頃(さまざま な政治的背景によって)学問化 – 国内の外国語教育研究は1970年代頃(さまざま な政治的背景によって)学問化 – 1980年代からはゆるーく自然科学,基礎科学志 向になっていく – 1980年代からはゆるーく自然科学,基礎科学志 向になっていく – 1990年代頃からは欧米の応用言語学,第二言語 習得(認知科学志向,言語学由来)を輸入,どん – 1990年代頃からは欧米の応用言語学,第二言語 習得(認知科学志向,言語学由来)を輸入,どん どん学際化という体裁の「うん,まあ…」へ – 2000年代頃→もうなにがなんだかわからへんね– 2000年代頃→もうなにがなんだかわからへんね ん – 最近,統計改革やEBMなどが台頭してきて,科– 最近,統計改革やEBMなどが台頭してきて,科 学性やエビデンスの質に注目
  6. 6. 外国語教育研究におけるRT外国語教育研究におけるRT • RT – 1990年代ごろから,欧米(主要国際誌)が認– 1990年代ごろから,欧米(主要国際誌)が認 知⼼理学の⼿法を導入しはじめる知⼼理学の⼿法を導入しはじめる – 2000年代ごろから,⽇本でも⼤衆化 – 現在は「測定のオンライン化」– 現在は「測定のオンライン化」 • 各種判断課題,読解課題,視線計測などが主要な 方法のひとつへ方法のひとつへ – ただし外国語教育研究における認知メカニズ– ただし外国語教育研究における認知メカニズ ムの取り扱いはナイーブ
  7. 7. 外国語教育研究におけるRT外国語教育研究におけるRT • 問題点 – しっかりとした⼿法論上の基盤がない– しっかりとした⼿法論上の基盤がない • データの非正規性(non-normality)に無頓着な 場合がほとんど場合がほとんど • これまでは人平均値や項目平均値をまとめてパラ メトリックな検定をおこなってきたメトリックな検定をおこなってきた • 最近は混合効果モデル,一般化線形モデル,一般 化線形混合効果モデルなどが普及し始めている化線形混合効果モデルなどが普及し始めている • 解析はマシになってきた→ただし,記述的報告や 可視化は?可視化は? • 反応時間データは再現性が低すぎる
  8. 8. 外国語教育研究におけるRT外国語教育研究におけるRT • 記述的報告や可視化の重要性 –データを再現できるか–データを再現できるか • 例えば,遜⾊ない乱数セットがそこから作• 例えば,遜⾊ない乱数セットがそこから作 れるか –現実をどれだけ視覚的に把握できるか–現実をどれだけ視覚的に把握できるか
  9. 9. 強く歪んでいるのに 350 強く歪んでいるのに 平均と標準偏差の報告 だけでいいの? Frequency 250 だけでいいの? Frequency 150050 0 20000 40000 60000 80000 RT (ms)
  10. 10. 100 平均と標準偏差 Frequency 6080 平均と標準偏差 だけから再現 できるもの Frequency 4060 できるもの 350 020 250350 RT (ms) -10000 0 10000 20000 Frequency 150250 Frequency 50150 0 20000 40000 60000 80000 0 RT (ms) 0 20000 40000 60000 80000
  11. 11. 五数要約・箱ひげ図五数要約・箱ひげ図 • 五数要約はマシなアプローチ – summary(dat) #要約統計量– summary(dat) #要約統計量 – quantile(dat,c(0,.25,.5,.75,1)) #分位点 箱ひげ図– boxplot(dat) #箱ひげ図 0 20000 40000 60000 80000
  12. 12. 五数要約・箱ひげ図五数要約・箱ひげ図 • 別に5じゃなくてよくね – 経験累積分布関数(ECDF)– 経験累積分布関数(ECDF) • ecdf(dat) #ECDFの作成 プロット• plot(ecdf(dat)) #プロット
  13. 13. 五数要約・箱ひげ図五数要約・箱ひげ図 • ⾒るだけだったら… – 分位点を繋いでいっちゃえばいいじゃん– 分位点を繋いでいっちゃえばいいじゃん • X<-seq(0,1,.01) 分位点の計算• q<-quantile(dat,x) #分位点の計算 • plot(q,x,type=“l”) #プロット 0.80.40.8 x 0.0 0 20000 40000 60000 80000 quantile(r, x)
  14. 14. 五数要約・箱ひげ図五数要約・箱ひげ図 • 手元のデータの把握としてはいい かもだけど,ここからデータは再 手元のデータの把握としてはいい かもだけど,ここからデータは再 現できない現できない
  15. 15. モーメントによる把握モーメントによる把握 E{(x-a)^k}• E{(x-a)^k} – a周りのk乗の期待値をモーメントとよぶ– a周りのk乗の期待値をモーメントとよぶ – 原点(0)周りのモーメントは平均 – 平均周りの2乗のモーメントが分散– 平均周りの2乗のモーメントが分散 – 標準化した原点周りの3乗のモーメントが歪度 – 標準化した原点周りの4乗のモーメントが尖度– 標準化した原点周りの4乗のモーメントが尖度 – psychパッケージ • skew, kurtosi(0基準) パッケージ • skew, kurtosi(0基準) – momentsパッケージ • skewnwss, kurtosis(3基準) • 統計量 ( 基準) • jarque.test[1] #JB統計量
  16. 16. モーメントによる把握モーメントによる把握 • 一応は乱数の生成もできる フライシュマン変換 一応は乱数の生成もできる –フライシュマン変換(Fleishman’s power transformation)transformation) – 正規分布に従う乱数セットを,任意の尖度と 歪度をもつように変換できる 正規分布に従う乱数セットを,任意の尖度と 歪度をもつように変換できる – PoisNonNorパッケージ– PoisNonNorパッケージ http://kusanagi.hatenablog.jp/entry/2015/05/26/182026
  17. 17. モーメントによる把握モーメントによる把握 • 手元のデータの把握としてはいい かもだけどry 手元のデータの把握としてはいい かもだけどry
  18. 18. カーネル密度推定カーネル密度推定 • もちろんどんなときもヒストグラ ムなのだ もちろんどんなときもヒストグラ ムなのだ –hist(dat)–hist(dat) • ただし階級数も問題だ• ただし階級数も問題だ • スタージェス? Histogram of dat • スタージェス? • 平方根選択? Frequency 400600 • 平方根選択? Frequency 200400 0 20000 40000 60000 80000 0
  19. 19. カーネル密度推定カーネル密度推定 • カーネル密度推定を使うのもいい 好み カーネル密度推定を使うのもいい –library(ks) #好み –kf<-kde(dat) #関数–kf<-kde(dat) #関数 –plot(kf)–plot(kf) 8e-05 Densityfunction 4e-058e-05 Densityfunction 0e+00 Densityfunction 0 20000 40000 60000 80000 x
  20. 20. カーネル密度推定カーネル密度推定 • 累積分布関数も で累積分布関数へ 累積分布関数も –pkdeで累積分布関数へ 1.0 pkde(fhat=kf,q=seq(min(dat),max(dat),1)) 0.60.81.0 pkde(fhat=kf,q=seq(min(dat),max(dat),1)) 0.40.6 pkde(fhat=kf,q=seq(min(dat),max(dat),1)) 0.00.2 pkde(fhat=kf,q=seq(min(dat),max(dat),1)) 0 20000 40000 60000 80000 seq(min(dat), max(dat), 1) pkde(fhat=kf,q=seq(min(dat),max(dat),1))
  21. 21. カーネル密度推定カーネル密度推定 • 乱数も作れる乱数も作れる – rkf<-rkde(fhat=kf,1500) – Hist(rkf)– Hist(rkf) Kernel ObservationKernel250 Observation 300 Frequency 150250 Frequency 100200 Frequency 050 Frequency 0100 RT (ms) 0 20000 60000 RT (ms) 0 20000 60000
  22. 22. カーネル密度推定カーネル密度推定 • でもこの関数自体を論⽂で共有し たりはできないし,情報量ありす でもこの関数自体を論⽂で共有し たりはできないし,情報量ありす ぎぎ –それにバンド幅も問題だ–それにバンド幅も問題だ 100 1000 5000 10000 4e-06 100000 0.000060.00012 Density 4e-058e-05 Density 4e-056e-05 Density 1.5e-053.0e-05 Density 2e-064e-06 Density 0 40000 80000 0.000000.00006 Density 0 40000 80000 0e+004e-05 Density 0e+00 6e+04 0e+002e-05 Density -20000 600000.0e+001.5e-05 Density -3e+05 1e+05 0e+002e-06 Density 0 40000 80000 N = 1536 Bandw idth = 100 0 40000 80000 N = 1536 Bandw idth = 1000 0e+00 6e+04 N = 1536 Bandw idth = 5000 -20000 60000 N = 1536 Bandw idth = 1e+04 -3e+05 1e+05 N = 1536 Bandw idth = 1e+05
  23. 23. 変換変換 • めんどいから変換し ちゃえ? Histogram of log(dat) 500 ちゃえ? – 対数変換で正規分布 になる場合がおおい 400500 になる場合がおおい – 私自身は実測値のス ケールや分布の形状 Frequency 300 ケールや分布の形状 に意味がないなら積 極的にやってもいい Frequency 100200 極的にやってもいい んじゃない派 – ただそれでは⽴ち⾏ 0100 – ただそれでは⽴ち⾏ かない場合もある log(dat) 6 7 8 9 10 11 12
  24. 24. 各種分布へのフィッティング各種分布へのフィッティング 世の中にはたくさん分布があるんだ• 世の中にはたくさん分布があるんだ からなにかにはてはめてしまえからなにかにはてはめてしまえ –正規分布–正規分布 –Ex-Gaussian –ガンマ Ex-Gaussian –ガンマ –ワイブル–ワイブル –ワルド(今回パスですすみません)–ワルド(今回パスですすみません) –混合分布
  25. 25. 各種分布へのフィッティング各種分布へのフィッティング • 正規分布 総じてだめぽ 正規分布 – 総じてだめぽ
  26. 26. 各種分布へのフィッティング各種分布へのフィッティング • Ex-Gaussian分布 正規分布と指数分布の合成 Ex-Gaussian分布 – 正規分布と指数分布の合成 – 反応時間データの常套手段– 反応時間データの常套手段 – パラメータは3つ μ,σ,τ パラメータは3つ • μ,σ,τ – retimesパッケージがある– retimesパッケージがある
  27. 27. 各種分布へのフィッティング各種分布へのフィッティング • timefit(dat) #最尤推定 • AIC(timefit(dat)) #赤池• AIC(timefit(dat)) #赤池 • x<seq(min(dat),max(dat),1)• x<seq(min(dat),max(dat),1) • d<-dexgauss(x,mu,sigma,tau)#確率密度 • plot(x,d,type=“l”)#plot• plot(x,d,type=“l”)#plot • rexgauss(n,mu,sigma,tau)• rexgauss(n,mu,sigma,tau)
  28. 28. 0.000120.000120.00006 p 0.000060.00000 0 20000 40000 60000 80000 0.00000 RT (ms)RT (ms)
  29. 29. 各種分布へのフィッティング各種分布へのフィッティング • いい感じ たった3つの⺟数を報告するだけで いい感じ –たった3つの⺟数を報告するだけで いいいい –数学的にも簡単だ–数学的にも簡単だ –フィットや誤差も報告できるし–フィットや誤差も報告できるし
  30. 30. 各種分布へのフィッティング各種分布へのフィッティング ガンマ• ガンマ –壊れるまでの時間など–壊れるまでの時間など –2つの⺟数–2つの⺟数 –形状κ,スケールθ–形状κ,スケールθ • ワイブル• ワイブル –2つの⺟数 –形状κ,スケールθ 2つの⺟数 –形状κ,スケールθ
  31. 31. 各種分布へのフィッティング各種分布へのフィッティング • Library(MASS) • est<-fitdistr(dat,densfun=“Weibull”)• est<-fitdistr(dat,densfun=“Weibull”) #最尤推定 赤池• AIC(est) #赤池 • d<-dweibull(x,shape,scale)#確率密度• d<-dweibull(x,shape,scale)#確率密度 • plot(x,d,type=“l”)#plot • rweibull(n,shape,scale)
  32. 32. 0.000150.000100.000150.00010 p 0.00005 p 0.000000.00005 0 20000 40000 60000 80000 0.00000 RT (ms)
  33. 33. これからの報告と可視化これからの報告と可視化 • 要約統計量や⾼次モーメントまで報告す るのも重要るのも重要 • いくつかの分布にデータを(いくつかの• いくつかの分布にデータを(いくつかの ⽅法で)フィットさせ,その⺟数と誤差, フィットの良さを報告しようフィットの良さを報告しよう • フィットのよいモデルの⺟数とその誤差• フィットのよいモデルの⺟数とその誤差 を報告しよう
  34. 34. これからの報告と可視化これからの報告と可視化 AIC BIC 対数尤度AIC BIC 対数尤度 正規分布 31218 31292 -15638 Ex-Gaussian 30134 30150 -15064Ex-Gaussian 30134 30150 -15064 ワイブル分布 30460 30471 -15228 点推定値 95%上限 95%下限点推定値 95%上限 95%下限 μ 3026 2796 3269 σ 1160 969 1350σ 1160 969 1350 τ 5576 5172 6004
  35. 35. 6000080000 6000080000 4000060000 Observation 4000060000 Observation 2000040000 Observation 2000040000 Observation 0 20000 40000 60000 80000 0 0 20000 40000 60000 80000 0 QQプロット描いたり Theoretical 0 20000 40000 60000 80000 Theoretical Change in Mu Change in Sigma Change in Tau 0.81.0 0.81.0 0.81.0 0.40.6 p 0.40.6 p 0.40.6 p 0.20.4 0.20.4 0.20.40 10000 20000 30000 40000 RT (ms) 0 10000 20000 30000 40000 RT (ms) 0 10000 20000 30000 40000 RT (ms)

×