No.03957 共分散分析におけるLeveneの検定  【ライト】 2007/07/20(Fri) 15:56

SPSSで出力されるのですが,
共分散分析においてLeveneの検定のF値はどのように計算されるのでしょうか。

よろしくお願い致します。

No.03960 Re: 共分散分析におけるLeveneの検定  【青木繁伸】 2007/07/20(Fri) 16:16

http://www.itl.nist.gov/div898/handbook/eda/section3/eda35a.htm
に説明があり,それを具体的に計算するにはどうしたらよいかは
http://aoki2.si.gunma-u.ac.jp/R/levene-test.html
が参考になりませんか?

No.03962 Re: 共分散分析におけるLeveneの検定  【ライト】 2007/07/20(Fri) 16:46

青木先生,ご回答ありがとうございます。

記述不足で申し訳ありません。
一応事前にLeveneの検定の計算方法は存じており,今ご紹介いただいた
 http://www.itl.nist.gov/div898/handbook/eda/section3/eda35a.htm
と同じ方法を使って確かめています。

Z=|Y-平均値| で誤差を計算し,普通の一元配置分散分析ではSPSSと同じ結果が
得られました。そのモデルに共変量を1つ加えた共分散分析でもLeveneの検定の
結果は変わらないだろうと思っていたのですが,SPSSでは異なる値が出力されました。

そこで,共分散分析の場合のLevene検定は特別な処理が必要なのだろうか・・・?と
思った次第です。

No.03963 Re: 共分散分析におけるLeveneの検定  【青木繁伸】 2007/07/20(Fri) 17:25

失礼しました,「共分散分析の場合の」というところを読み飛ばしておりました

共分散分析のどこに出てくる検定結果でしょうか。
SPSSはほとんど使わないため,お教え下さい。
あるいは,小さなデータ例で分析結果を示していただけると私にも理解できるかも知れません。

No.03964 Re: 共分散分析におけるLeveneの検定  【ライト】 2007/07/20(Fri) 18:20

SPSSでの操作としましては,
「分析」→「一般船型モデル」→「1変量」と進みます。
従属変数,固定因子,共変量にデータを指定します。
さらに,[オプション]の中で[等分散性の検定]にチェックを入れて分析を行うことで
Leveneの検定結果が出力されます。

通常の分散分析を行った場合と共分散分析を行った場合とでの結果を
以下に載せます。ご確認ください。
群 従属変数 共変量1 共変量2
1 10 12 7
1 20 11 1
1 30 10 5
2 4 1 4
2 5 2 2
2 6 3 8

従属変数のみをモデルに含めた場合

Levene の誤差分散の等質性検定(a)
従属変数: B
F 値 自由度1 自由度2 有意確率
3.207920792 1 4 0.147766926
従属変数の誤差分散がグループ間で等しいという帰無仮説を検定します。
a 計画: 切片+A


従属変数と共変量1をモデルに含めた場合

Levene の誤差分散の等質性検定(a)
従属変数: B
F 値 自由度1 自由度2 有意確率
0 1 4 1
従属変数の誤差分散がグループ間で等しいという帰無仮説を検定します。
a 計画: 切片+C+A


従属変数と共変量2をモデルに含めた場合

Levene の誤差分散の等質性検定(a)
従属変数: B
F 値 自由度1 自由度2 有意確率
3.561966441 1 4 0.132159311
従属変数の誤差分散がグループ間で等しいという帰無仮説を検定します。
a 計画: 切片+C+A
どうぞ宜しくお願いいたします。

No.03966 Re: 共分散分析におけるLeveneの検定  【青木繁伸】 2007/07/20(Fri) 20:25

R でやってみました。
以下の分析例において,leven.test は普通の Leven test です。
http://aoki2.si.gunma-u.ac.jp/R/levene-test.html

