コントラストマトリックスとは


46

どのような正確に対比行列は(用語、カテゴリ予測と分析に関係する)で、どのように正確にコントラスト行列が指定されていますか?すなわち、列jiは何ですか、行とは何ですか、そのマトリックスの制約は何ですか?列と行の数は何を意味しますか?私はドキュメントとウェブを調べようとしましたが、誰もがそれを使用しているようですが、どこにも定義はありません。利用可能な定義済みのコントラストをバックワードエンジニアリングできますが、定義はそれなしでも利用できるはずです。

> contr.treatment(4)
  2 3 4
1 0 0 0
2 1 0 0
3 0 1 0
4 0 0 1
> contr.sum(4)
  [,1] [,2] [,3]
1    1    0    0
2    0    1    0
3    0    0    1
4   -1   -1   -1
> contr.helmert(4)
  [,1] [,2] [,3]
1   -1   -1   -1
2    1   -1   -1
3    0    2   -1
4    0    0    3
> contr.SAS(4)
  1 2 3
1 1 0 0
2 0 1 0
3 0 0 1
4 0 0 0

「コントラストマトリックス」は、モデリングのカテゴリIV(因子)を表すために使用されます。特に、因子を「コントラスト変数」のセットに再コード化するために使用されます(ダミー変数は単なる例です)。コントラスト変数の各タイプには、対応する独自のコントラストマトリックスがあります。たとえば、まだ答えられていない自分の関連する質問を参照してください。
ttnphns

5
@ttnphnsすみませんが、すべてのドキュメントとWebの機能を実行し続けます。コントラストマトリックスとは何なのかという質問に取り組むことなく、コントラストマトリックスの用途を説明しますこれが定義の目的です。
好奇心が

3
もちろん関連していますが、「必要なもの」から「それが何であるか」を導き出すことは探偵の仕事であり、必要のないことです。それはリバースエンジニアリングです。物事を文書化する必要があります。
好奇心が

2
ats.ucla.edu/stat/r/library/contrast_coding.htmは、Rコーディング方法に関する優れたリソースです。
whuber

1
@Curious、ちょうどあなたに知らせるために:私はttnphnsに100バウンティを授与しましたが、Gus_estにも授与するために別のバウンティを開始します(または他の誰かにそれを依頼します)。あなたがもっと短いものを好む場合に備えて、私も自分の答えを書きました:
アメーバは、Reinstate Monica

回答:


31

彼らのいい答えである@Gus_estは、コントラスト係数行列L(そこにCと表記)の本質の数学的説明を引き受けました。は、単変量一般線形モデリング(はパラメーター、は帰無仮説を表す推定可能な関数)で仮説をテストするための基本式であり、その答えは現代のANOVAプログラムで使用されるいくつかの必要な式を示しています。b kLb=kbk

私の答えのスタイルは非常に異なっています。「数学者」ではなく「エンジニア」であると考えるデータアナリスト向けです。そのため、答えは(表面的な)「実用的」または「教授的」なアカウントであり、トピック(1)コントラスト係数の意味と(2)線形回帰プログラムを介して ANOVAを実行する方法

ダミー変数を使用した回帰としてのANOVA:コントラストの導入

従属変数Yと3つのレベル(グループ)を持つカテゴリカルファクターAをもつANOVAを想像してみましょう。線形回帰の観点からANOVAを一目見てみましょう。つまり、係数をダミー(別名インジケーター扱い、別名ワンホット)バイナリ変数のセットに変換することによって。これは私たちの独立した集合Xです。(おそらく、誰もがこの方法でANOVAを実行することが可能であると聞いたことがある-ダミー予測子を使用した線形回帰として。)

3つのグループの1つは冗長であるため、2つのダミー変数のみが線形モデルに入ります。Group3を冗長または参照に指定しましょう。Xを構成するダミー予測子は、コントラスト変数の例、つまり因子のカテゴリを表す基本変数です。X自体は、しばしば設計マトリックスと呼ばれます。データを中央に配置し、回帰係数(パラメータ)を見つける多重線形回帰プログラムにデータセットを入力できます。、ここで+ "は疑似逆を指定します。b=(XX)1Xy=X+y

同等のパスは、センタリングを行わず、モデルの定数項をX1の最初の列として追加し、上記と同じ方法で係数を推定します。ここまでは順調ですね。b=(XX)1Xy=X+y

行列Cを独立変数設計行列Xの集約(要約)として定義しましょう。そこに見られるコーディングスキーム、コントラストコーディングマトリックス(=基底マトリックス):ます。C=aggrX

C
              Const  A1    A2
Gr1 (A=1)       1     1     0
Gr2 (A=2)       1     0     1
Gr3 (A=3,ref)   1     0     0

列はXの変数(列)です-基本的なコントラスト変数A1 A2、この例ではダミー、行はすべて因子のグループ/レベルです。だから、私たちのコーディング行列だっCのための指標やダミーのコントラスト符号化方式。

現在、はコントラスト係数行列、またはL 行列と呼ばれています。Cは正方形なので、。したがって、Cに対応するコントラストマトリックスは、この例のインジケーターコントラスト用です。L = C + = C 1C+=LL=C+=C1

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const      0     0     1            => Const = Mean_Gr3
A1         1     0    -1            => Param1 = Mean_Gr1-Mean_Gr3
A2         0     1    -1            => Param2 = Mean_Gr2-Mean_Gr3

L-matrixは、コントラスト係数を示す行列です。すべての行(行定数を除く)のコントラスト係数の合計はことに注意してください。このような行はすべてコントラストと呼ばれます。行はコントラスト変数に対応し、列はグループ、因子レベルに対応します。0

