태그 보관물: categorical-encoding

categorical-encoding

대비 행렬이란 무엇입니까? 1

무엇 정확히 대비 매트릭스 (용어, 범주 예측과 분석에 관한)이며 어떻게 정확히 대비 행렬을 지정? 즉, 열이란 무엇이며, 행은 무엇이며, 해당 행렬의 제약 조건은 무엇이며 열 j및 행의 숫자는 무엇을 i의미합니까? 나는 문서와 웹을 살펴 보려고했지만 모든 사람들이 그것을 사용하지만 아직 어디에도 정의가없는 것 같습니다. 사용 가능한 사전 정의 된 대비를 역 엔지니어링 할 수 있지만 그 정의가 없으면 정의를 사용할 수 있어야한다고 생각합니다.

> 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



답변

@Gus_est의 좋은 대답에서 명암 계수 매트릭스 L 의 본질에 대한 수학적 설명을 수행했습니다 ( C로 표시 ). 는 일 변량 일반 선형 모델링에서 가설을 검정하기위한 기본 공식입니다 (여기서 는 매개 변수이고 는 귀무 가설을 나타내는 추정 가능한 함수 임).b k

Lb=k

b

k

내 대답은 스타일이 매우 다릅니다. 그것은 자신이 “수학자”보다는 “엔지니어”라고 생각하는 데이터 분석가를위한 것이므로, (표면적) “실제”또는 “실용적”계정이 될 것이며 주제에 대한 답변에 초점을 맞출 것입니다. 대비 계수는 평균 및 (2) 선형 회귀 프로그램을 통해 분산 분석을 수행하는 데 어떻게 도움이 될 수 있습니까 ?

더미 변수를 사용한 회귀 분석 : 대비 도입 .

종속 변수 Y 와 3 단계 (그룹)의 범주 형 요인 A를 갖는 분산 분석을 상상해 봅시다 . 의 집합으로 요인 회전을 통해 – 우리가보기의 선형 회귀 지점에서 ANOVA 언뜻 보자 더미 (일명 표시 일명 처리 일명 하나의 핫 이진 변수). 이것은 우리의 독립적 인 세트 X 입니다. (아마도 모든 사람들은 더미 예측 변수를 사용한 선형 회귀와 같은 방법으로 분산 분석을 수행 할 수 있다고 들었습니다.)

세 그룹 중 하나가 중복되므로 두 개의 더미 변수 만 선형 모형에 입력됩니다. 그룹 3을 중복 또는 참조로 지정합시다. X를 구성하는 더미 예측 변수대비 변수 , 즉 요인의 범주를 나타내는 기본 변수 의 예입니다 . X 자체는 종종 디자인 매트릭스라고합니다. 이제 데이터를 중심에두고 회귀 계수 (파라미터)를 찾는 다중 선형 회귀 프로그램에서 데이터 집합을 입력 할 수 있습니다. , 여기서 ” + “는 의사 역수를 나타냅니다.

b=(XX)1Xy=X+y

동등한 패스는 센터링을 수행하지 않고 X 에서 1 초의 첫 번째 열로 모델의 상수 항을 추가 한 다음 위와 같은 방식으로 계수를 추정합니다. 입니다. 여태까지는 그런대로 잘됐다.

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 1

C+=L

L=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- 행렬은 대비 계수를 보여주는 행렬입니다 . 모든 행 (행 상수 제외)의 명암 계수의 합은 입니다. 이러한 모든 행을 대비 라고합니다 . 행은 대비 변수에 해당하고 열은 그룹, 요인 수준에 해당합니다.

0

명암 계수의 중요성은 각 효과 ( X로 회귀 분석 한대로 추정 된 각 매개 변수 b ) 가 차이 (그룹 비교) 의 의미로 무엇을 나타내는 지 이해 하는 데 도움 이된다는 것 입니다. 계수에 따라 추정 상수가 기준 그룹의 Y 평균과 동일 함을 즉시 알 수 있습니다. 그 파라미터 b1 (즉, 더미 변수 A1)은 그 차이와 동일 할 것이다 : 그룹 1의 Y 평균-그룹 3의 Y 평균-; 매개 변수 b2는 차이입니다. group2의 평균에서 group3의 평균을 뺀 값입니다.

