이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

anovan

다원분산분석

설명

예제

p = anovan(y,group)은 여러 인자가 벡터 y의 평균에 미치는 영향을 검정하는 다원분산분석(n-way ANOVA)에 대한 항마다 하나씩 있는 p-값으로 구성된 벡터를 반환합니다.

anovan은 표준 분산분석표를 보여주는 Figure도 표시합니다.

예제

p = anovan(y,group,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용하여 다원분산분석(n-way ANOVA)에 대한 p-값으로 구성된 벡터를 반환합니다.

예를 들어, 어떤 예측 변수가 연속형 예측 변수인지 여부, 또는 사용할 제곱의 합 유형을 지정할 수 있습니다.

[p,tbl] = anovan(___)은 위에 열거된 구문의 입력 인수에 대한 분산분석표(인자 레이블 포함)를 셀형 배열 tbl로 반환합니다. 편집(Edit) 메뉴에서 텍스트 복사(Copy Text) 항목을 사용하여 분산분석표의 텍스트 버전을 클립보드에 복사할 수 있습니다.

예제

[p,tbl,stats] = anovan(___)은 어떤 그룹 평균의 쌍이 현저히 다른지 판별할 수 있게 해주는 다중 비교 검정을 수행하는 데 사용할 수 있는 stats 구조체를 반환합니다. stats 구조체를 입력값으로 하여 multcompare 함수를 사용하여 이러한 검정을 수행할 수 있습니다.

[p,tbl,stats,terms] = anovan(___)terms에서 분산분석 계산에 사용된 주 항과 상호 작용 항을 반환합니다.

예제

모두 축소

표본 데이터를 불러옵니다.

y = [52.7 57.5 45.9 44.5 53.0 57.0 45.9 44.0]';
g1 = [1 2 1 2 1 2 1 2]; 
g2 = {'hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo'}; 
g3 = {'may';'may';'may';'may';'june';'june';'june';'june'};

y는 응답 변수 벡터이고 g1, g2, g3은 그룹화 변수(인자)입니다. 각 인자는 두 개의 수준을 가지며, y의 각 관측값은 인자수준 조합으로 식별됩니다. 예를 들어, 관측값 y(1)은 인자 g1의 수준 1, 인자 g2의 수준 'hi', 인자 g3의 수준 'may'와 연결됩니다. 마찬가지로, 관측값 y(6)은 인자 g1의 수준 2, 인자 g2의 수준 'hi', 인자 g3의 수준 'june'과 연결됩니다.

응답 변수가 모든 인자수준에서 동일한지 검정합니다.

p = anovan(y,{g1,g2,g3})

p = 3×1

    0.4174
    0.0028
    0.9140

분산분석표에서 X1, X2, X3은 각각 인자 g1, g2, g3에 대응됩니다. p-값 0.4174는 인자 g1의 수준 1과 수준 2에 대한 평균 응답 변수가 크게 다르지 않음을 나타냅니다. 마찬가지로, p-값 0.914는 인자 g3의 수준 'may''june'에 대한 평균 응답 변수가 크게 다르지 않음을 나타냅니다. 그러나, p-값 0.0028은 인자 g2의 두 수준 'hi''lo'에 대한 평균 응답 변수가 현저히 다르다는 결론을 내리기에 충분히 작습니다. 기본적으로, anovan은 세 개의 주효과에 대해서만 p-값을 계산합니다.

2인자 상호 작용을 검정합니다. 이번에는 변수 이름을 지정합니다.

p = anovan(y,{g1 g2 g3},'model','interaction','varnames',{'g1','g2','g3'})

p = 6×1

    0.0347
    0.0048
    0.2578
    0.0158
    0.1444
    0.5000

상호 작용 항은 분산분석표에서 g1*g2, g1*g3, g2*g3으로 표현됩니다. p의 처음 세 요소가 주효과에 대한 p-값입니다. 마지막 세 요소는 이원 상호작용에 대한 p-값입니다. p-값 0.0158은 g1g2 간의 상호 작용이 유의한 수준임을 나타냅니다. p-값 0.1444 및 0.5는 해당 상호 작용이 유의한 수준이 아님을 나타냅니다.

표본 데이터를 불러옵니다.

load carbig

이 데이터는 406대 차량에 대한 측정값으로 구성되어 있습니다. 변수 org는 차량이 생산된 지역을 보여주고 when은 차량이 제조된 연도를 보여줍니다.

연비가 차량이 생산된 연도와 지역에 따라 어떻게 달라지는지를 확인합니다. 또한, 모델에 이원 상호 작용도 포함시킵니다.

p = anovan(MPG,{org when},'model',2,'varnames',{'origin','mfg date'})

p = 3×1

    0.0000
    0.0000
    0.3059

'model',2 이름-값 쌍의 인수는 이원 상호 작용을 나타냅니다. 상호 작용 항에 대한 p-값 0.3059는 작은 수준이 아니며, 제조 시기(mfg date)의 효과가 차량이 생산된 지역(origin)에 따라 달라짐을 보여주는 증거가 거의 없음을 나타냅니다. 그러나 원산지와 제조 날짜의 주효과는 유의한 수준이며, p-값이 모두 0입니다.

표본 데이터를 불러옵니다.

y = [52.7 57.5 45.9 44.5 53.0 57.0 45.9 44.0]';
g1 = [1 2 1 2 1 2 1 2];
g2 = {'hi';'hi';'lo';'lo';'hi';'hi';'lo';'lo'};
g3 = {'may';'may';'may';'may';'june';'june';'june';'june'};

y는 응답 변수 벡터이고 g1, g2, g3은 그룹화 변수(인자)입니다. 각 인자는 두 개의 수준을 가지며, y의 각 관측값은 인자수준 조합으로 식별됩니다. 예를 들어, 관측값 y(1)은 인자 g1의 수준 1, 인자 g2의 수준 'hi', 인자 g3의 수준 'may'와 연결됩니다. 마찬가지로, 관측값 y(6)은 인자 g1의 수준 2, 인자 g2의 수준 'hi', 인자 g3의 수준 'june'과 연결됩니다.

응답 변수가 모든 인자수준에서 동일한지 검정합니다. 또한, 다중 비교 검정에 필요한 통계량을 계산합니다.

[~,~,stats] = anovan(y,{g1 g2 g3},'model','interaction',...
    'varnames',{'g1','g2','g3'});

p-값 0.2578은 인자 g3의 수준 'may''june'에 대한 평균 응답 변수가 크게 다르지 않음을 나타냅니다. p-값 0.0347은 인자 g1의 수준 12에 대한 평균 응답 변수가 현저히 다름을 나타냅니다. 마찬가지로, p-값 0.0048은 인자 g2의 수준 'hi''lo'에 대한 평균 응답 변수가 현저히 다름을 나타냅니다.

다중 비교 검정을 수행하여 인자 g1g2 그룹 중 현저히 다른 그룹을 찾아냅니다.

results = multcompare(stats,'Dimension',[1 2])

results = 6×6

    1.0000    2.0000   -6.8604   -4.4000   -1.9396    0.0280
    1.0000    3.0000    4.4896    6.9500    9.4104    0.0177
    1.0000    4.0000    6.1396    8.6000   11.0604    0.0143
    2.0000    3.0000    8.8896   11.3500   13.8104    0.0108
    2.0000    4.0000   10.5396   13.0000   15.4604    0.0095
    3.0000    4.0000   -0.8104    1.6500    4.1104    0.0745

multcompare는 두 가지 그룹화 변수 g1g2의 그룹(수준) 조합을 비교합니다. results 행렬에서 숫자 1은 g1의 수준 1g2의 수준 hi의 조합에 대응되고, 숫자 2는 g1의 수준 2g2의 수준 hi의 조합에 대응됩니다. 마찬가지로, 숫자 3은 g1의 수준 1g2의 수준 lo의 조합에 대응되고, 숫자 4는 g1의 수준 2g2의 수준 lo의 조합에 대응됩니다. 행렬의 마지막 열은 p-값을 포함합니다.

예를 들어, 행렬의 첫 번째 행은 g1의 수준 1g2의 수준 hi의 조합이 g1의 수준 2g2의 수준 hi의 조합과 평균 응답 변수 값이 같음을 보여줍니다. 이 검정에 대응되는 p-값은 0.0280이며, 이는 평균 응답 변수가 현저히 다름을 나타냅니다. 그림에서 이 결과를 확인할 수도 있습니다. 파란색 막대는 g1의 수준 1g2의 수준 hi의 조합에 대한 평균 응답 변수의 비교 구간을 보여줍니다. 빨간색 막대는 다른 그룹 조합에 대한 평균 응답 변수의 비교 구간입니다. 빨간색 막대는 파란색 막대와 겹치지 않으며, 이는 g1의 수준 1g2의 수준 hi의 조합에 대한 평균 응답 변수가 다른 그룹 조합에 대한 평균 응답 변수와 현저히 다르다는 것을 의미합니다.

이 그룹에 대응되는 비교 구간을 클릭하여 다른 그룹에 대해 검정을 수행할 수 있습니다. 막대를 클릭하면 파란색으로 바뀝니다. 현저히 다른 그룹의 막대는 빨간색으로 표시됩니다. 크게 다르지 않은 그룹의 막대는 회색으로 표시됩니다. 예를 들어, g1의 수준 1g2의 수준 lo의 조합에 대한 비교 구간을 클릭하면 g1의 수준 2g2의 수준 lo의 조합에 대한 비교 구간이 겹치므로 회색으로 표시됩니다. 반대로, 다른 비교 구간은 빨간색으로 표시되며, 이는 현저한 차이가 있음을 나타냅니다.

입력 인수

모두 축소

표본 데이터로, 숫자형 벡터로 지정됩니다.

데이터형: single | double

그룹화 변수, 즉 y에 포함된 관측값의 인자 및 인자수준으로, 셀형 배열로 지정됩니다. group의 각 셀은 인자 중 하나를 기준으로 y에 포함된 관측값을 식별하는 인자수준 목록을 포함합니다. 각 셀에 포함된 목록은 categorical형 배열, 숫자형 벡터, 문자형 행렬, string형 배열 또는 문자형 벡터로 구성된 단일 열을 갖는 셀형 배열일 수 있으며, y와 요소 개수가 같아야 합니다.

y=[y1,y2,y3,y4,y5,,yN]g1={'A','A','C','B','B',,'D'}g2=[12131,2]g3={'hi','mid','low','mid','hi',,'low'}

기본적으로 anovan은 모든 그룹화 변수를 고정효과로 취급합니다.

예를 들어, 성별, 학교, 교육 방식이 초등학교 학생의 학업적인 성과에 미치는 효과를 조사하려는 연구에서는 그룹화 변수를 다음과 같이 지정할 수 있습니다.

예: {'Gender','School','Method'}

데이터형: cell

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정할 수 있습니다. 여기서 Name은 인수 이름이고 Value는 이에 대응하는 값입니다. Name은 따옴표로 묶어야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 원하는 순서로 지정할 수 있습니다.

예: 'alpha',0.01,'model','interaction','sstype',2는 제2종 제곱합을 사용하여 주효과 및 이원 상호 작용에 대한 99% 신뢰한계와 p-값을 계산하도록 anovan을 지정합니다.

신뢰한계에 대한 유의수준으로, 'alpha'와 함께 범위 0~1에 속하는 스칼라 값이 쉼표로 구분되어 지정됩니다. 값 α의 경우, 신뢰수준은 100*(1–α)%입니다.

예: 'alpha',0.01은 99% 신뢰구간에 해당합니다.

데이터형: single | double

연속형 예측 변수 표시자로, 어떤 그룹화 변수가 범주형 예측 변수가 아닌 연속형 예측 변수로 처리되어야 하는지를 나타내며, 'continuous'와 함께 인덱스로 구성된 벡터가 쉼표로 구분되어 지정됩니다.

예를 들어, 세 개의 그룹화 변수가 있고 두 번째 그룹화 변수가 연속형 변수인 경우 다음과 같이 지정할 수 있습니다.

예: 'continuous',[2]

데이터형: single | double

분산분석표 표시 여부를 나타내는 표시자로, 'display'와 함께 'on' 또는 'off'가 쉼표로 구분되어 지정됩니다. displayopt'off'인 경우, anovan은 출력 인수만 반환하고 표준 분산분석표를 Figure로 표시하지 않습니다.

예: 'display','off'

모델 유형으로, 'model'과 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'linear' — 디폴트 'linear' 모델은 N개의 주효과에 대한 귀무가설의 p-값만 계산합니다.

  • 'interaction''interaction' 모델은 N개의 주효과와 (N2) 2인자 상호 작용에 대한 귀무가설의 p-값을 계산합니다.

  • 'full''full' 모델은 N개의 주효과와 모든 수준의 상호 작용에 대한 귀무가설의 p-값을 계산합니다.

  • 정수 — 모델 유형에 정수 값 k가 지정된 경우(k ≤ N), anovan은 k번째 수준까지의 모든 상호 작용 수준을 계산합니다. 예를 들어, 값 3은 주효과와 2인자 상호 작용 및 3인자 상호 작용을 의미합니다. 값 k = 1 및 k = 2는 각각 'linear''interaction'을 지정한 것과 동일합니다. 값 k = N은 'full'을 지정한 것과 동일합니다.

  • 항 행렬 — x2fx 함수에 대한 입력값과 동일한 형식을 갖는 항 정의로 구성된 행렬입니다. 모든 요소는 0 또는 1이어야 합니다(더 큰 거듭제곱은 안 됨).

    anovan이 계산하는 주 항과 상호 작용 항을 더욱 정확하게 제어하려면 분산분석 모델에 포함시킬 각각의 주 항 또는 상호 작용 항이 하나의 행을 이루는 행렬을 지정하면 됩니다. 각 행은 N개의 0과 1로 구성된 벡터를 사용하여 하나의 항을 정의합니다. 아래 표에서는 인자 A, B, C에 대한 3인자 분산분석을 부호화한 표현을 보여줍니다.

    행렬 행분산분석 항

    [1 0 0]

    주 항 A

    [0 1 0]

    주 항 B

    [0 0 1]

    주 항 C

    [1 1 0]

    상호 작용 항 AB

    [1 0 1]

    상호 작용 항 AC

    [0 1 1]

    상호 작용 항 BC

    [1 1 1]

    상호 작용 항 ABC

    예를 들어, 세 개의 인자 A, B, C와 'model',[0 1 0;0 0 1;0 1 1]을 지정할 경우 anovan은 주효과 B 및 C와 상호 작용 효과 BC를 각각 검정합니다.

    항 행렬을 생성하는 간단한 방법은 위에서 설명한 형식을 사용하여 현재 모델에서 항을 부호화하는 terms 출력값을 수정하는 것입니다. 예를 들어, anovanterms에 대해 [0 1 0;0 0 1;0 1 1]을 반환하고 유의미한 상호 작용 BC가 없으면 model[0 1 0;0 0 1]을 지정하여 주효과 B와 C에 대해서만 분산분석을 다시 계산할 수 있습니다.

예: 'model',[0 1 0;0 0 1;0 1 1]

예: 'model','interaction'

데이터형: char | string | single | double

그룹화 변수 간의 내포 관계로, 'nested'와 함께 0과 1로 구성된 행렬 M이 쉼표로 구분되어 지정됩니다(즉, 변수 i가 변수 j에 내포된 경우 M(i,j) = 1임).

연속형 변수에는 내포를 지정할 수 없습니다.

예를 들어, 두 개의 그룹화 변수 District와 School이 있고, 여기서 School이 District에 내포된 경우 이 관계를 다음과 같이 표현할 수 있습니다.

예: 'nested',[0 0;1 0]

데이터형: single | double

확률 변수 표시자로, 어떤 그룹화 변수가 확률 변수인지 나타내며, 'random'과 함께 인덱스로 구성된 벡터가 쉼표로 구분되어 지정됩니다. 기본적으로 anovan은 모든 그룹화 변수를 고정효과로 취급합니다.

anovan은 상호 작용 항에 확률 변수가 있는 경우 상호 작용 항을 임의효과로 취급합니다.

예: 'random',[3]

데이터형: single | double

제곱합 유형으로, 'sstype'과 함께 다음이 쉼표로 구분되어 지정됩니다.

  • 제1종 제곱합. 특정 항 앞에 나열되어 있는 항을 이미 포함하는 피팅에 해당 항을 추가하여 구하는 잔차 제곱합의 감소입니다.

  • 제2종 제곱합. 특정 항을 제외한 다른 모든 항으로 구성된 모델에 해당 항을 추가하여 구하는 잔차 제곱합의 감소입니다.

  • 제3종 제곱합. 다른 모든 항을 포함하는 모델에 해당 항을 추가하여 구하는 잔차 제곱합의 감소입니다. 단, 이들 항의 효과는 모델을 추정 가능하게 하는 통상적인 "시그마 제한"을 따르도록 제약됩니다.

  • 'h' — 계층적 모델. 제2종과 유사하지만 항의 계층 구조를 결정하는 데 연속형 인자와 범주형 인자가 모두 사용됩니다.

모든 항의 제곱합은 두 모델의 비교를 통해 결정됩니다. 상호 작용은 없고 주효과만 포함하는 모델의 경우, sstype의 값은 불균형 데이터의 계산에만 영향을 미칩니다.

두 인자와 이에 대한 상호 작용이 포함된 모델을 피팅하며 해당 항이 A, B, AB 순서로 표시된다고 가정하겠습니다. R(·)이 모델의 잔차 제곱합을 나타낸다고 하겠습니다. 그러면 R(A, B, AB)는 전체 모델을 피팅하는 잔차 제곱합이고, R(A)는 A의 주효과만 피팅하는 잔차 제곱합이며, R(1)은 평균만 피팅하는 잔차 제곱합입니다. 세 가지 제곱합 유형은 다음과 같습니다.

제1종 제곱합제2종 제곱합제3종 제곱합

A

R(1) – R(A)

R(B) – R(A, B)

R(B, AB) – R(A, B, AB)

B

R(A) – R(A, B)

R(A) – R(A, B)

R(A, AB) – R(A, B, AB)

AB

R(A, B) – R(A, B, AB)

R(A, B) – R(A, B, AB)

R(A, B) – R(A, B, AB)

제3종 제곱합의 모델에는 시그마 제한이 적용됩니다. 이는, 피팅 R(B, AB)에서 AB 효과로 구성된 배열을 예로 들면 B의 각 값에 대한 A의 합과 A의 각 값에 대한 B의 합이 0으로 제한된다는 의미입니다.

예: 'sstype','h'

데이터형: single | double | char | string

그룹화 변수의 이름으로, 'varnames'와 함께 문자형 행렬, string형 배열 또는 문자형 벡터로 구성된 셀형 배열이 쉼표로 구분되어 지정됩니다.

예: 'varnames',{'Gender','City'}

데이터형: char | string | cell

출력 인수

모두 축소

p-값으로, 벡터로 반환됩니다.

출력 벡터 p는 N개의 주효과와 지정된 모든 상호 작용 항에 대한 귀무가설의 p-값을 포함합니다. 요소 p(1)은 '모든 수준의 인자 A의 표본이 동일한 모집단에서 추출되었다'는 귀무가설의 p-값을 포함하며, 요소 p(2)는 '모든 수준의 인자 B의 표본이 동일한 모집단에서 추출되었다'는 귀무가설의 p-값을 포함하는 식입니다.

예를 들어, 세 개의 인자 A, B, C와 'model',[0 1 0;0 0 1;0 1 1]을 지정할 경우 출력 벡터 p는 주효과 B 및 C와 상호 작용 효과 BC에 대한 귀무가설의 p-값을 각각 포함합니다.

하나의 인자에 해당하는 p-값이 충분히 작을 경우 적어도 하나 이상의 그룹 평균이 다른 그룹 평균과 현저히 다르다는 것을 나타냅니다. 즉, 해당 인자로 인해 주효과가 있음을 나타냅니다. 일반적으로 p-값이 0.05 또는 0.01보다 작을 경우 결과가 유의미하다고 선언합니다.

분산분석표로, 셀형 배열로 반환됩니다. 분산분석표에는 다음 7개의 열이 있습니다.

열 이름정의
source변동성의 요인입니다.
SS각 요인에 의한 제곱의 합입니다.
df각 요인와 연관된 자유도입니다.
MS각 요인의 평균 제곱으로, SS/df 비율입니다.
Singular?항이 특이 항인지 여부를 나타내는 표시입니다.
FF-통계량으로, 두 평균 제곱 간의 비율입니다.
Prob>Fp-값으로, 계산된 검정-통계량 값보다 F-통계량이 더 큰 값을 취할 수 있는 확률입니다. anovan은 F-분포의 cdf에서 이 확률을 도출합니다.

하나 이상의 그룹화 변수가 이름-값 쌍의 인수 random을 사용하여 확률 변수로 지정된 경우 분산분석표에는 다음 열도 있습니다.

열 이름정의
Type각 요인의 유형으로, 고정효과의 경우 'fixed' 또는 임의효과의 경우 'random'입니다.
Expected MS평균 제곱에 대한 예상 값의 텍스트 표현입니다. Q(source)source의 2차 함수를 나타내고 V(source)source의 분산을 나타냅니다.
MS denomF-통계량의 분모입니다.
d.f. denomF-통계량의 분모에 대한 자유도입니다.
Denom. defn.F-통계량의 분모에 대한 텍스트 표현입니다. MS(source)source의 평균 제곱을 나타냅니다.
Var. est.분산 성분 추정값입니다.
Var. lower bnd분산 성분 추정값에 대한 95% 신뢰구간의 하한입니다.
Var. upper bnd분산 성분 추정값에 대한 95% 신뢰구간의 상한입니다.

multcompare 함수를 사용하여 다중 비교 검정에 사용할 통계량으로, 구조체로 반환됩니다.

anovan은 '하나의 인자(또는 더 일반적으로 하나의 항)에 대한 여러 그룹(수준)이 모두 동일한 효과를 갖는 것은 아니다'는 대립가설에 대해 '모두 동일한 효과를 갖는다'는 가설을 평가합니다. 경우에 따라 현저히 다른 수준 쌍은 무엇이고 그렇지 않은 쌍은 무엇인지를 판별하기 위한 검정을 수행하는 것이 유용할 수 있습니다. multcompare 함수를 사용하고 stats 구조체를 입력값으로 지정하여 이러한 검정을 수행할 수 있습니다.

stats 구조체는 multcompare 함수를 사용하여 다중 비교를 수행하는 데 필요한 여러 다른 필드 외에도 아래에 나와 있는 필드를 포함합니다.

필드설명

coeffs

추정된 계수

coeffnames

각 계수의 항 이름

vars

각 항의 그룹화 변수 값으로 구성된 행렬

resid

피팅된 모델의 잔차

stats 구조체는 이름-값 쌍의 인수 random을 사용하여 하나 이상의 그룹화 변수가 확률 변수로 지정된 경우 다음과 같은 필드도 포함합니다.

필드설명

ems

예상 평균 제곱

denom

분모 정의

rtnames

임의효과 항 이름

varest

분산 성분 추정값(임의효과 항당 하나)

varci

분산 성분에 대한 신뢰구간

주 항 및 상호 작용 항으로, 행렬로 반환됩니다. 항은 위에 설명된 입력값 model의 형식과 동일한 형식을 사용하여 출력 행렬 terms에 부호화됩니다. 이 형식으로 model을 지정하면 terms에 반환되는 행렬도 동일합니다.

참고 문헌

[1] Dunn, O.J., and V.A. Clark. Applied Statistics: Analysis of Variance and Regression. New York: Wiley, 1974.

[2] Goodnight, J.H., and F.M. Speed. Computing Expected Mean Squares. Cary, NC: SAS Institute, 1978.

[3] Seber, G. A. F., and A. J. Lee. Linear Regression Analysis. 2nd ed. Hoboken, NJ: Wiley-Interscience, 2003.

R2006a 이전에 개발됨