二元配置分散分析(two-way ANOVA)を自力でやってみる③:分散分析-標本・列編

 
前回に続き二元配置分散分析(two-way ANOVA)。

  

f:id:Chemstat:20210425220219p:plain

 

データの準備

繰り返しのある二元配置分散分析としてこちらのデータを使用する。

要素1:a, b, c

要素2:A, B

 

f:id:Chemstat:20210402225823j:plain

 

分散分析(標本・列)

f:id:Chemstat:20210430095455p:plain

今回は標本と列の効果をF検定進めていく。

下記式でいうところの\alpha\betaを求めていくことになる。

f:id:Chemstat:20210427210643p:plain

f:id:Chemstat:20210430182507p:plain

 

標本(A・B)の分散

まず標本A・Bの効果について分散を求める。

この二つの効果\alphaを計算するには、全データの平均\mu_{total}と標本A・Bのデータの平均\bar{x}_A\bar{x}_Bの差を計算する事で求めることが出来る。

f:id:Chemstat:20210430212145p:plain

以前の記事のデータを使っているので、必要であれば参照ください。

 \begin{align*}  \bar{x}_{A}= 1.666...\end{align*}

 \begin{align*} \bar{x}_{B}=3.333...\end{align*}

 \begin{align*}  \mu_{total}= \frac{T_{A}+T_{B}}{n_{A}+n_{B}}= \frac{10+20}{6+6}=2.5\end{align*}

\alpha_A= \bar{x}_{A}-\mu_{total}=1.666-2.5=-0.8333...

\alpha_B= \bar{x}_{B}-\mu_{total}=3.333-2.5=0.8333...

 

分散分析を行うには、この\alphaの分散を求める必要がある。

エクセルではそれぞれの効果の二乗和を「変動」と呼び、それを自由度で割ったものを「分散」と呼んでいる。

変動

 s_{\alpha}^2= {\alpha_A}^2 \times n_{A}+ {\alpha_B}^2 \times n_{B}=(-0.8333)^2 \times 6 +(0.8333)^2 \times 6=8.333...

自由度

 \phi_{\alpha}=標本数-1=2-1=1

分散

 \begin{align*}  V_{\alpha} = \frac{s_{\alpha}^2 }{\phi_{\alpha}}\scriptsize =\frac{ 8.333}{1}\normalsize=8.333...\end{align*}

 

列(a・b・c)の分散

つづいて、列a・b・cの効果について分散を求める。

標本の時と同様に、効果\betaを計算するには、全データの平均\mu_{total}と列a・b・cのデータの平均\bar{x}_a\bar{x}_b\bar{x}_cの差を計算する事で求めることが出来る。

f:id:Chemstat:20210430230637p:plain

 \begin{align*} \bar{x}_{a} =1.75\end{align*}

 \begin{align*} \bar{x}_{b} =2.5\end{align*}

 \begin{align*} \bar{x}_{c} =3.25\end{align*}

\beta_a= \bar{x}_{a}-\mu_{total}=1.75-2.5=-0.75

\beta_b= \bar{x}_{b}-\mu_{total}=2.5-2.5=0

\beta_c= \bar{x}_{c}-\mu_{total}=3.25-2.5=0.75

標本と同様に分散を求める。

変動

 s_{\beta}^2= {\beta_a}^2 \times n_{a}+ {\beta_b}^2 \times n_{b}+ {\beta_c}^2 \times n_{c}=(-0.75)^2 \times 4 +(0)^2 \times 4+(0.75)^2 \times 4=4.5

自由度

 \phi_{\beta}=列数-1=3-1=

分散

 \begin{align*}  V_{\beta} = \frac{s_{\beta}^2 }{\phi_{\beta}}\scriptsize =\frac{ 4.5}{2}\normalsize=2.25\end{align*}

 

誤差の分散

交互作用はいったん飛ばして、F検定に必要な誤差の分散を求めていく。

誤差\varepsilonは各群の平均と、実際のデータの差で計算できる。

f:id:Chemstat:20210501155344j:plain

 

 \begin{align*} \bar{x}_{Aa} =1\end{align*} \begin{align*} \bar{x}_{Ba} =2.5\end{align*} \begin{align*} \bar{x}_{Ab} =1.5\end{align*} \begin{align*} \bar{x}_{Bb} =3.5\end{align*} \begin{align*} \bar{x}_{Ac} = 2.5\end{align*} \begin{align*} \bar{x}_{Bc} = 4\end{align*}

 