참고 : 바로 위 (및 아래)의 “평균” 은 그룹에서 관찰 된 평균이 아니라 그룹에 대한 추정 된 (모델에 의해 예측 된) 평균을 의미합니다.

유익한 설명 : 이진 예측 변수 로 회귀를 수행 할 때 이러한 변수의 매개 변수는 variable = 1과 variable = 0 그룹 간의 Y 차이에 대해 알려줍니다. 그러나 이진 변수가- 수준 요인을 나타내는 k-1 더미 변수 세트 인 k경우 매개 변수의 의미가 좁아집니다 . 변수 = 1과 (변수 = 0뿐만 아니라 짝수) reference_variable 사이의 Y 차이를 나타냅니다. 그룹 1 개

처럼 ( 곱한 후 ) 우리에게 b의 값을 가져옵니다 . 마찬가지로 는 b의 의미를 가져옵니다 . y ( a g g r X ) +

X+

y

(aggrX)+

자, 우리는 명암 계수 행렬 L 의 정의를주었습니다 . 이기 때문에 대칭 적으로 이므로 범주 형 인자를 기반으로 대비 행렬 L을 얻었거나 구성한 경우 (들) – 테스트 할 것을 L 분석에서, 다음에 대한 단서가 어떻게 코드를 제대로 대비 예측 변수에 X 테스트하기 위해 L을 일반 회귀를 통해 소프트웨어 (즉, 그냥 “연속”변수를 표준 OLS를 처리 한 범주 형 요소를 전혀 인식하지 못함). 본 예에서, 코딩은 인디케이터 (더미) 타입 변수였다. C = L + = L 1

L=C+=C1

C=L+=L1

회귀 분석으로서의 분산 분석 : 기타 대비 유형 .

범주 형 요인 A에 대한 다른 대비 유형 (= 코딩 체계, = 매개 변수화 스타일)을 간단히 살펴 보겠습니다 .

편차 또는 효과 대비 . CL 행렬 및 매개 변수 의미 :

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

Helmert는 대조적 입니다. 각 그룹 (참조 제외)을 후속 그룹의 비가 중 평균과 비교하며, 상수는 비가 중 총 평균입니다. CL matrces :

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

차이 또는 역 Helmert 대비 . 각 그룹 (참조 제외)을 이전 그룹의 비가 중 평균과 비교하고 상수는 가중되지 않은 총 평균입니다.

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 차 효과이며, 다음 효과는 3 차 효과입니다. 나는 여기서 CL 행렬이 어떻게 구성되고 서로 반대인지에 대한 질문을 설명하지 않습니다. 이러한 유형의 대비에 대한 심오한 @Antoni Parellada의 설명을 참조하십시오 : 1 , 2 .

균형 잡힌 설계에서 Helmert, 역 Helmert 및 다항 대비는 항상 직교 대비 입니다. 위에서 고려한 다른 유형은 직교 대비가 아닙니다. 직교 (균형 상태 하에서)는 대조적 으로 각 행의 행렬 L 합 (Const 제외)이 0 이고 각 행 쌍의 해당 요소의 곱의 합 이 0 인 대비 입니다.

다음은 테스트하지 않은 다항식을 제외하고 다른 대비 유형에서 각도 유사성 측정 (코사인 및 피어슨 상관 관계)입니다. 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이어야합니다. 즉, 두 행 또는 두 그룹의 컴포지션이 해당 행에서 비교됩니다 (즉, 해당 매개 변수로).

결국 모델 매개 변수는 어디에 있습니까 ?

그들은 L 의 행 또는 열 입니까? 위의 텍스트에서 매개 변수는 L 의 행에 해당한다고 말하고 있습니다. 행은 대비 변수, 예측 변수를 나타냅니다. 열은 요인 수준이지만 그룹입니다. 예를 들어 @Gus_est answer의 이론적 블록과 모순되는 것처럼 보일 수 있습니다. 여기서 열은 매개 변수와 명확하게 일치합니다.

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

