分散分析の平方和

他統計ソフトとRコマンダー・改変Rコマンダーの多元配置分散分析の結果は異なる

Rコマンダーで分散分析を行った結果は,他の統計ソフト(例えばSPSSなど)と異なることがあります.1元配置分散分析,反復測定の分散分析では問題は発生しません.以下の問題は2元配置以上(多元配置)の分散分析の場合の補足になります.

分散分析を行う際には,平方和のタイプというものがあり,typeⅠ~typeⅥまであります.
実際の解析を行う上では,特に気にせずそのままの結果を解釈してもらっても良いのですが,Rコマンダーは,この平方和のtypeが他の統計ソフトと異なるために,結果が一致しないときがあります
その理由として以下の2点があります.

①市販されている統計ソフトは,ほとんどがtypeⅢ平方和を使用しています.Rでは,分散分析の関数として,aov,anova,Anovaという少なくとも3つの関数があり,それぞれによって平方和がことなります(下表).
②市販の統計ソフトでは,固定因子,変量因子の指定が可能ですが,Rコマンダーでは常に固定因子として解析します.

aov,anova,Anovaという3つの関数の設定を以下の表にまとめます.

関数 平方和定数項因子
aov typeⅠあり(出力は抑制される) 固定のみ
anova typeⅡあり(出力は抑制される) 固定のみ
Anova typeⅡ(オプションでⅢも可)あり(typeⅡのときは抑制) 固定のみ

平方和のtypeはⅡもしくはⅢを使用するのが一般的で,しかしどちらを使用したらよいかについてはまだ結論が出ていません.従って,RコマンダーがtypeⅡで計算している点については,他の統計ソフトと異なる結果が得られたとしても,特に気にしなくてもよいです.typeⅠは推奨されません(ただし2元配置以上で交互作用項を設けるとき).

どのような時に統計ソフト間で結果が異なるか

それではどのような時に統計ソフト間で結果(p値も含め)が異なるかですが,

 

統計ソフト間で結果(p値も含め)が異なるとき
交互作用を設けたときの2元配置以上の分散分析のとき(交互作用を設けない計算では一致する).
交互作用を設けたときの2元配置以上の分散分析で,変量因子にしなければならない変数が存在するとき.Rでは変量因子にできないため(正確には他の関数を使えば可能).
交互作用を設けたときの2元配置以上の分散分析で,水準間のnが異なるとき

 

結論として,交互作用を含めて検定するとき(しかし,交互作用がp≒1のときは影響は小さい)に,統計ソフト間で結果は異なる可能性があります.
RコマンダーではtypeⅢが使用されていないので,この点に留意してください.もちろん,どちらが正しいとも間違っているとも言えませんので,Rコマンダーがおかしい,ということはありません.

※1 2021/1/11以降配布の改変Rコマンダーでは,追加メニュー[統計量]-[分散分析]の各分散分析はtypeⅢで計算しています.Rコマンダーオリジナルのメニュー[統計量]-[平均]-[多元配置分散分析]はtypeⅡなので結果が異なるときがあります.
なお,[統計量]-[平均]-[1元配置分散分析],追加メニュー[統計量]-[差の検定]-[3標本以上の差の検定(自動選択)]ではtypeⅠ(aov関数)で計算していますが,1元配置分散分析なので平方和の違いによる問題はおこりません.
※2 RではtypeⅢの計画行列を5つ選べますが,デフォルトを使用すると問題の起こるときがあります.改変Rコマンダーでは,コントラストオプションをcontr.sumに設定し,起こる問題を回避しています.

★注意
 CRAN配布の「Rコマンダー」はRコマンダー,本HP配布の「改変Rコマンダー」は改変Rコマンダーとして区別して述べています.