*disclaimer
639835
contrast coding
- カテゴリカル変数をどう対比してコード化するか
- デフォルトでtreatment codingになっていて、明示的にコーディングのことを説明する必要があるsum codingの場合を、contrast codingと呼ぶ人がいるが、紛らわしいのでやめるべきだとBrehm & Aldayは言っている。
二種類のコード化
treatment coding (treatment contrast)
- デフォルトはこちらになっている
- 参照レベルに 0 を、もう一方に 1 をわりあてる
- 切片は、すべて 0 の状態の値
- 二要因ある場合、効果は、一方が 0 の時の効果を示す
- 特定のレベル(0)の時の効果なので「単純主効果」に相当する
sum coding (sum contrasts)
- contr.Sum() で設定する
- 一方を -1 に、もう一方を 1 にする
- 「参照レベル」は、各要因の平均
- 切片は、総平均(grand mean)
Brehm and Alday (2022) Contrast coding in a decade of mixed modelsの具体例
要因A (Utensils) 要因B (Foods) 従属変数 RT(食べる速さ(分)) Utensilsの主効果はないが、単純主効果がある(食べ物による) lme4: mixed model car: contrastsの設定 jtools: 結果出力 kableExtra: 結果出力
contrasts() でコントラストがどうなっているか表示
- デフォルトは、treatment codingで、0, 1
- アルファベットの若いレベルが0で、referenceとなる
- interceptは、ゼロのほうにセットされる。
- この場合は、ForkでSaladの場合
contrasts(ds$Utensils) Spoon Fork 0 Spoon 1 contrasts(ds$Foods) Soup Salad 0 Soup 1
https://sugiura-ken.org/wiki/