실제로 모순이 없으며 “문제”에 대한 대답은 다음과 같습니다. 명암 계수 매트릭스의 행과 열 모두 매개 변수에 해당합니다! 대비 (대비 변수) 행은 처음에 요인 수준 이외의 다른 것을 나타 내기 위해 만들어 졌다는 점을 기억하십시오. 생략 된 기준을 제외한 수준입니다. 간단한 대비를 위해 L- 행렬의이 두 가지 철자를 비교해보십시오 .

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

첫 번째는 내가 이전에 보여준 것입니다. 두 번째는 더 일반적인 이론적 대수학 레이아웃입니다. 간단히 말하면 상수 항에 해당하는 열이 추가되었습니다. 모수 계수 b 는 행과 열에 레이블을 지정합니다. 중복 매개 변수 b3은 0으로 설정됩니다. 코딩 행렬 C 를 얻기 위해 두 번째 레이아웃을 의사 역으로 뒤집을 수 있습니다. 오른쪽 아래 부분에서 여전히 대비 변수 A1 및 A2에 대한 올바른 코드를 찾을 수 있습니다. 설명 된 모든 대비 유형 (표시기 유형 제외)-직사각형 레이아웃의 의사 역수가 올바른 결과를 제공하지 않는 경우가 있습니다. 이는 편의상 단순 대비 유형이 고안된 이유 일 수 있습니다. 행 상수).

대비 유형 및 분산 분석표 결과 .

분산 분석표는 효과 (예 : 요인 A 의 주 효과)를 결합한 반면, 대비는 대비 변수 (A1, A2 및 (생략, 참조) A3)의 기본 효과에 해당합니다. 기본 항에 대한 모수 추정치는 선택된 대비의 유형에 따라 다르지만, 조합 된 결과 (평균 제곱 및 유의 수준)는 유형에 관계없이 동일합니다. A 의 세 가지 평균이 모두 같은 Omnibus ANOVA (즉, 단방향) 귀무 가설 은 여러 등가 문에 표시 될 수 있으며 각각 특정 대비 유형에 해당합니다. = 반복 유형; = 헬머 트 유형;

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

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

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

= 편차 유형; = 표시기 또는 단순 유형

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

일반 선형 모형 패러다임을 통해 구현 된 ANOVA 프로그램은 ANOVA 테이블 (결합 효과 : 주, 상호 작용)과 모수 추정치 테이블 (기본 효과 b )을 모두 표시 할 수 있습니다 . 일부 프로그램은 사용자가 입찰 한대로 후자의 테이블에 대비 유형에 해당하는 후자의 테이블을 출력 할 수 있지만, 대부분의 선형 선형 모델을 기반으로하는 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분석을 수행하고 편차 대비에 대한 명시 적 결과를 출력하도록 SPSS의 ANOVA 프로그램을 요청하십시오 .

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

편차 대비 유형은 A = 1 대 그랜드 비가 중 평균과 A = 2를 동일한 평균으로 비교했습니다. 빨간색 타원은 차이 추정치 및 p- 값을 잉크로 만듭니다. 요인 A에 결합 된 효과는 빨간색 사각형으로 표시됩니다. 요인 B의 경우 모든 항목이 파란색으로 유사하게 표시됩니다. ANOVA 테이블도 표시합니다. 조합 된 대비 효과는 기본 효과와 동일합니다.

여기에 이미지 설명을 입력하십시오

이제 물리적 대비 변수 dev_a1, dev_a2, dev_b1, dev_b2, dev_b3을 만들고 회귀 분석을 실행 해 봅시다. 코딩 C 행렬 을 얻기 위해 L 행렬을 반전시킵니다 :

      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

1의 열 (상수)은 생략됩니다. 내부적으로 변수를 중심에두고 특이성에 관대하지 않는 정규 회귀 프로그램을 사용하기 때문에 상수 상수는 필요하지 않습니다. 이제 데이터 X를 작성하십시오 . 실제로 이러한 값으로 인수를 수동으로 코딩 할 필요가 없습니다. 1 스트로크 솔루션은 . 여기서 는 표시기 (더미) 변수, 모든 열 ( 레벨 수) 한마디로).

X=DC

D

kk