> df # データです
群 従属変数 共変量1 共変量2
1 1 10 12 7
2 1 20 11 1
3 1 30 10 5
4 2 4 1 4
5 2 5 2 2
6 2 6 3 8

# 「群」において「等分散」かどうか
# 回帰分析をします
> ans <- lm(従属変数 ~ factor(群),df)
> ans

Call:
lm(formula = 従属変数 ~ factor(群), data = df)

Coefficients:
(Intercept) factor(群)2
20 -15
# 残差が群によって差があるかどうかの検定です
> levene.test(ans$residuals, df$群)
F 値 df b df w P 値
3.2079208 1.0000000 4.0000000 0.1477669 # SPSS と同じ結果ですね

# 群と共変量1での重回帰分析です(交互作用は考慮されていません)
> ans2 <- lm(従属変数 ~ 群+共変量1, df)

# 残差の分散が等分散か見ます
> levene.test(ans2$residuals, df$群)
F 値 df b df w P 値
0 1 4 1 # SPSS と同じですね


# 群と共変量1での重回帰分析です(交互作用は考慮されていません)
> ans3 <- lm(従属変数 ~ 群+共変量2, df)

# 残差の分散が等分散か見ます
> levene.test(ans3$residuals, df$群)
F 値 df b df w P 値
3.5619664 1.0000000 4.0000000 0.1321593 # SPSS と同じですね
SPSS の共分散分析で示されるのは,「Levene の誤差分散の等質性検定」です。すなわち,群と共変量で従属変数を回帰分析したときの,「残差の分散」が「群」で違うかどうかの検定です。
まさに,「Levene の誤差分散の等質性検定」と書かれていますね。「誤差分散の等質性」です。

これで,回答になりましたでしょうか。

No.03985 Re: 共分散分析におけるLeveneの検定  【ライト】 2007/07/23(Mon) 14:14

青木先生,ご返信ありがとうございました。

回帰の残差を使って計算するんですね。なるほど!って感じです。
ちゃんと手計算で結果の再現もできました。

No.04062 Re: 共分散分析におけるLeveneの検定  【ライト】 2007/08/03(Fri) 14:20

追加で質問させてください。

下記データはSPSSにより普通の分散分析を行ったときのLeveneの検定の結果です。
このとき,
 モデル1:Y=切片+A+B+AB
 モデル2:Y=切片+A+B
の2つのモデルでLeveneの検定の手計算を行ったのですが,
いずれもモデル1の結果と同じになってしまいました。
原因はなんなのでしょうか?

なお,手計算は説明変数をダミー変数として重回帰を行い確かめています。
また,共分散分析における
 モデル3:Y=切片+A+共変量+A*共変量
 モデル4:Y=切片+A+共変量
では,手計算で異なる結果が得られ,SPSSの結果と一致しました。

【データ】
A B Y
1 1 10
1 1 18
1 1 16
1 2 6
1 2 19
1 2 4
2 1 16
2 1 4
2 1 6
2 2 6
2 2 7
2 2 3

モデル1:Y=切片+A+B+AB
F値 自由度1 自由度2 p値
2.8927 3 8 0.1021

モデル2:Y=切片+A+B
F値 自由度1 自由度2 p値
4.2998 3 8 0.0440

No.04063 Re: 共分散分析におけるLeveneの検定  【青木繁伸】 2007/08/03(Fri) 14:28

読解力不足で,書かれている内容が把握できません

> 2つのモデルでLeveneの検定の手計算を行ったのですが,
> いずれもモデル1の結果と同じになってしまいました。

末尾にあるモデル1,2の結果とその手計算の結果とどのような関係にあるんでしょうか

No.04064 Re: 共分散分析におけるLeveneの検定  【ライト】 2007/08/03(Fri) 16:33

説明不足になってしまって申し訳ありません。

手計算を行うといずれのモデルの場合も
SPSSのモデル1の結果と同じになってしまいます。

● 「統計学関連なんでもあり」の過去ログ--- 040 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る