コントラスト係数の重要性は、それぞれの効果(Xを使用した回帰で推定された各パラメーターbがそのままコード化されている)が差の意味(グループ比較)で何を表すを理解するのに役立ちます。係数に続いて、推定された定数が参照グループのY平均に等しくなることがすぐにわかります。そのパラメーターb1(つまり、ダミー変数A1の)は、差に等しくなります。group1のY平均からgroup3のY平均を引いた値。パラメータb2は差です。グループ2の平均からグループ3の平均を引いたものです。

:グループの観測平均ではなく、グループの推定(モデルによって予測)平均を「平均」と言います。

有益な発言バイナリ予測変数による回帰を行う場合、そのような変数のパラメーターは、variable = 1とvariable = 0のグループ間のYの違いを示します。ただし、バイナリ変数がレベル係数を表すk-1 ダミー変数のセットである状況kでは、パラメーターの意味が狭くなります。変数= 1と(変数= 0だけでなく偶数)のreference_variableの差を示します= 1グループ。

以下のような(乗じた後)、私たちは値をもたらすB同様に、の意味にもたらすB y a g g r X +X+y(aggrX)+

OK、コントラスト係数行列Lの定義を与えました。以来、、対称、あなたが与えられた又はコントラストマトリックス構築している場合を意味Lカテゴリ因子に基づくを(s)- 分析でそのLをテストするには、通常の回帰ソフトウェア(つまり、標準OLSの「連続」変数を処理するもの)を介しLをテストするために、コントラスト予測変数Xを正しくコーディングする方法の手がかりがあります方法、およびカテゴリ要因をまったく認識しない)。現在の例では、コーディングは- インジケーター(ダミー)型変数でした。 C = L + = L 1L=C+=C1C=L+=L1

回帰としての分散分析:他のコントラストタイプ

カテゴリー因子Aの他のコントラストタイプ(=コーディングスキーム、=パラメーター化スタイル)を簡単に観察してみましょう。

偏差または効果の対比CおよびL行列とパラメーターの意味:

C
              Const  A1    A2
Gr1 (A=1)       1     1     0
Gr2 (A=2)       1     0     1
Gr3 (A=3,ref)   1    -1    -1

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3      => Const = 1/3Mean_Gr3+1/3Mean_Gr2+1/3Mean_Gr3 = Mean_GU
A1        2/3  -1/3  -1/3      => Param1 = 2/3Mean_Gr1-1/3(Mean_Gr2+Mean_Gr3) = Mean_Gr1-Mean_GU
A2       -1/3   2/3  -1/3      => Param2 = 2/3Mean_Gr2-1/3(Mean_Gr1+Mean_Gr3) = Mean_Gr2-Mean_GU

                                  Parameter for the reference group3 = -(Param1+Param2) = Mean_Gr3-Mean_GU

                                  Mean_GU is grand unweighted mean = 1/3(Mean_Gr1+Mean_Gr2+Mean_Gr3)

偏差コーディングにより、因子の各グループは加重されていない総平均と比較されますが、定数はその総平均です。これは、偏差または効果「方法」でコード化されたコントラスト予測子Xを使用した回帰で得られるものです。

シンプルなコントラスト。このコントラスト/コーディングスキームはインジケーターと偏差タイプのハイブリッドであり、偏差タイプのように定数の意味と、インジケータータイプのように他のパラメーターの意味を提供します。

C
              Const  A1    A2
Gr1 (A=1)       1   2/3  -1/3
Gr2 (A=2)       1  -1/3   2/3
Gr3 (A=3,ref)   1  -1/3  -1/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = as in Deviation
A1         1     0    -1         => Param1 = as in Indicator
A2         0     1    -1         => Param2 = as in Indicator

ヘルマートは対照的です。各グループ(参照を除く)を後続のグループの加重なしの平均と比較し、定数は加重なしの平均です。CおよびLマトリックス:

C
              Const  A1    A2
Gr1 (A=1)       1   2/3    0
Gr2 (A=2)       1  -1/3   1/2
Gr3 (A=3,ref)   1  -1/3  -1/2

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1         1   -1/2  -1/2        => Param1 = Mean_Gr1-1/2(Mean_Gr2+Mean_Gr3)
A2         0     1    -1         => Param2 = Mean_Gr2-Mean_Gr3

ヘルマートの対比または逆。各グループ(参照を除く)を前のグループの加重なしの平均と比較します。定数は加重なしの平均です。

C
              Const  A1    A2
Gr1 (A=1)       1  -1/2  -1/3
Gr2 (A=2)       1   1/2  -1/3
Gr3 (A=3,ref)   1    0    2/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1        -1     1     0         => Param1 = Mean_Gr2-Mean_Gr1
A2       -1/2  -1/2    1         => Param2 = Mean_Gr3-1/2(Mean_Gr2+Mean_Gr1)

繰り返されるコントラスト。各グループ(参照を除く)を次のグループと比較します。定数は重み付けされていない総平均です。

C
              Const  A1    A2
Gr1 (A=1)       1   2/3   1/3
Gr2 (A=2)       1  -1/3   1/3
Gr3 (A=3,ref)   1  -1/3  -2/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1         1    -1     0         => Param1 = Mean_Gr1-Mean_Gr2
A2         0     1    -1         => Param2 = Mean_Gr2-Mean_Gr3

質問は次のhow exactly is contrast matrix specified?とおりです。これまでに概説されたコントラストのタイプを見ると、その方法を把握することが可能です。各タイプには、Lの値を「埋める」方法のロジックがあります。ロジックは、各パラメーターの意味-比較する予定のグループの2つの組み合わせを反映しています。

多項式の対比。これらは少し特殊で、非線形です。最初の効果は線形で、2番目は2次、次は3次です。ここで、それらのC行列とL行列がどのように構築されるのか、またそれらが互いに逆行列であるかどうかについては説明しません。:コントラストのこのタイプの深遠@Antoni Parelladaの説明に相談してください12

