共分散分析(ANCOVA):平行性の検定②平行性のF検定

前回、傾き共通モデルを作成できたので、今回ようやく平行性の検定を行うことが出来る。

平行性の検定では、帰無仮説「すべての回帰直線の傾きが等しい」ことを検定数するため、「傾き共通の回帰式の残差平方和S_1」と「個別の回帰式の残差平方和S_2」の残差を比較することになる。

f:id:Chemstat:20200914062121j:plain

もし傾きが本当に平行であれば、個別に求めた回帰式と、傾き共通モデルで求めた回帰式は等しくなるはずで、そうなれば当然残差の値も等しくなる。

なので残差平方和の差分S_1 - S_2が個別回帰式の残差平方和S_2に対して、有意に小さければ、二つの回帰式は等しい(=傾きが平行である)と言えそうである。

実際のF検定に際しては残差平方和Sを自由度\phiで割った平方平均MSを用いる。平方平均は「残差がどれだけばらついているか」に相当するが、この辺は回帰分析のF検定と同じような理屈である。

f:id:Chemstat:20200914070803j:plain

ちなみにこのMS_Aが残差の差分の不偏推定量になるかは分からなかったのだけれど、だれか教えてほしいです。

 

大体の理屈はここまでにして、実際の計算に移っていこう。データは以下である。

データ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:20200915042543j:plain

全データやるのは大変なので今回はデータ1のみ計算してみる。

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

f:id:Chemstat:20200915042715j: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*}

データ1の個別の回帰式の残差平方和: \begin{align*}  S_{21} = \sum_{i=1}^n \varepsilon^2 \scriptsize =2.56+1.69+0.04+4.41+4.00\normalsize=12.70\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

傾きが共通の場合、回帰式y=b_1x+aが3つあっても、1種の傾きと3種の切片になるので、回帰式の自由度の合計は4である。

個別の回帰式

残差平方和: \begin{align*}  S_{2} = S_{21}+S_{22}+S_{23}\scriptsize =12.70+7.10+6.40\normalsize=26.20\end{align*}

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

こちらは回帰式y=bx+aが3つに対して、切片と傾きがそれぞれ異なるので、回帰式の自由度の合計は6になる。

 

傾き共通性のF検定

ここまでくると、ようやくF検定に必要な平方平均を求めることが出来る。

「残差の差」の平方平均: \begin{align*}  MS_{A} = \frac{ S_{1}-S_{2} }{\phi_{\varepsilon1}-\phi_{\varepsilon2}}\scriptsize =\frac{ 26.26..-26.20}{11-9}\normalsize=0.03...\end{align*}

「個別回帰式の残差」の平方平均: \begin{align*}  MS_{\varepsilon} = \frac{ S_{2} }{\phi_{\varepsilon2}}\scriptsize =\frac{ 26.20}{9}\normalsize=2.91...\end{align*}

 

そしてこの平方平均を用いて「傾きが共通である」ことを帰無仮説としたF検定を行う。

 \begin{align*}  F=\frac{MS_{A}}{MS_{\varepsilon}}=\frac{0.03}{2.91}=0.01... \end{align*}

自由度(2,9)\alpha=0.95F値4.25に対して小さいので、「傾きは平行である」と言える。(厳密には「傾きが平行である事は否定できない」と言える。)

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

f:id:Chemstat:20201019022950j:plain

補足

改めて残差の比較をグラフにすると下記のようになる。

平方平均MSは「ばらつきのばらつき」的な値で、それを比べることでF検定を行うことが出来る。傾き共通の残差そのものではなくて、その差分が使われていることに注意したい。

f:id:Chemstat:20201004074516j:plain

今回で傾きが等しいことが分かったので、次回は切片の差を検定する。



参考

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

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