【統計】Two Way Repeated Measures ANOVA(二元配置反復測定分散分析)

Two Way Repeated Measures ANOVA(Two Way RMANOVA、二元配置反復測定分散分析)のメモ。
実解析ではMixedモデルを使う。学習のためのメモ。

【目次】


帰無仮説、対立仮設


帰無仮説  H_{0}: 要因により平均値に差がない

・対立仮設  H_{1}: 要因により平均値に差がある


計算式等


■ 分散分析表

要因 平方和 自由度 平均平方 F比



Group  S_{g}  f_{g} = n_{g} - 1  V_{g}=\dfrac{S_{g}}{f_{g}}  F_{g}=\dfrac{V_{g}}{V_{e1}}
残差e  S_{e1}  f_{e1} = n_{s} - n_{g}  V_{e1}=\dfrac{S_{e1}}{f_{e1}} -



Time  S_{t}  f_{t} = n_{t} - 1  V_{t}=\dfrac{S_{t}}{f_{t}}  F_{t}=\dfrac{V_{t}}{V_{e2}}
Group*time  S_{g*t}  f_{g*t} = \left(n_{g} - 1\right)\left(n_{t} - 1\right)  V_{g*t}=\dfrac{S_{g*t}}{f_{g*t}}  F_{g*t}=\dfrac{V_{g*t}}{V_{e2}}
残差e  S_{e2}  f_{e2} = N - n_{t} - n_{g*t}  V_{e2}=\dfrac{S_{e2}}{f_{e2}} -
Total  S_{T}  f_{T} = N-1 - -
Subject  S_{s}  f_{s} = n_{s} - 1 - -

■ 平方和

S_{T} = \sum _{i} ^{N} \left( y_{i} - \bar{\bar{y}} \right)^{2} 各観測値と総平均の偏差平方和
S_{s} = \sum _{j} ^{a} n_{j} \left( \overline{y_{j}} - \bar{\bar{y}} \right)^{2} Subject別平均と総平均の偏差平方和
S_{g} = \sum _{k} ^{b} n_{k} \left( \overline{y_{k}} - \bar{\bar{y}} \right)^{2} Group別平均と総平均の偏差平方和
S_{t} = \sum _{l} ^{c} n_{l} \left( \overline{y_{l}} - \bar{\bar{y}} \right)^{2} Time別平均と総平均の偏差平方和
S_{g*t} = \sum_{m}^{d} \sum_{k}^{b} \sum_{l}^{c} n_{m} \{  \overline{y_{m}} - \left(\overline{y_{k}} + \overline{y_{l}} - \bar{\bar{y}} \right) \}^{2} Group*Time別平均、Group別平均、Time別平均と総平均の偏差平方和
S_{e1} = S_{s} - S_{g}
S_{e2} = S_{T} - S_{s} - S_{t} - S_{g*t}

\bar{\bar{y}}=全体の平均値(総平均)


架空データで計算。4時点で右肩上がりになるデータ。
分散分析表を作り、F検定を行う。



今回の架空データは群(Group)、時間(Time)、群と時間の要因間(交互作用)がすべて有意。群と時間が互いに影響を与えている。
↓交互作用ありの解釈のメモ。
【統計】二元配置分散分析(Two-way ANOVA) - こちにぃるの日記

Rで検算。

> ads <- data.frame(
+   Group=c(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2)
+   ,Subject=c(101,101,101,101,102,102,102,102,103,103,103,103,104,104,104,104,105,105,105,105,106,106,106,106)
+   ,Time=c(0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3)
+   ,AVAL=c(10,12,14,15,11,12,13,14,8,10,12,13,10,15,20,21,12,13,15,18,10,12,16,20)
+ )
> ads$Group   <- as.factor(ads$Group)
> ads$Subject <- as.factor(ads$Subject)
> ads$Time    <- as.factor(ads$Time )
> model <- aov(AVAL ~ Group*Time + Error(Subject/(Group*Time)), data=ads)
Warning message:
In aov(AVAL ~ Group * Time + Error(Subject/(Group * Time)), data = ads) :
   Error() モデルは特異です 
> summary(model)
 
Error: Subject
          Df Sum Sq Mean Sq F value Pr(>F)  
Group      1  60.17   60.17   11.93 0.0259 *
Residuals  4  20.17    5.04                 
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Error: Subject:Time
           Df Sum Sq Mean Sq F value   Pr(>F)    
Time        3 154.83   51.61  36.078 2.77e-06 ***
Group:Time  3  19.50    6.50   4.544   0.0239 *  
Residuals  12  17.17    1.43                     
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1
> 



プログラムコード


R

model <- aov(AVAL ~ Group*Time + Error(Subject/(Group*Time)), data=ads)
summary(model)


SAS

proc glm data=ADS;
    class Subject Group;
    model Time0 - Time4 = Group / nouni;
    repeated Subject ;
run;


参考


Two way repeated measures analysis in R
統計学入門−第4章

本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。