SlideShare a Scribd company logo
1 of 24
RとStanで
一元配置分散分析
ベイズ推定を用いて3群の平均値差を比較
千葉県 東上総児童相談所
児童心理司 佐名 隆徳
自己紹介
• 関西大学卒業(単位ギリギリ)→県の心理職(公僕)
• 大学院には正直行きたかったけど お金がないので断念した
• 延長因子分析とSEMの小包化について 興味があるが資料がない
• 好きな女性有名人:多部未華子 と 黒田エイミ
分散分析とは
• 質的な独立変数(x)の値によって、従属変数(y)の平均がどのように異
なるかを分析するための方法
• 質的な独立変数の値は、その要因の水準とよばれる(ビールの種類、温
度、など)
• 対応のない要因:要因の各水準に異なる被験者が割り当てられる
⇒異なる水準に含まれる従属変数の値は互いに独立
• 対応のある要因:異なる水準に含まれる従属変数の値に相関を想定
分散分析なのに平均値差なの?
• 分散を用いて、多群の平均値を分析するから分散分析
• 分散分析は、F値(=要因変動/誤差変動)を求めることで、その要因の
効果があるかどうか(有意かどうか)を判断する
• F値は大きい(要因変動の割合の方が大きい)ほど、p値が小さくなる
⇒「要因の効果が○%水準で有意」といえる値になっていく
分散分析表(2要因)例
なぜRとStan?
• MCMCソフトウェアであるStan(無料)を、統計ソフトであるR(無料)上で用いて分析する
• MCMCは、ベイズ推定において事後分布等のサンプリングを行うアルゴリズムの総称
• ベイズ推定の主目的:①母数の事前情報を推定に用いる、②サンプルサイズが少な
い場合にもそれに直接影響されない母数推定を行う
• ベイズ推定では、母数についての情報を事前分布として設定し、それを尤度関数と
合わせて各母数に関する事後分布に基づいて推定値を得る
余談
• 実は分散分析って、大学2年かそこらの実験実習(まじめに受けてなかっ
た)でやったくらいで、正直よく分かってない
• しかも実験系の統計は苦手
• でも最近よく分散分析をベイズでという質問を受けるので、仕事のストレ
スでアパシー状態になりながらも今回作成してみた
注意点?
• そもそも分散分析をベイズでやるのってどうなの?
ベイズの利点として、自由なモデリングが可能なため分析における制約
が少ないことが挙げられる。
だけど分散分析は強い仮定の下で分析を行うため、ぼんやりとベイズ
のメリットの1つを殺している気がしなくもない。
まあでも正直勉強不足過ぎてよくわかんない。
分析方法
• 対応あり・一元配置分散分析をベイズ推定で実施
• 対応のある場合は設定する事前分布に多変量正規分布を用いるため、
Stanコードがちょっと分かりづらい(文系の限界)
• 堅く言うと、各水準の差の事後分布を確認することが目的になる
• Stanコードで各水準の差について計算する指示を行うため、多重比較的
な方法を最初から分析に組み込める
使用データ(仮想データ)
• N=10(スーパードライ、ギネス、よな
よな)
• 変数は「各ビールを飲んでみてうま
いと思った得点」(高いほどうまい)
• 目的:各ビールのうまい得点の平
均値に差があるかどうかを分析する
(ちなみに僕は、よなよなエールうま
いと思っています)
id sup gi yonayona
1 3 6 1
2 3 9 1
3 3 8 2
4 4 5 1
5 8 9 1
6 7 3 2
7 8 5 3
8 7 6 4
9 7 8 3
10 9 9 5
使用パッケージ
library(ggplot2)
library(StanHeaders)
library(rstan)
library(lordif)
library(psych)
(下2つは不要かも・・・)
データの取り込みや命名、他
dat3<-read.csv("beer3.csv")
x1<-dat3$sup #x1はスーパードライ
x2<-dat3$gi #x2はギネス
x3<-dat3$yonayona #x3はよなよなエール
x <- structure(
.Data = c(x1, x2, x3), .Dim = c(10,3))
#ベクトル型に渡すために、structuer()関数を用いてデータを整形+.Dim因数でデータの構造
を指定(10×3)+list()でデータリスト型に変換
(xの中身はこんな感じ)
> x
[,1] [,2] [,3]
[1,] 3 6 1
[2,] 3 9 1
[3,] 3 8 2
(略)
[9,] 7 8 3
[10,] 9 9 5
データリスト作成など
n <- nrow(x) #nはxの行数、という命令
> n
[1] 10
data <-list(N = n, X = x)
#Stanで分析に使用するため、list()関数を用いてNとXのデータリストに格納
(dataの中身はこんな感じ)
> data
$N
[1] 10
$X
[,1] [,2] [,3]
[1,] 3 6 1
[2,] 3 9 1
(略)
[9,] 7 8 3
[10,] 9 9 5
Stan関連コード dataブロック
stancode <- "
data{
int<lower=0> N;#「N」っていう整数があるぞ。Nは最低値が0だぞ。
vector[3] X[N];#要素が3つのベクトル「X」があるぞ。Xは0~Nだぞ。
}
parametersブロック
parameters{
vector[3] mu;#muは3つのベクトルがあるぞ。
real<lower=0> sig[3];#sigは3つのベクトルがある、0以上の実数だぞ
real<lower=-1,upper=1> rho;#群内の要因が加わる混合計画では相関を
加える
}
transformed parametersブロック
transformed parameters{
matrix[3,3] Sigma;#Sigmaは[3,3]行列です。あとで定義。
Sigma[1,1] = sig[1]*sig[1];
Sigma[2,2] = sig[2]*sig[2];
Sigma[3,3] = sig[3]*sig[3];
Sigma[1,2] = sig[1]*sig[2]*rho;#共分散行列の非対角成分に相関を掛ける
Sigma[1,3] = sig[1]*sig[3]*rho;
Sigma[2,3] = sig[2]*sig[3]*rho;
Sigma[2,1] = Sigma[1,2];
Sigma[3,1] = Sigma[1,3];
Sigma[3,2] = Sigma[2,3];
}
modelブロック
model{
X ~ multi_normal(mu, Sigma);#Xは多変量正規分布に従う
rho ~ uniform(-1,1);
sig ~ cauchy(0,2.5);# sigは平均0,SD2.5のコーシー分布に従う。
}
#多変量正規分布のパラメータは、K:正の整数、μ:長さKのベクトル、σ:K*Kの分散共分
散行列になる
# 事前分布の影響がありそうな小さなサンプルに対しては,分散の事前分布として半コー
シー分布を選ぶと良いらしい(※半コーシー分布については他参照)
generated quantitiesブロック
generated quantities{
real delta21;#deltaという新たなパラメータを定義
real delta13;
real delta23;
delta21 = mu[2] - mu[1];#deltaで平均値差を算出する、と定義
delta13 = mu[1] - mu[3];
delta23 = mu[2] - mu[3];
}
MCMCを実行
fit <- stan(model_code = stancode, iter = 10000, chains = 1, data = data)
#<-stan():()内で指定したMCMCを実行するというコマンド
#iter:サンプリング数。各chainsでサンプリングを何度行うか
#chains:マルコフ連鎖数。ホントは4~5が望ましい
#data:この場合はスライド14で作成したデータリスト”data”を利用する
print(fit, digits_summary = 2)
>
mean se_mean sd 2.5% 25% 50% 75% 97.5% n_eff Rhat
mu[1] 5.93 0.01 0.85 4.23 5.38 5.92 6.47 7.66 4037 1
mu[2] 6.84 0.01 0.81 5.25 6.33 6.83 7.35 8.41 3905 1
mu[3] 2.32 0.01 0.51 1.32 1.99 2.31 2.63 3.37 3664 1
sig[1] 2.64 0.01 0.68 1.68 2.16 2.52 2.96 4.36 3180 1
sig[2] 2.47 0.01 0.65 1.54 2.01 2.36 2.80 4.00 3623 1
sig[3] 1.61 0.01 0.44 1.01 1.30 1.52 1.83 2.67 3146 1
rho 0.26 0.00 0.20 -0.12 0.12 0.25 0.40 0.64 3897 1
(共分散は省略)
delta21 0.91 0.01 1.00 -1.07 0.26 0.92 1.57 2.81 5000 1
delta13 3.61 0.01 0.89 1.86 3.03 3.61 4.17 5.41 5000 1
delta23 4.52 0.01 0.84 2.87 3.98 4.53 5.06 6.16 5000 1
lp__ -36.19 0.05 2.00 -40.93 -37.29 -35.84 -34.72 -33.32 1817 1
解釈の仕方
#print()で表示された事後分布を確認。
#delta21は、平均で0.91の差があり、95%確信区間は[-1.07~2.81]
#delta13は、平均で3.61の差があり、95%確信区間は[1.86~5.41]
#delta23は、平均で4.52の差があり、95%確信区間は[2.87~6.16]
今後
• 交互作用にも言及した2要因の分散分析
(温度と種類など)をベイズに適用するケー
スについて書くつもり。(→みたいなやつ)
• ケースワーク技法のエビデンス検証にベイ
ズを適用する、なんてプロジェクトを遂行中
なので、いい結果が出るといいなと思う。
• 自由にモデリングしてゴリゴリ分析、みたい
な日はやってくるのだろうか…。
id condition sup gi
1 hot 3 6
2 hot 3 9
3 hot 3 8
4 hot 4 5
5 hot 8 9
6 cool 7 3
7 cool 8 5
8 cool 7 6
9 cool 7 8
10 cool 9 9