\varepsilon_{Aa1} =x_{Aa1}-\bar{x}_{Aa}=1-1=0

\varepsilon_{Aa2} =x_{Aa2}-\bar{x}_{Aa}=1-1=0

\varepsilon_{Ba1} =x_{Ba1}-\bar{x}_{Ba}=2-2.5=-0.5

\varepsilon_{Ba2} =x_{Ba2}-\bar{x}_{Ba}=3-2.5=0.5

\varepsilon_{Ab1} =x_{Ab1}-\bar{x}_{Ab}=1-1.5=-0.5

\varepsilon_{Ab2} =x_{Ab2}-\bar{x}_{Ab}=2-1.5=0.5

\varepsilon_{Bb1} =x_{Bb1}-\bar{x}_{Bb}=3-3.5=-0.5

\varepsilon_{Bb2} =x_{Bb2}-\bar{x}_{Bb}=4-3.5=0.5

\varepsilon_{Ac1} =x_{Ac1}-\bar{x}_{Ac}=2-2.5=-0.5

\varepsilon_{Ac2} =x_{Ac2}-\bar{x}_{Ac}=3-3.5=0.5

\varepsilon_{Bc1} =x_{Bc1}-\bar{x}_{Bc}=4-4=0

\varepsilon_{Bc2} =x_{Bc2}-\bar{x}_{Bc}=4-4=0

 

変動

 \begin{align*}  s_{\varepsilon}^2= \sum_{i=1}^n \varepsilon^2 \scriptsize=0^2+0^2+(-0.5)^2+0.5^2+(-0.5)^2+0.5^2+(-0.5)^2+0.5^2+(-0.5)^2+0.5^2+0^2+0^2\normalsize=2\end{align*}

自由度

 \phi_{\varepsilon}=データ数-\phi_{\alpha}-\phi_{\beta}-\phi_{\gamma}-1=12-1-2-2-1=6

分散

 \begin{align*}  V_{\varepsilon} = \frac{s_{\varepsilon}^2 }{\phi_{\varepsilon}}\scriptsize =\frac{ 2}{6}\normalsize=0.333...\end{align*}

交互作用の分散 \phi_{\gamma}も後程計算するのでご容赦ください。

 

さて、ここまで来たら、必要な分散が出そろったので、F検定を行うことが出来る。

 

標本(A・B)のF検定

観測された分散比

これがF値に相当する。

\begin{align*}F=\frac{ V_{\alpha}}{V_{\varepsilon}}=\frac{8.333...}{0.333...}=25\end{align*}

p値

自由度\phi_{\alpha},\phi_{\varepsilon}=1,6のF分布においてF=25の上側の累積確率に相当するので、0.0024になる。Excelpythonで計算してもらえばよい。

F境界値

自由度\phi_{\alpha},\phi_{\varepsilon}=1,6のF分布において上側の累積確率が5%となるF値なので、5.987...となる。こちらもExcelpythonで計算してもらえれば。

この分散分析で最終的に得られるF値、p値によってグループ間の差が統計的に有意かを調べることが出来る。ちなみに帰無仮説は「標本(A・B)ごとの平均値の差に差がない」である。今回のF=25ではp値は0.0024なので、棄却域を0.05で取る場合帰無仮説は棄却され、「標本(A・B)間に差がある」ことになる。

それぞれの関係を下図に示した。

f:id:Chemstat:20210501190640j:plain

列(a・b・c)のF検定

標本の時と同様に計算していく。

観測された分散比

\begin{align*}F=\frac{ V_{\alpha}}{V_{\varepsilon}}=\frac{2.25}{0.333...}=6.75\end{align*}

p値

自由度\phi_{\alpha},\phi_{\varepsilon}=2,6のF分布においてF=6.75の上側の累積確率に相当するので、0.029になる。

F境界値

自由度\phi_{\alpha},\phi_{\varepsilon}=1,6のF分布において上側の累積確率が5%となるF値なので、5.143...となる。こちらもExcelpythonで計算してもらえれば。

帰無仮説は「列(a・b・c)ごとの平均値の差に差がない」である。今回のF=6.75ではp値は0.029なので、棄却域を0.05で取る場合帰無仮説は棄却され、「列(a・b・c)間に差がある」ことになる。

f:id:Chemstat:20210501191518j:plain

ずいぶん長くなったが、とりあえず今回はここで区切る。

次回は交互作用の効果について計算をしていく。