バランスの取れた設計では、ヘルマート、逆ヘルマート、および多項式コントラストは常に直交コントラストです。上記で検討した他のタイプは、直交コントラストではありません。直交(平衡下)は、コントラストの各行のL sum(Constを除く)がゼロであり、行の各ペアの対応する要素の積の合計がゼロであるコントラストです。

これは、テストしていない多項式を除く、さまざまなコントラストタイプでの角度の類似性測定(コサインおよびピアソン相関)です。kレベルを持つ単一の因子Aを作成しk-1、特定のタイプのコントラスト変数のセットに再コーディングしました。これらのコントラスト変数間の相関またはコサイン行列の値は何ですか?

                     Balanced (equal size) groups     Unbalanced groups
Contrast type             cos        corr              cos        corr

INDICATOR                  0       -1/(k-1)             0         varied
DEVIATION                 .5          .5              varied      varied
SIMPLE                 -1/(k-1)    -1/(k-1)           varied      varied
HELMERT, REVHELMERT        0           0              varied      varied
REPEATED                varied   =  varied            varied      varied

   "=" means the two matrices are same while elements in matrix vary

情報用のテーブルを提供し、コメントを外しています。一般的な線形モデリングをより深く理解するには、ある程度重要です。

ユーザー定義のコントラスト。これは、カスタム比較仮説をテストするために作成するものです。通常、Lの最初の行以外のすべての合計は0である必要があります。これは、その行で2つのグループまたはグループの2つの構成が比較されていることを意味します。

結局のところ、モデルパラメータはどこにありますか?

それらはLの行ですか、列ですか?上記のテキスト全体で、行はコントラスト変数、予測変数を表すため、パラメーターはLの行に対応すると言っていました。列は因子のレベルですが、グループです。これは、たとえば、@ Gus_est回答の理論上のブロックと矛盾しているように見える場合があります。この場合、列は明らかにパラメーターに対応します。

H0:[011000011000011][β0β1β2β3β4]=[000]

実際、矛盾はなく、「問題」への答えは次のとおりです。コントラスト係数行列の行と列の両方がパラメーターに対応しています!コントラスト(コントラスト変数)である行は、最初は因子レベル以外を表すために作成されたものではないことを思い出してください。これらは、省略された参照レベル以外のレベルです。単純なコントラストについては、Lマトリックスのこれら2つの同等のスペルを比較してください。

L
          Gr1   Gr2   Gr3
          A=1   A=2   A=3(reference)
Const     1/3   1/3   1/3 
A1         1     0    -1  
A2         0     1    -1   

L
            b0    b1    b2    b3(redundant)
           Const  A=1   A=2   A=3(reference)
b0  Const   1    1/3   1/3   1/3 
b1  A1      0     1     0    -1  
b2  A2      0     0     1    -1   

1つ目は前に示したもので、2つ目はより「理論的な」(一般的な線形モデル代数の)レイアウトです。単純に、定数項に対応する列が追加されました。パラメーター係数bは行と列にラベルを付けます。パラメータb3は、冗長としてゼロに設定されます。コーディングマトリックスCを取得するために、2番目のレイアウトを擬似的に逆にすることができます。右下の部分には、コントラスト変数A1とA2の正しいコードがまだあります。これは、説明されているすべてのコントラストタイプ(インジケータータイプを除く-このような長方形のレイアウトの擬似逆が正しい結果をもたらさない場合);これはおそらく、単純なコントラストタイプが便宜上作成された理由です:コントラスト係数はインジケータータイプと同じですが、行定数)。

コントラストタイプとANOVAテーブルの結果

(μ1=μ2,μ2=μ3)(μ1=μ23,μ2=μ3)(μ1=μ123,μ2=μ123)(μ1=μ3,μ2=μ3)

一般的な線形モデルパラダイムを介して実装されたANOVAプログラムは、ANOVAテーブル(複合効果:メイン、相互作用)とパラメーター推定値テーブル(基本効果b)の両方を表示できます。一部のプログラムは、ユーザーによる入札としてコントラストタイプに対応する後者のテーブルを出力する場合がありますが、ほとんどの場合、1つのタイプに対応するパラメーターが出力されます-一般に、線形モデルに基づくANOVAプログラムは特にダミー変数をパラメーター化するため(最も便利です)行う)、固定のダミー入力を(任意の)コントラストに解釈する特別な「リンク」式により、コントラストを切り替えます。

一方、ANOVAを回帰として示す私の答えでは、データの適切なコーディングスキーマの概念を導入するために呼び出された入力Xのレベルで「リンク」が実現されます。

通常の回帰によるANOVAコントラストのテストを示すいくつかの例

SPSSでANOVAのコントラストタイプのリクエストを表示し、線形回帰を介して同じ結果を取得します。Yと因子A(3レベル、参照=最後)およびB(4レベル、参照=最後)のデータセットがあります。後で以下のデータを見つけてください。

偏差は、完全要因モデル(A、B、A * B)の例と対照的です。AとBの両方に要求される偏差タイプ(情報のために、要因ごとに異なるタイプを要求することもできます)。

AおよびBのコントラスト係数行列L

            A=1      A=2      A=3
Const     .3333    .3333    .3333 
dev_a1    .6667   -.3333   -.3333
dev_a2   -.3333    .6667   -.3333

            B=1      B=2      B=3      B=4
Const     .2500    .2500    .2500    .2500
dev_b1    .7500   -.2500   -.2500   -.2500 
dev_b2   -.2500    .7500   -.2500   -.2500 
dev_b3   -.2500   -.2500    .7500   -.2500

GLM分散分析を行い、偏差対比の明示的な結果を出力するために、ANOVAプログラム(SPSS内)を要求します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

