共分散分析(ANCOVA):切片の差の検定

前回の記事では傾きが共通であることを確認できた。傾きが共通であれば切片の比較を行うことが出来る。傾きが平行でなければ、xの点によって変わってくるので、単純な比較ができなくなる。

 

まず切片に差がない場合を考える。真に切片が等しければ、それぞれのデータグループごとに導いた傾き共通の回帰式は等しくなる。下図ではy=b'x+a_1y=b'x+a_2の二つについてa_1=a_2となる。

 二つの回帰式に差がないということは、要するにすべてのデータをまとめて回帰しても同じ回帰式が得られるということである。

 

 

f:id:Chemstat:20201014073409j:plain

 

二つの回帰直線の差を検定するときは、いつものように残差を比較することになる。残差が等しければデータグループ間で切片に差がないということになる。

ただし比較する残差はちょっとだけややこしくて、

①「傾き共通の回帰の残差」

②「まとめて回帰することにより増えた残差」

を比較することになる。これは「データグループという情報を除いた時の変化が、誤差に対して十分大きいか」を検定していることになる。

f:id:Chemstat:20201018005326j:plain

 

ということで早速実際のデータで計算していく。
 

データは以下である。

データ1

 x 1 2 3 4 5
 y 2 6 6 9 6

 データ2

 x 2 3 4 5 6
 y 0 4 4 3 6

 データ3

 x 0 1 2 3 4
 y 3 5 7 9 7

f:id:Chemstat:20200907005524p:plain

 

残差平方和の計算

傾き共通の回帰式は前回導いた式を使用する。全データの回帰式は下のほうに記載しておく。

f:id:Chemstat:20201018234150j:plain

今回も実際の計算はデータ1のみ計算している。

前回同様、それぞれの回帰式を用いて\hat{y}を求め、実際のデータとの残差\varepsilon = y - \hat{y}を各データ点について計算する。

f:id:Chemstat:20201019005151j:plain

 

データ1の傾き共通式の残差平方和:

 \begin{align*}  S_{11} = \sum_{i=1}^n \varepsilon^2 \scriptsize =2.35+1.78+0.04+4.27+4.27\normalsize=12.71\end{align*}

全データの回帰式の残差平方和:

 \begin{align*}  S_{31} = \sum_{i=1}^n \varepsilon^2 \scriptsize =4.55+1.87+0.75+11.33+0.02\normalsize=18.52\end{align*} 

 

これをすべてのデータについて行って、残差の合計を計算する。

傾き共通式

これは前回の計算と同様である。

残差平方和: \begin{align*}  S_{1} = S_{11}+S_{12}+S_{13}\scriptsize =12.71+7.11+6.44\normalsize=26.26...\end{align*}

残差の自由度:\phi_{\varepsilon1}=データの総数\phi_{N}-回帰式の自由度\phi_{\beta1}\scriptsize =15-4\normalsize=11

全データの回帰式

残差平方和: \begin{align*}  S_{3} = S_{31}+S_{32}+S_{33}\scriptsize =18.52...+35.64...+23.57...\normalsize=77.73...\end{align*}

残差の自由度:\phi_{\varepsilon3}=データの総数\phi_{N}-回帰式の自由度\phi_{\beta3}\scriptsize =15-2\normalsize=13

こちらはy=bx+aの回帰式から予想値を求めているので、切片と傾きが自由度2を引いた13が残差の自由度になる。

 

切片の差のF検定

これらを踏まえてF検定に必要な平方平均を求める。最初に説明したように、

「傾き共通回帰式の残差」の平方平均: \begin{align*}  MS_{\varepsilon1} = \frac{ S_{1} }{\phi_{\varepsilon1}}\scriptsize =\frac{ 26.26...}{11}\normalsize=2.38...\end{align*}

「全データの回帰式による残差の増加」の平方平均: \begin{align*}  MS_{A3} = \frac{ S_{3}-S_{1} }{\phi_{\varepsilon3}-\phi_{\varepsilon1}}\scriptsize =\frac{ 77.73...-26.26...}{13-11}\normalsize=25.73...\end{align*}

 

