Twitterで階層的重回帰で交互作用を見る場合の注意点について議論が出ました。
Togetterにまとめられているので、興味ある人は参照してみてください。
Togetter「重回帰分析の説明変数に用いるカテゴリカル変数の考え方」
@Manyacesさん(←Twitterアカウント)感謝です!
以下、議論で出た内容のまとめと、追記です。また、HADの仕様についても触れます。
興味がある人は「続き」を見てください。
なお、HADで回帰分析や階層的重回帰分析をする方法については、以下の記事を参照してください。
HADについて
HADで回帰分析をする方法
HADで階層的重回帰分析をする方法
カテゴリカル変数をダミー変数として投入する場合、01データとして入力することが多いですが、交互作用項を見る場合は注意が必要です。
二つの01で構成されたダミー変数の計画ベクトルをそのまま掛け算すると、交互作用項は0001という計画ベクトルになります。このベクトルは、主効果の計画ベクトルと相関が生じるため、得られる主効果は交互作用を投入する前後で結果が変わることになります。またこの結果は分散分析とも結果が異なります。
これを回避するには、条件ごとの人数が等しければ、計画ベクトルの平均を0にして掛け合わせます。つまり±0.5を掛けるので、交互作用項の計画ベクトルは-0.25,0.25,0.25,-0.25(±0.25を±0.5にかえた方が分散が主効果と同じになるのでベター)となります。
またTogetterの議論でも出てきていますが、主効果の場合でも、計画行列の平均をいじると切片の意味が変わります。実験の目的に応じて0にする条件を設定すればいいと思います。統制条件と比較するなら統制条件を0に、条件全体の平均に興味があるなら、計画ベクトルの平均が0になるように設定します。
HADは、2値変数をカテゴリカルデータとして~というチェックを入れておくと、上記の処理を自動で行います(ただし交互作用項は±0.25です)。また、ダミー変数を自動的に±0.5で処理しますので、切片は全体平均に対応します。0を特定の条件にコードさせたい場合のオプションはまだ対応していません。また時間ができたら対応したいと思います。