偏差コントラストタイプは、A = 1対Grand weighted MeanおよびA = 2を同じ平均と比較しました。赤い楕円は、差の推定値とそのp値を示します。因子Aに対する複合効果は、赤い長方形で結ばれています。因子Bの場合、エブリティングは同様に青でインク付けされます。ANOVAテーブルも表示します。組み合わせたコントラスト効果は、その中の主な効果に等しいことに注意してください。

ここに画像の説明を入力してください

次に、物理的に対照的な変数dev_a1、dev_a2、dev_b1、dev_b2、dev_b3を作成し、回帰を実行します。L行列を反転して、コーディングC行列を取得します。

      dev_a1   dev_a2
A=1   1.0000    .0000 
A=2    .0000   1.0000 
A=3  -1.0000  -1.0000

      dev_b1   dev_b2   dev_b3
B=1   1.0000    .0000    .0000 
B=2    .0000   1.0000    .0000 
B=3    .0000    .0000   1.0000 
B=4  -1.0000  -1.0000  -1.0000

X=DCDkk

コントラスト変数を作成したら、さまざまな要因からそれらを乗算して、相互作用を表す変数を取得します(ANOVAモデルは完全階乗でした):dev_a1b1、dev_a1b2、dev_a1b3、dev_a2b1、dev_a2b2、dev_a2b3。次に、すべての予測子で多重線形回帰を実行します。

ここに画像の説明を入力してください

予想どおり、dev_a1はコントラスト「レベル1対平均」と同じ効果です。dev_a2は、「レベル2対平均」などと同じです。インク付けした部分を上記のANOVAコントラスト分析と比較します。

回帰で相互作用変数dev_a1b1、dev_a1b2 ...を使用しなかった場合、結果は主効果のみのANOVAコントラスト分析の結果と一致することに注意してください。

同じ完全要因モデル(A、B、A * B)での単純なコントラストの例。

AおよびBのコントラスト係数行列L

            A=1      A=2      A=3
Const     .3333    .3333    .3333 
sim_a1   1.0000    .0000  -1.0000
sim_a2    .0000   1.0000  -1.0000

            B=1      B=2      B=3      B=4
Const     .2500    .2500    .2500    .2500
sim_b1   1.0000    .0000    .0000  -1.0000
sim_b2    .0000   1.0000    .0000  -1.0000
sim_b3    .0000    .0000   1.0000  -1.0000

単純な対比のANOVA結果:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

全体の結果(ANOVAテーブル)は偏差コントラストの場合と同じです(現在表示されていません)。

物理的なコントラスト変数sim_a1、sim_a2、sim_b1、sim_b2、sim_b3を作成します。L行列の反転によるコーディング行列は(Const列なし)です。

      sim_a1   sim_a2
A=1    .6667   -.3333
A=2   -.3333    .6667
A=3   -.3333   -.3333

      sim_b1   sim_b2   sim_b3
B=1    .7500   -.2500   -.2500
B=2   -.2500    .7500   -.2500
B=3   -.2500   -.2500    .7500
B=4   -.2500   -.2500   -.2500

X=DC

ここに画像の説明を入力してください

前と同様に、回帰とANOVAの結果が一致することがわかります。単純なコントラスト変数の回帰パラメーターは、因子のそのレベルとその基準(この例では最後)のレベルとの差(およびその有意性検定)です。

例で使用される2要素データ:

     Y      A      B
 .2260      1      1
 .6836      1      1
-1.772      1      1
-.5085      1      1
1.1836      1      2
 .5633      1      2
 .8709      1      2
 .2858      1      2
 .4057      1      2
-1.156      1      3
1.5199      1      3
-.1388      1      3
 .4865      1      3
-.7653      1      3
 .3418      1      4
-1.273      1      4
1.4042      1      4
-.1622      2      1
 .3347      2      1
-.4576      2      1
 .7585      2      1
 .4084      2      2
1.4165      2      2
-.5138      2      2
 .9725      2      2
 .2373      2      2
-1.562      2      2
1.3985      2      3
 .0397      2      3
-.4689      2      3
-1.499      2      3
-.7654      2      3
 .1442      2      3
-1.404      2      3
-.2201      2      4
-1.166      2      4
 .7282      2      4
 .9524      2      4
-1.462      2      4
-.3478      3      1
 .5679      3      1
 .5608      3      2
1.0338      3      2
-1.161      3      2
-.1037      3      3
2.0470      3      3
2.3613      3      3
 .1222      3      4

ユーザー定義のコントラストの例。5つのレベルを持つ単一の因子Fがあるとします。ANOVAと回帰で、一連のカスタム直交コントラストを作成してテストします。

ここに画像の説明を入力してください

LL

マトリックスをSPSSのANOVAプロシージャに送信して、コントラストをテストしましょう。マトリックスから任意の1行(コントラスト)を送信することもできますが、前の例のように、回帰を介して同じ結果を受け取りたいため、マトリックス全体を送信します。コントラスト変数のセット(これらが1つの要因に属していることに注意してください!)。直前に行ったように、定数行をLに追加しますが、インターセプトをテストする必要がない場合は、安全に省略できます。

UNIANOVA Y BY F
  /METHOD=SSTYPE(3)
  /INTERCEPT=INCLUDE
  /CONTRAST (F)= special
       (.2 .2 .2 .2 .2
         3  3 -2 -2 -2
         1 -1  0  0  0
         0  0  2 -1 -1
         0  0  0  1 -1)
  /DESIGN=F.

Equivalently, we might also use this syntax (with a more flexible /LMATRIX subcommand)
if we omit the Constant row from the matrix.
UNIANOVA Y BY F
  /METHOD=SSTYPE(3)
  /INTERCEPT=INCLUDE
  /LMATRIX= "User contrasts"
       F  3  3 -2 -2 -2;
       F  1 -1  0  0  0;
       F  0  0  2 -1 -1;
       F  0  0  0  1 -1
  /DESIGN=F.

ここに画像の説明を入力してください