More Related Content

What's hot

What's hot (20)

Stan勉強会資料(前編)
Stan勉強会資料(前編) Stan勉強会資料(前編)
Stan勉強会資料(前編)
 
これからの仮説検証・モデル評価
これからの仮説検証・モデル評価これからの仮説検証・モデル評価
これからの仮説検証・モデル評価
 
第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)第4回DARM勉強会 (構造方程式モデリング)
第4回DARM勉強会 (構造方程式モデリング)
 
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
 
SEMを用いた縦断データの解析 潜在曲線モデル
SEMを用いた縦断データの解析 潜在曲線モデルSEMを用いた縦断データの解析 潜在曲線モデル
SEMを用いた縦断データの解析 潜在曲線モデル
 
心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する心理学におけるベイズ統計の流行を整理する
心理学におけるベイズ統計の流行を整理する
 
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
 
MCMCでマルチレベルモデル
MCMCでマルチレベルモデルMCMCでマルチレベルモデル
MCMCでマルチレベルモデル
 
媒介分析について
媒介分析について媒介分析について
媒介分析について
 
StanとRでベイズ統計モデリング 1,2章
StanとRでベイズ統計モデリング 1,2章StanとRでベイズ統計モデリング 1,2章
StanとRでベイズ統計モデリング 1,2章
 
Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説Cmdstanr入門とreduce_sum()解説
Cmdstanr入門とreduce_sum()解説
 