대비 변수를 생성 한 후 서로 다른 요인의 변수를 곱하여 상호 작용을 나타내는 변수를 얻습니다 (ANOVA 모델은 완전 계승) : dev_a1b1, dev_a1b2, dev_a1b3, dev_a2b1, dev_a2b2, dev_a2b3. 그런 다음 모든 예측 변수로 여러 선형 회귀 분석을 실행하십시오.

여기에 이미지 설명을 입력하십시오

예상 한대로 dev_a1은 “Level 1 vs Mean”대비와 효과가 같습니다. dev_a2는 “Level 2 vs Mean”등과 동일합니다. 위의 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 테이블)는 편차 대비 (지금 표시되지 않음)와 동일합니다.

물리적으로 대비되는 변수 sim_a1, sim_a2, sim_b1, sim_b2, sim_b3을 만듭니다. L- 행렬의 반전에 의한 코딩 매트릭스는 (콘 스트 열없이) :

      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

데이터 를 만들고 주 효과 대비 변수의 곱으로 상호 작용 대비 변수 sim_a1b1, sim_a1b2 등을 추가합니다. 회귀를 수행하십시오.

X=DC

여기에 이미지 설명을 입력하십시오

이전과 마찬가지로 회귀 및 분산 분석 결과가 일치 함을 알 수 있습니다. 단순 대비 변수의 회귀 모수는 해당 요인 수준과 해당 요인의 기준 (이 예에서는 마지막) 수준의 차이 (및 유의성 검정)입니다.

예제에 사용 된 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 를 보자 . 분산 분석 및 회귀 분석에서 사용자 정의 직교 대비 세트를 작성하고 테스트합니다.

여기에 이미지 설명을 입력하십시오

사진은 4 개의 직교 대비를 얻기 위해 5 개의 그룹을 결합 / 분할하는 과정 (가능한 것 중 하나)을 보여 주며,이 과정의 결과 인 L 행렬 대비 계수는 오른쪽에 있습니다. 모든 대비는 서로 직교합니다. 은 대각선입니다. (이 예제 스키마는 몇 년 전에 심리학자 통계에 관한 D. Howell의 저서에서 복사 한 것입니다.)

LL

SPSS의 ANOVA 프로 시저에 매트릭스를 제출하여 대비를 테스트 해 봅시다. 글쎄, 우리는 행렬에서 하나의 행 (대비)을 제출 할 수도 있지만 이전 예제에서와 같이 회귀를 통해 동일한 결과를 얻고 싶기 때문에 회귀 프로그램이 완전해야하기 때문에 전체 행렬을 제출합니다. 대비 변수 세트 (한 변수에 함께 속한다는 것을 인식하기 위해!) 인터셉트를 테스트 할 필요가없는 경우 안전하게 생략 할 수 있지만 이전과 마찬가지로 상수 행을 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.

여기에 이미지 설명을 입력하십시오

전체 대비 효과 (그림 하단)는 예상되는 전체 분산 분석 효과와 동일하지 않습니다.

여기에 이미지 설명을 입력하십시오

그러나 그것은 단순히 상수 항을 L 행렬에 삽입 한 결과입니다. SPSS는 사용자 정의 대비가 지정된 경우 이미 상수를 의미합니다. L에서 상수 행을 제거하면 L0 대비가 표시되지 않는다는 점을 제외하고 동일한 대비 결과 (위 그림의 행렬 K)가 표시됩니다. 전체 대비 효과는 전체 분산 분석과 일치합니다.

여기에 이미지 설명을 입력하십시오

자, 이제 명암 변수를 물리적으로 만들고 회귀에 제출하십시오. , 입니다. X = D C

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 패키지가 없다면 여러 가지 회귀 분석을 통해 많은 행운을 빕니다.


답변

벡터에는 소문자를, 행렬에는 대문자를 사용합니다.

다음과 같은 형식의 선형 모형의 경우 :

y=Xβ+ε

여기서 A는 랭크의 매트릭스 , 우리가 가정 .

X

n×(k+1)

k+1n

εN(0,σ2)

의해 을 추정 할 수 있습니다 . 역으로 존재한다.

β^

(XX)1Xy

XX

이제 ANOVA 사례의 경우, 가 더 이상 전체 순위가 아닙니다. 이것의 의미는 없고 일반화 된 역 .