全体的なコントラスト効果(写真の下部)は、予想される全体的なANOVA効果とは異なります。

ここに画像の説明を入力してください

しかし、これは単に定数項をL行列に挿入することの成果物です。というのは、ユーザー定義のコントラストが指定されている場合、SPSSはすでに定数を意味しています。Lから定数行を削除すると、L0コントラストが表示されないことを除いて、同じコントラストの結果(上の写真のマトリックスK)が得られます。そして、全体的なコントラスト効果は全体的なANOVAと一致します。

ここに画像の説明を入力してください

C=L+X=DC

C
      use_f1   use_f2   use_f3   use_f4
F=1    .1000    .5000    .0000    .0000
F=2    .1000   -.5000    .0000    .0000
F=3   -.0667    .0000    .3333    .0000
F=4   -.0667    .0000   -.1667    .5000
F=5   -.0667    .0000   -.1667   -.5000

ここに画像の説明を入力してください

結果の正体を観察します。この例で使用されるデータ:

     Y      F
 .2260      1
 .6836      1
-1.772      1
-.5085      1
1.1836      1
 .5633      1
 .8709      1
 .2858      1
 .4057      1
-1.156      1
1.5199      2
-.1388      2
 .4865      2
-.7653      2
 .3418      2
-1.273      2
1.4042      2
-.1622      3
 .3347      3
-.4576      3
 .7585      3
 .4084      3
1.4165      3
-.5138      3
 .9725      3
 .2373      3
-1.562      3
1.3985      3
 .0397      4
-.4689      4
-1.499      4
-.7654      4
 .1442      4
-1.404      4
-.2201      4
-1.166      4
 .7282      4
 .9524      5
-1.462      5
-.3478      5
 .5679      5
 .5608      5
1.0338      5
-1.161      5
-.1037      5
2.0470      5
2.3613      5
 .1222      5

(M)ANOVA分析以外のコントラスト

名目上の予測子が表示される場合は常に、コントラストの問題(どの予測子に対してどのコントラストタイプを選択するか)が発生します。いくつかのプログラムは、オムニバスの全体的な結果が選択されたタイプに依存しない場合に、内部的にそれを解決します。特定のタイプでより多くの「基本」結果を表示するには、選択する必要があります。カスタム比較仮説をテストする際にも、コントラストを選択(または、むしろ作成)します。

(M)ANOVAおよび対数線型分析、混合および場合によっては一般化された線形モデリングには、さまざまなタイプのコントラストを介して予測変数を処理するオプションが含まれます。しかし、私が示したように、コントラスト変数をコントラスト変数として明示的かつ手動で作成することは可能です。次に、ANOVAパッケージを手元に持っていない場合は、多くの点で幸運にも重回帰を使用してそれを行うことができます。


1
可能であれば、この答えをanovaだけに制限しないでください。[anova]タグは、あなたが私の質問に答えるまでに@amoebaによって追加されましたが、答えをanovaだけに制限したくありません。
好奇心が

CLCL

@amoeba、私は「コントラスト行列」に精通していませんが、それが「M」ANOVA / GLMの公式または少なくとも広義の用語である「コントラスト係数行列」またはL行列の略であることをほぼ確信しています。「コントラストコーディングマトリックス」という用語は、単に設計マトリックスXの集約されたビューであるため、あまり言及されていません。SPSSの上級統計学者Dave Nicholsの論文で使用されている「基底行列」という言葉を見てきました。絶対に、L(公式ラベル)とC(任意ラベル?)行列は非常に密接に関連しているため、一方が他方について議論することはほとんどありません。「コントラストマトリックス」をこのペアと見なすべきだと思います。
ttnphns

1
はい私は同意する。今では、「コントラストマトリックス」はRコミュニティでのみ使用される用語であり、コーディングスキームを指すと確信しています。Gus_estが参照している教科書を確認しましたが、「コントラストマトリックス」という用語は使用せず、「コントラスト」についてのみ語っています(彼の答えの下にある最後のコメントを参照)。OPは明らかに、Rの意味での「コントラストマトリックス」について尋ねていました。
アメーバは、モニカの復活を

1
That L will determine what are you going to test, you aren't free anymore to choose what to testβi=0β1β2/2β3/2=0

17

ベクトルには小文字を使用し、行列には​​大文字を使用します。

次の形式の線形モデルの場合:

y=Xβ+ε

ここで、はランク行列で、と仮定します。 N × K + 1 K + 1 N ε N0 σ 2Xn×(k+1)k+1nεN(0,σ2)

我々は推定することができるによって、以降の逆が存在します。XX-1XYXXβ^(XX)1XyXX

さて、ANOVAの場合、はもうフルランクではありません。これの意味するところは、がなく、一般化された逆行列。X(XX)1(XX)

この一般化された逆行列を使用する際の問題の1つは、一意でないことです。別の問題は、 ため、不偏推定量が見つからないことですβ

β^=(XX)XyE(β^)=(XX)XXβ.

したがって、推定することはできません。しかし、の線形結合を推定できますか?ββ

我々は、の線形結合することを持っている s「は、言う、ある見積りベクトルが存在する場合となるように。βgβaE(ay)=gβ


コントラストは、係数の和した推定可能な機能の特別なケースでありゼロに等しいです。g

また、線形モデルのカテゴリカル予測子のコンテキストでコントラストが生じます。(@amoebaによってリンクされたマニュアルを確認すると、それらのすべてのコントラストコーディングがカテゴリ変数に関連していることがわかります)。次に、@ Curiousと@amoebaに答えると、ANOVAで発生しますが、連続予測変数のみの「純粋な」回帰モデルでは発生しません(カテゴリ変数があるため、ANCOVAのコントラストについても説明できます)。