MCMCで研究報告
MCMCで研究報告MCMCで研究報告
MCMCで研究報告
 
ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法ベイズ主義による研究の報告方法
ベイズ主義による研究の報告方法
 
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
 
エクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについてエクセルで統計分析 統計プログラムHADについて
エクセルで統計分析 統計プログラムHADについて
 
あなたの心にBridgeSampling
あなたの心にBridgeSamplingあなたの心にBridgeSampling
あなたの心にBridgeSampling
 
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれRで因子分析 商用ソフトで実行できない因子分析のあれこれ
Rで因子分析 商用ソフトで実行できない因子分析のあれこれ
 
第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)第4回DARM勉強会 (多母集団同時分析)
第4回DARM勉強会 (多母集団同時分析)
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 

Similar to RとStanで分散分析

Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
Hiroko Onari
 

Similar to RとStanで分散分析 (12)

Survival analysis0702
Survival analysis0702Survival analysis0702
Survival analysis0702
 
Survival analysis0702 2
Survival analysis0702 2Survival analysis0702 2
Survival analysis0702 2
 
ベイズ統計によるデータ解析
ベイズ統計によるデータ解析ベイズ統計によるデータ解析
ベイズ統計によるデータ解析
 
Darm3(samplesize)
Darm3(samplesize)Darm3(samplesize)
Darm3(samplesize)
 
マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2マルコフ連鎖モンテカルロ法入門-2
マルコフ連鎖モンテカルロ法入門-2
 
Tokyor24 doradora09
Tokyor24 doradora09Tokyor24 doradora09
Tokyor24 doradora09
 
順序データでもベイズモデリング
順序データでもベイズモデリング順序データでもベイズモデリング
順序データでもベイズモデリング
 