X

(XX)1

(XX)

이 일반화 된 역을 사용하는 문제 중 하나는 고유하지 않다는 것입니다. 또 다른 문제는 이기 때문에
대한 편견 추정치를 찾을 수 없다는 것입니다.

β

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

따라서 추정 할 수 없습니다 . 그러나 의 선형 조합을 추정 할 수 있습니까?

β

β

우리는의 선형 조합하는 것이이 의이 ‘말 이다 추정 할 벡터가 존재하는 경우 그러한를 .

β

gβ

a

E(ay)=gβ


대조 의 계수의 합으로 추정되는 함수의 특별한 경우이다 제로와 동일하다.

g

그리고 선형 모형에서 범주 형 예측 변수와 관련하여 대비가 나타납니다. ( @amoeba로 연결된 설명서 를 확인하면 모든 대비 코딩이 범주 형 변수와 관련이 있음을 알 수 있습니다). 그런 다음 @Curious와 @amoeba에 대답하면 ANOVA에서 발생하지만 연속 예측 변수 만있는 “순수한”회귀 모델에서는 발생하지 않습니다 (일부 범주 형 변수가 있으므로 ANCOVA의 대비에 대해서도 이야기 할 수 있음).


이제 에서 는 전체 순위가 아니며 선형 함수 어림 IFF하는 벡터가 존재할 되도록 . 즉, 은 행의 선형 조합입니다 . 또한, 상기 벡터의 다수의 선택 사항이있다 되도록, 우리는 아래의 예에서 볼 수 있듯이.

y=Xβ+ε

X

E(y)=Xβ

gβ

a

aX=g

g

X

a

aX=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

을 산출 벡터의 선택이 다르다는 것을 알 수 있습니다 : ; 또는 ; 또는 입니다.

a

aX=g

a=[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]

그리고 네 번째 행에서 행 2와 3을 가져옵니다.

[11010000110110000000]

이것을 곱 수율 것은 :

β

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

따라서 우리는 3 개의 선형 독립 추정 함수를 가지고 있습니다. 이제 계수 (또는 행의 합계)이므로 및 대비로 간주 될 수 있습니다. 각각의 벡터 )의 합은 0과 같습니다.

g2β

g3β

g


일방향 균형 모델

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

그리고 가설 를 테스트한다고 가정 합니다.

H0:α1==αk

이 설정에서 행렬 은 전체 순위가 아니므로 은 고유하지 않으며 추정 할 수 없습니다. 우리가 추정 할 곱할 수 있도록하려면 의해 ,만큼 . 즉, 는 iff 추정 할 수 있습니다.

X

β=(μ,α1,,αk)

β

g

igi=0

igiαi

igi=0

왜 이것이 사실입니까?

우리는 는 벡터가있는 경우 추정 할 수 있음을 알고 있습니다 되도록 . 및 의 고유 한 행을 취한 후

gβ=(0,g1,,gk)β=igiαi

a

g=aX

X

a=[a1,,ak]

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

결과는 다음과 같습니다.


특정 대비를 테스트하려면 가설은 입니다. 예를 들어 : 로 기록 될 수있는 , 우리가 비교되도록 의 평균에 및 .

H0:giαi=0

H0:2α1=α2+α3

H0:α1=α2+α32

α1

α2

α3

이 가설은 으로 표현 될 수 있습니다 여기서 입니다. 이 경우 이고 다음 통계를 사용하여이 가설을 검정합니다.

H0:gβ=0

g=(0,g1,g2,,gk)

q=1

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

경우 는 여기서 행렬

는 서로 직교 대비입니다 ( ), 통계학 사용하여 테스트 할 수 있습니다 여기서

H0:α1=α2==αk

Gβ=0

G=[g1g2gk]

gigj=0

H0:Gβ=0

F=SSHrank(G)SSEk(n1)

SSH=[Gβ^][G(XX)1G]1Gβ^

.


실시 예 3

이것을 더 잘 이해하기 위해 사용 하고 을 테스트하려고한다고 가정합시다 으로 표현할 수 있습니다

k=4

H0:α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 행은 관심 대조의 계수에 의해 정의됩니다. 그리고 각 열은 비교에 사용중인 요인 수준을 제공합니다.


