Main Content

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

multcompare

다중 비교 검정

설명

예제

c = multcompare(stats)stats 구조체에 포함된 정보를 사용하여 다중 비교 검정에서 얻은 쌍별(Pairwise) 비교 결과로 구성된 행렬 c를 반환합니다. multcompare는 추정값과 비교 구간의 대화형 그래프도 표시합니다. 각 그룹 평균은 기호로 표시되고, 구간은 기호에서 확장된 선으로 표시됩니다. 두 그룹 평균은 해당 구간이 서로소인 경우 현저히 다르며, 구간이 겹치는 경우에는 크게 다르지 않습니다. 마우스를 사용하여 그룹을 선택하면 그래프에서 현저히 차이가 나는 다른 그룹이 있는 경우 이러한 그룹이 모두 강조 표시됩니다.

예제

c = multcompare(stats,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용하여 쌍별 비교 결과로 구성된 행렬 c를 반환합니다. 예를 들어, 다중 비교에 사용할 임계값 유형 또는 신뢰구간을 지정할 수 있습니다.

[c,m] = multcompare(___)는 각 그룹의 평균(또는 비교되는 모든 통계량)에 대한 추정된 값과 이에 대응되는 표준 오차를 포함하는 행렬 m도 반환합니다. 위에 열거된 구문을 모두 사용할 수 있습니다.

[c,m,h] = multcompare(___)는 비교 그래프에 대한 핸들 h도 반환합니다.

예제

[c,m,h,gnames] = multcompare(___)는 그룹의 이름을 포함하는 셀형 배열 gnames도 반환합니다.

예제

모두 축소

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

load carsmall

일원분산분석(One-way ANOVA)을 수행하여 원산지별로 자동차의 주행 거리 간에 차이가 있는지 확인합니다.

[p,t,stats] = anova1(MPG,Origin,'off');

그룹 평균에 대한 다중 비교를 수행합니다.

[c,m,h,nms] = multcompare(stats);

multcompare는 추정값을 그 비교 구간과 함께 표시합니다. 각 국가의 그래프를 클릭하여 해당 국가의 평균과 다른 국가의 평균을 비교할 수 있습니다.

이제, 평균 추정값과 표준 오차를 이에 대응되는 그룹 이름과 함께 표시합니다.

[nms num2cell(m)]
ans=6×3 cell array
    {'USA'    }    {[21.1328]}    {[0.8814]}
    {'Japan'  }    {[31.8000]}    {[1.8206]}
    {'Germany'}    {[28.4444]}    {[2.3504]}
    {'France' }    {[23.6667]}    {[4.0711]}
    {'Sweden' }    {[22.5000]}    {[4.9860]}
    {'Italy'  }    {[     28]}    {[7.0513]}

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

load popcorn
popcorn
popcorn = 6×3

    5.5000    4.5000    3.5000
    5.5000    4.5000    4.0000
    6.0000    4.0000    3.0000
    6.5000    5.0000    4.0000
    7.0000    5.5000    5.0000
    7.0000    5.0000    4.5000

이 데이터는 팝콘 브랜드와 팝콘 기기 유형에 대한 연구에서 추출된 것입니다(호그(Hogg), 1987년). 행렬 popcorn의 열은 브랜드(Gourmet, National, Generic)입니다. 행은 팝콘기 유형인 기름과 공기입니다. 이 연구에서 연구자는 팝콘기별로 세 번씩 각 브랜드의 한 회분을 튀겼습니다. 값은 튀긴 팝콘의 컵 수로 측정되는 산출량입니다.

이원분산분석을 수행합니다. 또한, 주효과에 대한 다중 비교 검정을 수행하는 데 필요한 통계량을 계산합니다.

[~,~,stats] = anova2(popcorn,3,'off')
stats = struct with fields:
      source: 'anova2'
     sigmasq: 0.1389
    colmeans: [6.2500 4.7500 4]
        coln: 6
    rowmeans: [4.5000 5.5000]
        rown: 9
       inter: 1
        pval: 0.7462
          df: 12

stats 구조체는 다음을 포함합니다.

  • 평균 제곱 오차(sigmasq)

  • 각 팝콘 브랜드의 평균 산출량에 대한 추정값(colmeans)

  • 각 팝콘 브랜드의 관측값 개수(coln)

  • 각 팝콘기 유형의 평균 산출량에 대한 추정값(rowmeans)

  • 각 팝콘기 유형의 관측값 개수(rown)

  • 상호 작용 횟수(inter)

  • 상호 작용 항의 유의수준을 보여주는 p-값(pval)

  • 오차 자유도(df).

다중 비교 검정을 수행하여 팝콘 산출량이 여러 팝콘 브랜드(열) 쌍 간에 다른지 여부를 확인합니다.

c = multcompare(stats)
Note: Your model includes an interaction term.  A test of main effects can be 
difficult to interpret when the model includes interactions.

c = 3×6

    1.0000    2.0000    0.9260    1.5000    2.0740    0.0000
    1.0000    3.0000    1.6760    2.2500    2.8240    0.0000
    2.0000    3.0000    0.1760    0.7500    1.3240    0.0116

c의 처음 두 개 열은 비교되는 그룹을 보여줍니다. 네 번째 열은 추정된 그룹 평균 간 차이를 보여줍니다. 세 번째 열과 다섯 번째 열은 실제 평균 차이에 대한 95% 신뢰구간의 하한과 상한을 보여줍니다. 여섯 번째 열은 '대응하는 평균 차이가 0과 같다'는 가설검정에 대한 p-값을 포함합니다. 모든 p-값(0, 0 및 0.0116)이 아주 작으며, 이는 전체 세 개 브랜드에서 팝콘의 산출량이 다르다는 것을 나타냅니다.

이 그림에서는 여러 평균 비교를 보여줍니다. 기본적으로, 그룹 1 평균이 강조 표시되어 있으며 비교 구간은 파란색으로 표시되어 있습니다. 다른 두 그룹에 대한 비교 구간이 그룹 1 평균에 대한 구간과 교차하지 않기 때문에 이 비교 구간은 빨간색으로 강조 표시되어 있습니다. 이렇게 교차하는 부분이 없다는 것은 두 평균이 모두 그룹 1 평균과 다르다는 것을 나타냅니다. 다른 그룹 평균을 선택하여 모든 그룹 평균이 서로 현저히 다르다는 것을 확인합니다.

다중 비교 검정을 수행하여 두 팝콘기 유형(행) 간에 팝콘 산출량이 다른지를 확인합니다.

c = multcompare(stats,'Estimate','row')
Note: Your model includes an interaction term.  A test of main effects can be 
difficult to interpret when the model includes interactions.

c = 1×6

    1.0000    2.0000   -1.3828   -1.0000   -0.6172    0.0001

이 작은 p-값 0.0001은 두 팝콘기 유형(공기 및 기름) 간에 팝콘 산출량이 다르다는 것을 나타냅니다. 이 그림은 동일한 결과를 보여줍니다. 서로소인 비교 구간은 그룹 평균이 서로 현저히 다르다는 것을 나타냅니다.

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

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의 조합에 대한 비교 구간이 겹치므로 회색으로 표시됩니다. 반대로, 다른 비교 구간은 빨간색으로 표시되며, 이는 현저한 차이가 있음을 나타냅니다.

입력 인수

모두 축소

검정 데이터로, 구조체로 지정됩니다. 다음 함수 중 하나를 사용하여 구조체를 생성할 수 있습니다.

  • anova1 — 일원분산분석입니다.

  • anova2 — 이원분산분석입니다.

  • anovan — N원분산분석입니다.

  • aoctool — 대화형 방식의 공분산 분석 툴입니다.

  • friedman — 프리드먼의 검정(Friedman’s Test)입니다.

  • kruskalwallis — 크루스칼-왈리스 검정(Kruskal-Wallis Test)입니다.

multcompare는 임의효과 또는 중첩된 효과를 포함하는 모델에 대한 anovan 출력값을 사용한 다중 비교를 지원하지 않습니다. 임의효과 모델에 대한 계산을 수행하면 모든 효과가 고정효과로 처리된다는 내용의 경고가 생성됩니다. 중첩된 모델은 허용되지 않습니다.

데이터형: struct

이름-값 쌍의 인수

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

예: 'Alpha',0.01,'CType','bonferroni','Display','off'는 본페로니(Bonferroni) 임계값을 계산하고, 1% 유의수준에서 가설검정을 수행하고, 대화형 표시를 생략합니다.

다중 비교 검정의 유의수준으로, 'Alpha'와 함께 (0,1) 범위의 스칼라 값이 쉼표로 구분되어 지정됩니다. 'Alpha'에 지정된 값에 따라 행렬 c와 Figure에 반환되는 구간의 100 × (1 – α) 신뢰수준이 결정됩니다.

예: 'Alpha',0.01

데이터형: single | double

다중 비교에 사용할 임계값 유형으로, 'CType'과 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

예: 'CType','bonferroni'

표시 토글로, 'Display'와 함께 'on' 또는 'off'가 쉼표로 구분되어 지정됩니다. 'on'을 지정하면 multcompare는 추정값과 그 비교 구간을 나타내는 그래프를 표시합니다. 'off'를 지정하면 multcompare는 그래프를 표시하지 않습니다.

예: 'Display','off'

모집단 주변 평균을 계산할 차원을 지정하는 벡터로, 양의 정수값 또는 이러한 값으로 구성된 벡터로 지정됩니다. 함수 anovan을 사용하여 입력 구조체 stats를 생성하는 경우에만 'Dimension' 이름-값 쌍을 사용하십시오.

예를 들어, 'Dimension'1로 지정하면 multcompare는 첫 번째 그룹화 변수의 각 값에 대한 평균을 비교하는데, 이때 다른 그룹화 변수의 효과를 제거하여 설계가 균형을 이룬 것처럼 조정됩니다. 'Dimension'[1,3]으로 지정하면 multcompare는 두 번째 그룹화 변수의 효과를 제거하여 첫 번째 그룹화 변수와 세 번째 그룹화 변수의 조합 각각에 대한 모집단 주변 평균을 계산합니다. 특이 모델을 피팅하는 경우 일부 셀 평균이 추정 가능하지 않을 수 있고 이러한 셀 평균에 종속되는 모집단 주변 평균이 값 NaN을 가지게 됩니다.

모집단 주변 평균은 밀리켄(Milliken) 및 존슨(Johnson)(1992)과 설(Searle), 스피드(Speed), 밀리켄(Milliken)(1980)에 의해 규정되었습니다. 모집단 주변 평균의 바탕이 되는 아이디어는 'Dimension'으로 지정된 인자 값을 고정하고 각 인자 조합이 동일한 횟수로 나타나는 것처럼 다른 인자의 효과에 대한 평균을 구하여 균형이 맞지 않은 설계의 효과를 제거하는 것입니다. 모집단 주변 평균의 정의는 각 인자 조합에서의 관측값 개수에 영향을 받지 않습니다. 각 인자 조합에서의 관측값 개수가 무의미하게 설계된 실험에서는 모집단 주변 평균이 다른 인자를 무시하는 단순한 평균보다 해석하기가 더 쉬울 수 있습니다. 각 조합에서의 관측값 개수가 유의미한 설문 조사 및 기타 연구의 경우에는 모집단 주변 평균을 해석하는 것이 더 어려울 수 있습니다.

예: 'Dimension',[1,3]

데이터형: single | double

비교할 추정값으로, 'Estimate'와 함께 허용되는 값이 쉼표로 구분되어 지정됩니다. 'Estimate'의 허용되는 값은 다음 표와 같이 입력 구조체 stats를 생성하는 데 사용되는 함수에 따라 결정됩니다.

요인
anova1

없음. 이 이름-값 쌍은 무시되며, multcompare가 항상 그룹 평균을 비교합니다.

anova2

열 평균을 비교하려는 경우 'column' 또는 행 평균을 비교하려는 경우 'row'.

anovan

없음. 이 이름-값 쌍은 무시되며, multcompare가 항상 'Dimension' 이름-값 쌍의 인수로 지정된 모집단 주변 평균을 비교합니다.

aoctool

기울기, 절편 또는 모집단 주변 평균을 비교하려는 경우 각각 'slope', 'intercept' 또는 'pmm'. 공분산 모델의 분석이 개별적인 기울기를 포함하지 않은 경우 'slope'가 허용되지 않습니다. 개별적인 절편이 포함되어 있지 않은 경우 비교가 불가능합니다.

friedman

없음. 이 이름-값 쌍은 무시되며, multcompare가 항상 평균 열 랭크를 비교합니다.

kruskalwallis

없음. 이 이름-값 쌍은 무시되며, multcompare가 항상 평균 그룹 순위를 비교합니다.

예: 'Estimate','row'

출력 인수

모두 축소

여러 비교 결과로 구성된 행렬로, 스칼라 값으로 구성된 px6 행렬로 반환됩니다. 여기서 p는 그룹 쌍의 개수입니다. 행렬의 행은 각각 하나의 쌍 비교 검정의 결과를 포함합니다. 1열과 2열은 비교할 두 표본의 인덱스를 포함합니다. 3열은 신뢰구간의 하한을 포함하고, 4열은 추정값을 포함하며, 5열은 신뢰구간의 상한을 포함합니다. 6열은 '대응하는 평균 차이가 0이 아니다'라는 가설검정에 대한 p-값을 포함합니다.

예를 들어, 하나의 행이 다음 항목을 포함한다고 가정합니다.

2.0000  5.0000  1.9442  8.2206  14.4971 0.0432

이러한 수치는 그룹 2의 평균에서 그룹 5의 평균을 뺀 값이 8.2206으로 추정되고, 실제 평균 차이에 대한 95% 신뢰구간이 [1.9442, 14.4971]임을 나타냅니다. 그룹 2와 그룹 5의 평균 차이가 0과 현저히 다르다'는 해당 가설검정의 p-값은 0.0432입니다.

이 예제에서 신뢰구간은 0을 포함하지 않으므로 차이가 5% 유의수준에서 유의미합니다. 신뢰구간이 0을 포함하는 경우 차이가 유의미하지 않을 수 있습니다. p-값 0.0432는 그룹 2와 그룹 5의 평균 차이가 0과 현저히 다르다는 것도 나타냅니다.

추정값으로 구성된 행렬로, 스칼라 값으로 구성된 행렬로 반환됩니다. m의 첫 번째 열은 각 그룹의 평균(또는 비교되는 모든 통계량)에 대한 추정된 값을 포함하고, 두 번째 열은 해당 표준 오차를 포함합니다.

대화형 그래프를 포함하는 Figure에 대한 핸들로, 핸들로 반환됩니다. 이 그래프의 제목은 그래프와 상호 작용하기 위한 지침을 포함하고, x축 레이블은 선택한 평균과 현저히 다른 평균과 관련한 정보를 포함합니다. 프레젠테이션에 이 그래프를 사용하려는 경우 제목과 x축 레이블을 생략하고자 할 수 있습니다. 그래프 창의 대화형 기능을 사용하여 제목과 x축 레이블을 제거하거나 다음 명령을 사용할 수 있습니다.

title('')
xlabel('')

그룹 이름으로, 문자형 벡터로 구성된 셀형 배열로 반환됩니다. gnames의 각 행은 그룹의 이름을 포함합니다.

세부 정보

모두 축소

다중 비교 검정

분산분석은 여러 그룹의 평균을 비교하여 '평균이 모두 같지 않다'는 일반적인 대립가설에 대해 '평균이 모두 같다'는 가설을 검정합니다. 경우에 따라, 이 대립가설이 너무 일반적일 수 있습니다. 어떠한 평균 쌍이 현저히 다른지, 어떠한 평균 쌍이 다르지 않은지에 대한 정보가 필요할 수 있습니다. 다중 비교 검정은 이러한 정보를 제공할 수 있습니다.

두 그룹의 평균을 비교하는 단순 t-검정을 수행하는 경우, t-통계량의 절단 값을 결정하는 유의수준을 사용자가 지정합니다. 예를 들어, 값 alpha = 0.05를 지정하면 실제로는 별 차이가 없는데 잘못해서 유의미한 차이를 발견할 확률이 5%를 넘지 않게 됩니다. 그룹 평균이 많이 있는 경우 비교할 쌍도 많아지게 됩니다. 이 상황에서 일반 t-검정을 적용할 경우 alpha 값이 각각의 비교에 적용되므로, 비교 횟수가 늘어남에 따라 잘못해서 유의미한 차이를 발견할 가능성이 증가하게 됩니다. 다중 비교 절차는 임의의 비교에서 잘못해서 유의미한 차이를 발견할 확률에 대한 상한을 제공하도록 설계되었습니다.

참고 문헌

[1] Hochberg, Y., and A. C. Tamhane. Multiple Comparison Procedures. Hoboken, NJ: John Wiley & Sons, 1987.

[2] Milliken, G. A., and D. E. Johnson. Analysis of Messy Data, Volume I: Designed Experiments. Boca Raton, FL: Chapman & Hall/CRC Press, 1992.

[3] Searle, S. R., F. M. Speed, and G. A. Milliken. “Population marginal means in the linear model: an alternative to least-squares means.” American Statistician. 1980, pp. 216–221.

R2006a 이전에 개발됨