共分散分析(ANCOVA):平行性の検定①傾き共通モデルを作る

 

共分散分析の第一歩として、回帰直線の傾きが等しいかを検定する。使うデータは前回示した以下のデータを使う。

データ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

 

傾きの平行性の検定のため、まず傾きが等しいと仮定したモデルを作り、回帰式を得る。もし本当に傾きが等しければ、個別で求めた回帰式と等しくなるはずである。

以下のデータでは明らかに傾きが異なるように見えるが、統計的には残差Sを比較することで、検定を行うことが出来る。

f:id:Chemstat:20200909061246j:plain

 

傾き共通モデルの考え方

そもそも傾き共通モデルはどうやって求めるのだろう?全データをまとめて単回帰分析をすればそれっぽくなる気もするが、残念ながらそうではない。

試しに以下のデータを解析してみると、全データで回帰した直線と、傾き共通の回帰直線では明らかに異なっている。これは群間差の情報を無視しているために、群内の傾きを適切に評価できていないためである。

f:id:Chemstat:20200909170357j:plain

以前の記事で、単回帰分析の傾きは以下の式で表されることを述べた。

傾き: \begin{align*} \hat{b} = \frac{S_{xy}}{S_{xx}} = \frac{\displaystyle \sum_{i=1}^n(x_i-\bar{x})(y_i-\bar{y})}{\displaystyle \sum_{i=1}^n(x_i-\bar{x})^2 } \end{align*}

複数の群の共通傾きを求める場合は、それぞれの群について偏差積和S_{xy}と偏差平方和S_{xx}を求め、組み合わせた下記の式になる。
共通傾き: \begin{align*} \hat{b} = \frac{S_{xy1}+S_{xy2}+S_{xy3}}{S_{xx1}+S_{xx2}+S_{xx3}}=\frac{11+11+12}{10+10+10}=1.133... \end{align*}

データ1はこの記事と同じものなので、偏差積和と偏差平方和の計算の計算が気になったら参考にしてほしい。

 

データから計算するだけなのだが、一応この式の意味合いも下にまとめてみた。

f:id:Chemstat:20200910061129j:plain

このような操作をすることで、群間差(切片)の影響を取り除き、xとyの関係を平均的に求めることが出来る。

 

傾き共通回帰式の計算 

それぞれのグループの平均値(\bar{x}_n, \bar{y}_n)を通るように傾き\hat{b}の直線を平行移動すると、各グループに対する回帰直線の切片が得られる。

(\bar{x}_1, \bar{y}_1)=(3.0, 5.8)(\bar{x}_2, \bar{y}_2)=(4.0, 3.4)(\bar{x}_3, \bar{y}_3)=(2.0, 6.2)

y=\hat{b}x+aを代入して計算してみる。

5.8=1.133 \times 3.0 + a_1

3.4=1.133 \times 4.0 + a_2

6.2=1.133 \times 2.0 + a_3

a_1 = 2.4a_2 = -1.133a_3 = 3.933が得られる。

f:id:Chemstat:20200915011010j:plain

個別回帰式の計算

今後のF検定には、個別の回帰式も必要になるので、合わせて計算結果を示しておく。

計算方法は以前の記事に示した通りなので、割愛する。

f:id:Chemstat:20200915034806j:plain

 ようやく回帰直線がかけたので、次回は平行性の検定を行う。

参考

傾き共通モデルの計算:https://scientist-press.com/wp/wp-content/uploads/2019/07/seminar3.pdf