내가 작성한 거의 모든 것은 통계학의 선형 모델, 8 장과 13 장 (예제, 정리의 표현, 일부 해석)에서 Rencher & Schaalje (무모하게)에서 가져왔다. “(실제로이 책에는 표시되지 않음)와 여기에 제공된 정의는 저의 것입니다.


OP의 대비 매트릭스를 내 대답과 관련시키기

OP의 매트릭스 중 하나 (이 매뉴얼 에서도 찾을 수 있음 )는 다음과 같습니다.

> 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 행 빼기 , 수율, :

a1

X

X~

[11000011000101001001]

contr.treatment (4) 행렬에서 행과 열의 개수를 관찰하면 모든 행과 요인 2, 3 및 4와 관련된 열만 고려한다는 것을 알 수 있습니다. 위의 행렬 수율 :

[000100010001]

이 방법의 contr.treatment (4) 행렬은 요인 1 요인 2, 3, 4를 비교하고, 상수 요인 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의 답변과 관련이 있습니다.

첫 번째 예에서 설정에는 세 가지 수준이있는 범주 형 요인 A가 있습니다. 이것을 모델로 작성할 수 있습니다 (간단하게하기 위해 ) :

j=1

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

그리고 , 또는 , 을 참조 그룹 / 인수 로 테스트한다고 가정 합니다.

H0:a1=a2=a3

H0:a1a3=a2a3=0

a3

이것은 와 같이 행렬 형식으로 작성 될 수 있습니다.

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

또는

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