さて、モデルではここで、はフルランクではなく、、線形関数見積IFFベクトルが存在しているよう。つまり、は行の線形結合です。また、以下の例でわかるように、など、ベクトルには多くの選択肢があります。

y=Xβ+ε
XE(y)=XβgβaaX=ggXaaX=g

例1

一方向モデルを考えます

yij=μ+αi+εij,i=1,2,j=1,2,3.

X=[110110110101101101],β=[μτ1τ2]

そして、であると仮定してを推定したいとします。g=[0,1,1][0,1,1]β=τ1τ2

を生成ベクトルにはさまざまな選択肢があることがわかります:take ; または ; または。aaX=ga=[0,0,1,1,0,0]a=[1,0,0,0,0,1]a=[2,1,0,0,1,2]


例2

双方向モデルを取る: 。

yij=μ+αi+βj+εij,i=1,2,j=1,2

X=[11010110011011010101],β=[μα1α2β1β2]

行の線形結合をとることにより、推定可能な関数を定義できます。X

()行2、3、および4から行1を引く: X

[11010000110110001111]

そして、4行目から行2と3を取得し:

[11010000110110000000]

これにを掛けると、次のます。 β

g1β=μ+α1+β1g2β=β2β1g3β=α2α1

したがって、3つの線形独立な推定可能な関数があります。今、唯一とその係数の和(または、行ので、コントラストを考慮することができますそれぞれのベクトルの合計)はゼロに等しくなります。g2βg3βg


一元均衡モデル

yij=μ+αi+εij,i=1,2,,k,j=1,2,,n.

そして、仮説を検定したいとします。H0:α1==αk

この設定では、行列はフルランクではないため、は一意ではなく、推定できません。推定可能にするために、あれば、にを掛けることができ。つまり、場合、は推定可能です。Xβ=(μ,α1,,αk)βgigi=0igiαiigi=0

なぜこれが本当ですか?

我々は知っている見積IFFであるベクトルが存在しますよう。服用別個の行と:次に、 gβ=(0,g1,,gk)β=igiαiag=aXXa=[a1,,ak]

[0,g1,,gk]=g=aX=(iai,a1,,ak)

結果は次のとおりです。


特定のコントラストをテストしたい場合、仮説はです。例えば:、これはと書くことができるので、と平均を比較しています。。H0:giαi=0H0:2α1=α2+α3H0:α1=α2+α32α1α2α3

この仮説はとして表現できますここで。この場合、で、次の統計でこの仮説をテストします H0:gβ=0g=(0,g1,g2,,gk)q=1

F=[gβ^][g(XX)g]1gβ^SSE/k(n1).

場合は、で は相互に直交するコントラスト()、をテストできます統計、ここでH0:α1=α2==αkGβ=0

G=[g1g2gk]
gigj=0H0:Gβ=0F=SSHrank(G)SSEk(n1)SSH=[Gβ^][G(XX)1G]1Gβ^

例3

これをよりよく理解するために、使用して、をテストしたいとしますこれはとして表すことができます k=4H0:α1=α2=α3=α4,

H0:[α1α2α1α3α1α4]=[000]

または、: H0:Gβ=0

H0:[011000101001011]G,our contrast matrix[μα1α2α3α4]=[000]

したがって、コントラストマトリックスの 3 行は、対象のコントラストの係数によって定義されていることがわかります。また、各列は、比較に使用している因子レベルを示しています。


私が書いたほとんどすべては、Rencher&Schaalje、「統計の線形モデル」、第8章と第13章(例、定理の表現、いくつかの解釈)から(恥知らずに)コピーされましたが、「コントラストマトリックス」 「(実際、この本には記載されていません)ここで与えられた定義は私自身のものでした。


OPのコントラストマトリックスを私の答えに関連付ける

OPのマトリックスの1つ(このマニュアルにも記載されています)は次のとおりです。

> contr.treatment(4)
  2 3 4
1 0 0 0
2 1 0 0
3 0 1 0
4 0 0 1

この場合、因子には4つのレベルがあり、次のようにモデルを記述できます。これは、行列形式で次のように記述できます。

[y11y21y31y41]=[μμμμ]+[a1a2a3a4]+[ε11ε21ε31ε41]

または

[y11y21y31y41]=[11000101001001010001]X[μa1a2a3a4]β+[ε11ε21ε31ε41]

現在、同じマニュアルのダミーコーディングの例では、参照グループとしてを使用しています。したがって、行列他のすべての行から行1を減算すると、ます。a1XX~

[11000011000101001001]

contr.treatment(4)マトリックスの行と列の数え方を観察すると、すべての行と因子2、3、および4に関連する列のみが考慮されていることがわかります。上記の行列の結果:

[000100010001]

このように、contr.treatment(4)マトリックスは、因子2、3、4を因子1と比較し、因子1を定数と比較していることを示しています(これは上記の私の理解です)。

そして、定義し(つまり、上記のマトリックスで合計が0になる行のみを取得します): G

[011000101001001]

をテストして、コントラストの推定値を見つけることができます。H0:Gβ=0

hsb2 = read.table('http://www.ats.ucla.edu/stat/data/hsb2.csv', header=T, sep=",")

y<-hsb2$write

dummies <- model.matrix(~factor(hsb2$race)+0)
X<-cbind(1,dummies)

# Defining G, what I call contrast matrix
G<-matrix(0,3,5)
G[1,]<-c(0,-1,1,0,0)
G[2,]<-c(0,-1,0,1,0)
G[3,]<-c(0,-1,0,0,1)
G
     [,1] [,2] [,3] [,4] [,5]
[1,]    0   -1    1    0    0
[2,]    0   -1    0    1    0
[3,]    0   -1    0    0    1

# Estimating Beta

X.X<-t(X)%*%X
X.y<-t(X)%*%y

library(MASS)
Betas<-ginv(X.X)%*%X.y

# Final estimators:
G%*%Betas
          [,1]