そしてこの平方平均を用いて「切片に差がない」ことを帰無仮説としたF検定を行う。

細かく言えば、「傾き共通の回帰式でグループの差を考慮した場合」と「まとめて回帰しグループの差を考慮しない場合」で差がないかを検定していることになる。

 \begin{align*}  F=\frac{MS_{A3}}{MS_{\varepsilon1}}=\frac{25.73...}{2.38...}=10.77... \end{align*}

自由度(2,11)\alpha=0.95F値3.98に対して大きいので、「切片に差がない」という帰無仮説は棄却され、「切片に差がある」と言える。

定義上、分子が分母より大きいときに棄却が否定されるという、片側検定なので注意が必要である。

ちなみこのデータは3つのグループがあるが、切片がすべて等しい(a_1 = a_2 = a_3 = a)ことを帰無仮説としており、どれか一つでも異なっていれば帰無仮説は棄却される。

f:id:Chemstat:20201019023105j:plain

ということで無事切片の差を検定することが出来た。次回は傾きの有意性を検定したいと思う。 

 

全データの回帰式

 yの平均値: \begin{align*} \bar{y} = \frac{1}{n}\sum_{i=1}^ny_i \scriptsize = \frac{2 + 6 + 6 + 9 + 6  +  0+4+4+3+6+  3+5+7+9+7}{15} \normalsize=5.1333...\end{align*}

 xの平均値: \begin{align*} \bar{x} = \frac{1}{n}-\sum_{i=1}^nx_i = \scriptsize  \frac{1 + 2 + 3 + 4 + 5+0+1+2+3+4+2+3+4+5+6}{15} \normalsize=3\end{align*}

 x yの偏差積和: \begin{align*} S_{xy}= {\displaystyle \sum_{i=1}^n(x_i-\bar{x})(y_i-\bar{y})} \end{align*}

 \begin{align*} \scriptsize =(1-3)(2-5.13) + (2-3)(6-5.13) + (3-3)(6-5.13) + (4-3)(9-5.13) + (5-3)(6-5.13)\end{align*}

 \begin{align*} \scriptsize +(0-3)(0-5.13) + (1-3)(4-5.13) + (2-3)(4-5.13) + (3-3)(3-5.13) + (4-3)(6-5.13)\end{align*}

 \begin{align*} \scriptsize +(2-3)(3-5.13) + (3-3)(5-5.13) + (4-3)(7-5.13) + (5-3)(9-5.13) + (6-3)(7-5.13)\end{align*}

 \begin{align*} \scriptsize \normalsize=20 \end{align*}

 xの偏差平方和: \begin{align*} S_{xx} = {\displaystyle \sum_{i=1}^n(x_i-\bar{x})^2 }\end{align*}

 \begin{align*}\scriptsize =  (1-3)^2 + (2-3)^2 + (3-3)^2 + (4-3)^2 + (5-3)^2\end{align*}

 \begin{align*}\scriptsize+(0-3)^2 + (1-3)^2 + (2-3)^2 + (3-3)^2 + (4-3)^2\end{align*}

 \begin{align*}\scriptsize+(2-3)^2 + (3-3)^2 + (4-3)^2 + (5-3)^2 + (6-3)^2\end{align*}

 \begin{align*}\normalsize=40 \end{align*}

切片: \begin{align*} \hat{a} = \bar{y} - \frac{S_{xy}}{S_{xx}}\bar{x} \scriptsize= 5.133 - \frac{20}{40}\times3 \normalsize= 3.633...\end{align*}

傾き: \begin{align*} \hat{b} = \frac{S_{xy}}{S_{xx}} \scriptsize= \frac{20}{40}  \normalsize = 0.5\end{align*}

 

参考

 

共分散分析の解説:http://www.snap-tck.com/room04/c01/stat/stat13/stat1302.html