이제 행 1과 행 2에서 행 3을 빼면 가됩니다 ( .

X

X~

X~=[010100111001]

위 행렬의 마지막 3 개 열을 @ttnphns ‘matrix 과 비교하십시오 . 순서에도 불구하고, 그들은 매우 유사합니다. 실제로 곱하면 가 나타납니다.

L

X~β

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

따라서 추정 가능한 함수가 있습니다. ; ; .

c1β=a1a3

c2β=a2a3

c3β=μ+a3

이후 , 우리는 우리가 기준 기 (a_3) 용 계수 우리 상수를 비교하는 것으로, 위에서 볼; 그룹 1의 계수 대 그룹 3의 계수; 및 group2에 대한 group2의 계수. 또는 @ttnphns가 말했듯이 : “계수에 따라 추정 상수가 기준 그룹의 Y 평균과 같고 매개 변수 b1 (즉 더미 변수 A1)이 차이와 동일 함을 즉시 알 수 있습니다. 그룹 1의 Y 평균 빼기 Y는 그룹 3의 평균이고 매개 변수 b2는 차이입니다. 그룹 2의 평균에서 그룹 3의 평균을 뺀 것입니다. “

H0:ciβ=0

또한, (명암의 정의 : 추정 가능한 함수 + 행 합 = 0)에 따라 벡터 및 는 대비입니다. 그리고 우리가 행렬 를 만들면 다음과 같은 결과 가 나타납니다.

c1

c2

G

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

결과는 같습니다.


결론

거기 것을 날 것으로 보인다 대비 매트릭스가 무엇인지 정의하는 개념.

Scheffe (66 페이지의 “분산 분석”)에서 제공 한 대비의 정의를 취하면 계수의 합이 0 인 추정 가능한 함수임을 알 수 있습니다. 따라서 범주 형 변수 계수의 서로 다른 선형 조합을 테스트하려면 행렬 . 이것은 행의 합이 0 인 행렬로, 계수를 추정 할 수 있도록 계수 행렬에 곱하는 데 사용됩니다. 이 행은 테스트중인 대조의 서로 다른 선형 조합을 나타내고 열은 비교할 요소 (계수)를 나타냅니다.

G

위의 행렬 는 각 행이 대비 벡터 (0으로 계산)로 구성되는 방식으로 구성되므로 를 “대비 행렬”( Monahan- “선형 모델의 입문서”-이 용어를 사용합니다).

G

G

그러나 @ttnphns가 아름답게 설명했듯이 소프트웨어는 다른 것을 “대비 매트릭스”라고 부르고 있으며, 매트릭스와 SPSS의 내장 명령 / 매트릭스 사이의 직접적인 관계를 찾을 수 없었습니다 (@ttnphns ) 또는 R (OP의 질문), 유사성 만. 그러나 나는 여기에 제시된 훌륭한 토론 / 협업이 그러한 개념과 정의를 명확히하는 데 도움이 될 것이라고 믿습니다.

G


답변

“대비 매트릭스”는 통계 문헌에서 표준 용어가 아닙니다. 별개의 의미로 [적어도] 두 가지 관련이있을 수 있습니다.

  1. ANOVA 회귀 분석에서 특정 귀무 가설을 지정하는 행렬 (코딩 체계와 관련이 없음). 여기서 각 행은 대비 입니다. 이것은 용어의 표준 사용법이 아닙니다. 나는 복잡한 질문에 대한 Christensen Plane Answers , Rutherford의 ANOVA 및 ANCOVA에 대한 전체 텍스트 검색을 사용했습니다 . 통계의 GLM 접근법 및 Rencher & Schaalje 선형 모형 . 그들은 모두 “명암”에 대해 많이 이야기하지만 “명암 매트릭스”라는 용어는 절대 언급하지 않습니다. 그러나 @Gus_est가 찾은 것처럼이 용어 Monahan의 선형 모형에 대한 입문서에서 사용됩니다 .

  2. ANOVA 회귀 분석에서 설계 행렬의 코딩 체계를 지정하는 행렬입니다. 이것이 R 커뮤니티에서 “명암 매트릭스”라는 용어가 사용되는 방식입니다 (예 : 이 매뉴얼 또는 도움말 페이지 참조 ).

@Gus_est의 대답은 첫 번째 의미를 탐구합니다. @ttnphns의 대답은 두 번째 의미를 탐구합니다 ( “콘트라스트 코딩 매트릭스”라고하며 SPSS 문헌의 표준 용어 인 “콘트라스트 계수 매트릭스”에 대해서도 설명합니다).


내 이해는 당신이 2 번 의미에 대해 묻는 것이므로 여기에 정의가 있습니다.

R 의미에서 “대비 행렬”은 matrix 여기서 는 그룹 수이며, 디자인 행렬 에서 그룹 멤버쉽이 인코딩되는 방식을 지정합니다 . 즉, 경우에 번째 관찰 군에 속하는 후 .

k×k

C

k

X

m

i

Xmj=Cij

참고 : 일반적으로 의 첫 번째 열은 모든 것의 열입니다 (디자인 매트릭스의 인터셉트 열에 해당). 와 같은 R 명령을 호출 하면 첫 번째 열이없는 행렬 표시됩니다.

C

contr.treatment(4)

C


@ttnphns와 @Gus_est의 답변이 어떻게 일치하는지에 대한 확장 된 의견을 제시하기 위해이 답변을 확장 할 계획입니다.


답변

대비는 차이를 0으로 비교하여 두 그룹을 비교합니다. 대비 행렬에서 행은 대비이며 0으로 추가해야하며 열은 그룹입니다. 예를 들면 다음과 같습니다.

비교하고자하는 4 개의 그룹 A, B, C, D가 있다고 가정하면 대비 행렬은 다음과 같습니다.

그룹 : ABCD
A vs B : 1-1 0
C vs D : 00 -1 1
A, B vs D, C : 11 -1-1

산업 실험 이해 로부터의 역설 :

k 개의 하위 그룹 평균과 비교할 k 개의 객체 그룹이있는 경우 k 개의 계수 세트 [c1, c2, c3, … cj, …, ck에 의해이 k 객체 세트에 대비가 정의됩니다. ] 그 합계는 0입니다.

C를 대조로하자.

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

C=j=1kcjμj

제약 조건

j=1kcj=0

계수 0으로 지정된 하위 그룹은 비교에서 제외됩니다. (*)

선택한 값이 아니라 실제로 비교를 정의하는 것은 계수의 부호입니다. 계수의 절대 값은 계수의 합이 0 인 한 아무 것도 될 수 있습니다.

(*) 각 통계 소프트웨어에는 제외 / 포함 할 하위 그룹을 나타내는 방법이 다릅니다.


답변