[1,] 11.541667
[2,]  1.741667
[3,]  7.596839

そして、推定値は同じです。


@ttnphnsの答えを私のものに関連付けます。

最初の例では、セットアップに3つのレベルを持つカテゴリカルファクターAがあります。これをモデルとして書くことができます(簡単にするために、): j=1

yij=μ+ai+εij,for i=1,2,3

そして、、またはをテストし、を参照グループ/因子としてテストするとします。H0:a1=a2=a3H0:a1a3=a2a3=0a3

これは、次のように行列形式で記述できます。

[y11y21y31]=[μμμ]+[a1a2a3]+[ε11ε21ε31]

または

[y11y21y31]=[110010101001]X[μa1a2a3]β+[ε11ε21ε31]

ここで、行1と行2から行3を引くと、なります(と呼びます。XX~

X~=[010100111001]

上記のマトリックスの最後の3列を@ttnphnsのマトリックス比較します。順序にもかかわらず、それらは非常に似ています。実際、乗算すると、次のようになります。LX~β

[010100111001][μa1a2a3]=[a1a3a2a3μ+a3]

したがって、推定可能な関数があります: ; ; 。c1β=a1a3c2β=a2a3c3β=μ+a3

以来、我々は、基準グループ(A_3)の係数に私達の定数を比較することを上から見ます。group1の係数からgroup3の係数。そしてgroup2からgroup3の係数。または、@ ttnphnsが言ったように、「係数に続いて、推定定数が参照グループのY平均に等しくなることがわかります。パラメータb1(つまり、ダミー変数A1の)は、差に等しくなります。 Yはグループ3の平均です。パラメータb2は差です。グループ2の平均からグループ3の平均を引いたものです。H0:ciβ=0

さらに、(コントラストの定義に従って:推定可能な関数+行の合計= 0)、ベクトルとがコントラストであることを観察します。また、制約の行列を作成すると、次のようになります。c1c2G

G=[01010011]

をテストするためのコントラストマトリックスH0:Gβ=0

@ttnphnsの「ユーザー定義のコントラストの例」と同じデータを使用します(ここで書いた理論は、相互作用のあるモデルを考慮するためにいくつかの修正が必要であるため、この例を選択しました。 、コントラストの定義と-私が呼ぶもの-コントラストマトリックスは同じままです。

Y<-c(0.226,0.6836,-1.772,-0.5085,1.1836,0.5633,0.8709,0.2858,0.4057,-1.156,1.5199,
     -0.1388,0.4865,-0.7653,0.3418,-1.273,1.4042,-0.1622,0.3347,-0.4576,0.7585,0.4084,
     1.4165,-0.5138,0.9725,0.2373,-1.562,1.3985,0.0397,-0.4689,-1.499,-0.7654,0.1442,
     -1.404,-0.2201,-1.166,0.7282,0.9524,-1.462,-0.3478,0.5679,0.5608,1.0338,-1.161,
     -0.1037,2.047,2.3613,0.1222)

F_<-c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,
    5,5,5,5,5,5,5,5,5,5,5)

dummies.F<-model.matrix(~as.factor(F_)+0)

X_F<-cbind(1,dummies.F)

G_F<-matrix(0,4,6)
G_F[1,]<-c(0,3,3,-2,-2,-2)
G_F[2,]<-c(0,1,-1,0,0,0)
G_F[3,]<-c(0,0,0,2,-1,-1)
G_F[4,]<-c(0,0,0,0,1,-1)

 G 
 [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    0    3    3   -2   -2   -2
[2,]    0    1   -1    0    0    0
[3,]    0    0    0    2   -1   -1
[4,]    0    0    0    0    1   -1

# Estimating Beta 

X_F.X_F<-t(X_F)%*%X_F
X_F.Y<-t(X_F)%*%Y

Betas_F<-ginv(X_F.X_F)%*%X_F.Y

# Final estimators:
G_F%*%Betas_F
           [,1]
[1,]  0.5888183
[2,] -0.1468029
[3,]  0.6115212
[4,] -0.9279030

したがって、同じ結果が得られます。


結論

存在しないと私には思える1つのコントラスト行列が何であるかの決定的な概念は。

Scheffe(「分散分析」、66ページ)によって与えられるコントラストの定義をとると、係数の合計がゼロになる推定可能な関数であることがわかります。したがって、カテゴリ変数の係数の異なる線形結合をテストする場合は、行列を使用します。これは、行の合計がゼロになる行列です。これらの係数を推定可能にするために、係数の行列を乗算するために使用します。その行は、テストしているコントラストのさまざまな線形の組み合わせを示し、その列は、比較されている因子(係数)を示しています。G

上記の行列は、各行がコントラストベクトル(合計は0)で構成されるように構成されているため、私にとってはを「コントラスト行列」と呼ぶのが理にかなっています(モナハン-「線形モデルの入門書」-この用語も使用します)。GG

しかし、@ ttnphnsで美しく説明されているように、ソフトウェアは何かを「コントラストマトリックス」と呼んでおり、マトリックスとSPSSの組み込みコマンド/マトリックス(@ttnphnsとの直接的な関係を見つけることができませんでした)またはR(OPの質問)、類似点のみ。しかし、ここで紹介する素晴らしい議論/協力は、そのような概念と定義を明確にするのに役立つと信じています。G


可能であれば、この答えをanovaだけに制限しないでください。[anova]タグは、あなたが私の質問に答えるまでに@amoebaによって追加されましたが、答えをanovaだけに制限したくありません。
好奇心が

このような大きな更新に感謝します。上記の私のコメントのうち、今では時代遅れのものを削除しました(最初のコメントなど、自分のコメントを削除できます)。しかし、今ではそれはあなたの中にいる「コントラストマトリックス」私には明らかである(とモナハンの)感覚が何かある全く異なることがで使われている意味での「コントラストマトリックス」から手動でこのRともここで元の質問で(呼び出しをttnphns何C-matrix)。この違いについて答えのどこかにメモをとっておけば、それは理にかなっていると思います。
アメーバは、モニカを復活させる

例1から始まる理解に問題があります。表記とは何ですか?何が、何列がODん表しますか?その定数項(1の列)と2つのダミー変数ですか?ijyijaiX
ttnphns

@ttnphns:はインデックスグループです(例1には2つのグループがあります)は各グループ内のデータポイントにインデックスを付けています。は定数で、は各グループの定数で、はグループ平均です(したがって、は総平均で、は総平均からのグループ平均の偏差です)。列は定数項であり、2つのダミーです。ijμαiμ+αiμαiX
アメーバは、モニカを復活させる

この答えをありがとう。しかし、私はおそらくそれを理解することもできる時間もないでしょう。そして、私は数学を勉強しました:-)私は答えとして非常に単純な定義を期待してい
好奇心が

7

「コントラスト行列」は統計文献の標準用語ではありません。[少なくとも] 2つの異なる意味での関連があります。

  1. ANOVA回帰で特定の帰無仮説を指定する行列(コーディングスキームとは無関係)。各行はコントラストです。 これはこの用語の標準的な使用法ではありません。複雑な質問に対する Christensen Plane Answersで全文検索を使用し、Rutherford ANOVAとANCOVAを紹介しました。GLMアプローチ、および統計における Rencher&Schaalje 線形モデル。彼らはすべて「コントラスト」について多くを語っていますが、「コントラストマトリックス」という用語に言及することはありません。ただし、@ Gus_estが見つけたように、この用語線形モデルのモナハンの入門書で使用されています。

  2. ANOVA回帰の設計行列のコーディングスキームを指定する行列。これは、Rコミュニティで「コントラストマトリックス」という用語がどのように使用されるかです(このマニュアルまたはこのヘルプページを参照してください)。

@Gus_estによる答えは、最初の意味を探ります。@ttnphnsの答えは2番目の意味を探ります(彼はそれを「コントラストコーディングマトリックス」と呼び、SPSS文献の標準用語である「コントラスト係数マトリックス」についても説明しています)。


私の理解では、あなたは#2の意味について尋ねていたので、ここに定義があります:

Rの意味での「コントラストマトリックス」は、マトリックスここで、はグループの数であり、グループメンバーシップが設計マトリックスエンコードされる方法を指定します。具体的には、場合番目の観察は、グループに属する次いで。k×kCkXmiXmj=Cij

注:通常、最初の列はすべて1の列(設計行列の切片列に対応)です。のようなRコマンドを呼び出すと、この最初の列がない行列が得られます。CCcontr.treatment(4)C


この回答を拡張して、@ ttnphnsと@Gus_estによる回答がどのように組み合わされるかについての拡張コメントを作成する予定です。


The answer by @Gus_est explores the first meaning. The answer by @ttnphns explores the second meaning.抗議します。(そして、午前聞いて驚いた-私たちの両方がMTYの回答にコメントで定義の長い会話をしました後。)私は二つの用語を招待:コントラスト係数 L-行列別名行列(行はコントラスト、手段のリニアcombibnationです)、そしてコントラストがコーディングスキーママトリックス、別名C行列。両方が関連しているので、両方について説明しました。
ttnphns

(続き)コントラスト係数のL行列は、テキストおよびSPSSのドキュメントで使用されるモデル線形ANOVA /一般に、標準的な用語であり、例えば。コーディングスキームはここを見てください
ttnphns

You were asking about meaning #2実際、OPが意味する用語の意味はわかりません。OPは、コントラストコーディングスキームの例をいくつか表示しました。必ずしも、L行列に興味がないという意味ではありません。
ttnphns

1
今、私たちがちょっと同じ言語を話せてうれしいです。少なくともそうだ。回答を達成し、Gusのレポートとttnphnsのレポートがどのように同じ結果に変換されるかを示すことができれば、特に訪問者の読者にとっては素晴らしいことです。達成したい場合。
ttnphns

1
(続き)もちろん、両方の「アプローチ」のLマトリックスは同じです(そして、不思議なGマトリックスは必要ありません)。2つの等価経路ことを示している(Lは、任意であり、Xはダミーである)L -> XC -> regression -> resultX -> [regression -> adjusting to test for L] -> result同じ結果を残します。2番目のパスは、ANOVAプログラムの実行方法です(括弧で囲まれた部分[])。最初のパスは、回帰プログラムのみでコントラストをどのように解くことができるかについての教訓的なデモンストレーションです。
ttnphns

3

対照は、2つのグループの差をゼロと比較することにより、2つのグループを比較します。コントラストマトリックスでは、行はコントラストであり、ゼロに追加する必要があり、列はグループです。例えば:

比較したい4つのグループA、B、C、Dがある場合、コントラストマトリックスは次のようになります。

グループ:ABCD
A vs B:1 -1 0 0
C vs D:0 0 -1 1
A、B vs D、C:1 1 -1 -1

産業実験の理解からの言い換え:

比較するk個のオブジェクトのグループがあり、k個のサブグループの平均がある場合、k個の係数のセット[c1、c2、c3、... cj、...、ckによって、このkオブジェクトのセットにコントラストが定義されます。 ]合計がゼロになります。

Cをコントラストにします。

C=c1μ1+c2μ2+...cjμj+...ckμk

C=j=1kcjμj

制約付き

j=1kcj=0

ゼロの係数が割り当てられたサブグループは、比較から除外されます。(*)

比較を実際に定義するのは、選択された値ではなく、係数の符号です。係数の絶対値は、係数の合計がゼロである限り何でもかまいません。

(*)統計ソフトウェアごとに、どのサブグループを除外/含めるかを示す方法が異なります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.