model selection and information criteria part 1
model selection and information criteria part 1model selection and information criteria part 1
model selection and information criteria part 1
 
異常検知と変化検知で復習するPRML
異常検知と変化検知で復習するPRML異常検知と変化検知で復習するPRML
異常検知と変化検知で復習するPRML
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
 
ネットワークメタ分析入門
ネットワークメタ分析入門ネットワークメタ分析入門
ネットワークメタ分析入門
 
バイオインフォマティクスによる遺伝子発現解析
バイオインフォマティクスによる遺伝子発現解析バイオインフォマティクスによる遺伝子発現解析
バイオインフォマティクスによる遺伝子発現解析
 

More from 人斬り 抜刀斎

More from 人斬り 抜刀斎 (20)

被虐待児童の攻撃性.pptx
被虐待児童の攻撃性.pptx被虐待児童の攻撃性.pptx
被虐待児童の攻撃性.pptx
 
実親との面会交流.pptx
実親との面会交流.pptx実親との面会交流.pptx
実親との面会交流.pptx
 
実親との面会交流.pptx
実親との面会交流.pptx実親との面会交流.pptx
実親との面会交流.pptx
 
虐待の影響.pptx
虐待の影響.pptx虐待の影響.pptx
虐待の影響.pptx
 
RADとDSED.pptx
RADとDSED.pptxRADとDSED.pptx
RADとDSED.pptx
 
被虐待児の性加害.pptx
被虐待児の性加害.pptx被虐待児の性加害.pptx
被虐待児の性加害.pptx
 
児童養護施設における暴力問題の現状と有効な対応について.pptx
児童養護施設における暴力問題の現状と有効な対応について.pptx児童養護施設における暴力問題の現状と有効な対応について.pptx
児童養護施設における暴力問題の現状と有効な対応について.pptx
 
子どもの精神的負担になりうるイベント(一時保護関連).pptx
子どもの精神的負担になりうるイベント(一時保護関連).pptx子どもの精神的負担になりうるイベント(一時保護関連).pptx
子どもの精神的負担になりうるイベント(一時保護関連).pptx
 
児童相談所の児童福祉司はつらいよモデル
児童相談所の児童福祉司はつらいよモデル児童相談所の児童福祉司はつらいよモデル
児童相談所の児童福祉司はつらいよモデル
 
サインズ・オブ・セーフティ・アプローチの統計的根拠の検討
サインズ・オブ・セーフティ・アプローチの統計的根拠の検討サインズ・オブ・セーフティ・アプローチの統計的根拠の検討
サインズ・オブ・セーフティ・アプローチの統計的根拠の検討
 
状態空間モデルによる心理療法効果の測定と予測
状態空間モデルによる心理療法効果の測定と予測状態空間モデルによる心理療法効果の測定と予測
状態空間モデルによる心理療法効果の測定と予測
 
感情ラベリングを併せたSSTの有効性
感情ラベリングを併せたSSTの有効性感情ラベリングを併せたSSTの有効性
感情ラベリングを併せたSSTの有効性
 
怒りの感情とアンガーマネジメント
怒りの感情とアンガーマネジメント怒りの感情とアンガーマネジメント
怒りの感情とアンガーマネジメント
 
被虐待児と里親
被虐待児と里親被虐待児と里親
被虐待児と里親
 
情動統制課題の実施によるアパシー傾向への影響
情動統制課題の実施によるアパシー傾向への影響情動統制課題の実施によるアパシー傾向への影響
情動統制課題の実施によるアパシー傾向への影響
 
関係フレーム理論
関係フレーム理論関係フレーム理論
関係フレーム理論
 
脳と認知機能
脳と認知機能脳と認知機能
脳と認知機能
 
怒りのコントロール方法を学ぶ
怒りのコントロール方法を学ぶ怒りのコントロール方法を学ぶ
怒りのコントロール方法を学ぶ
 
自閉症スペクトラム・自閉症とその原因
自閉症スペクトラム・自閉症とその原因自閉症スペクトラム・自閉症とその原因
自閉症スペクトラム・自閉症とその原因
 
恐怖とは何か
恐怖とは何か恐怖とは何か
恐怖とは何か
 

Recently uploaded

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Recently uploaded (8)

2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

RとStanで分散分析