Main Content

anova2

이원분산분석

설명

anova2는 균형 설계를 사용하여 이원분산분석(ANOVA)을 수행합니다. 불균형 설계를 사용하여 이원분산분석을 수행하려면 anovan을 참조하십시오.

예제

p = anova2(y,reps)y의 둘 이상의 열과 둘 이상의 행에 대한 평균을 비교하는 데 쓰이는 균형 이원분산분석에 대한 p-값을 반환합니다.

reps는 인자 그룹의 각 조합에 대한 반복 실험 횟수로, 균형 설계를 나타내는 상수여야 합니다. 불균형 설계에 대해서는 anovan을 사용하십시오. anova2 함수는 열 및 행 인자에 대한 주효과와 상호 작용 효과를 검정합니다. 상호 작용 효과를 검정하려면 reps가 1보다 커야 합니다.

anova2는 표준 분산분석표도 표시합니다.

예제

p = anova2(y,reps,displayopt)displayopt'on'(디폴트 값)인 경우 분산분석표를 표시하고 displayopt'off'인 경우 표시하지 않습니다.

예제

[p,tbl] = anova2(___)는 셀형 배열 tbl로 분산분석표를 반환합니다(열 레이블과 행 레이블 포함). 분산분석표의 텍스트 버전을 클립보드에 복사하려면 편집 > 텍스트 복사 메뉴를 선택하십시오.

예제

[p,tbl,stats] = anova2(___)stats 구조체를 반환합니다. 이 구조체를 사용하여 다중 비교 검정을 수행할 수 있습니다. 다중 비교 테스트를 통해 그룹 평균의 쌍 중 현저히 다른 쌍을 확인할 수 있습니다. 이 테스트를 수행하려면 stats 구조체를 입력값으로 제공하여 multcompare를 사용하십시오.

예제

모두 축소

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

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)입니다. 행은 팝콘기 유형인 기름과 공기입니다. 이 연구에서 연구자는 팝콘기별로 세 번씩 각 브랜드의 한 회분을 튀겼습니다. 즉, 반복 실험 횟수는 3입니다. 처음 3개 행은 기름 팝콘기에 대응되고, 마지막 3개 행은 공기 팝콘기에 대응됩니다. 응답 변수 값은 튀긴 팝콘의 컵 수로 측정되는 산출량입니다.

이원분산분석을 수행합니다. 결과에 손쉽게 액세스할 수 있도록 분산분석표를 셀형 배열 tbl에 저장합니다.

[p,tbl] = anova2(popcorn,3);

Figure Two-way ANOVA contains objects of type uicontrol.

Prob>F는 세 가지 팝콘 브랜드의 p-값(0.0000), 두 가지 팝콘기 유형의 p-값(0.0001) 및 브랜드와 팝콘기 유형 사이의 상호 작용의 p-값(0.7462)을 보여줍니다. 이러한 값은 팝콘 브랜드와 팝콘기 유형이 팝콘 산출량에 영향을 주지만 이 둘의 상호 작용 영향이 있다는 증거는 없음을 나타냅니다.

분산분석표를 포함하는 셀형 배열을 표시합니다.

tbl
tbl=6×6 cell array
    {'Source'     }    {'SS'     }    {'df'}    {'MS'      }    {'F'       }    {'Prob>F'    }
    {'Columns'    }    {[15.7500]}    {[ 2]}    {[  7.8750]}    {[ 56.7000]}    {[7.6790e-07]}
    {'Rows'       }    {[ 4.5000]}    {[ 1]}    {[  4.5000]}    {[ 32.4000]}    {[1.0037e-04]}
    {'Interaction'}    {[ 0.0833]}    {[ 2]}    {[  0.0417]}    {[  0.3000]}    {[    0.7462]}
    {'Error'      }    {[ 1.6667]}    {[12]}    {[  0.1389]}    {0x0 double}    {0x0 double  }
    {'Total'      }    {[     22]}    {[17]}    {0x0 double}    {0x0 double}    {0x0 double  }

인자 및 인자 상호 작용에 대한 F-통계량을 각각 다른 변수에 저장합니다.

Fbrands = tbl{2,5}
Fbrands = 56.7000
Fpoppertype = tbl{3,5}
Fpoppertype = 32.4000
Finteraction = tbl{4,5}
Finteraction = 0.3000

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

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)입니다. 행은 팝콘기 유형인 기름과 공기입니다. 처음 3개 행은 기름 팝콘기에 대응되고, 마지막 3개 행은 공기 팝콘기에 대응됩니다. 이 연구에서 연구자는 팝콘기별로 세 번씩 각 브랜드의 한 회분을 튀겼습니다. 값은 튀긴 팝콘의 컵 수로 측정되는 산출량입니다.

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

[~,~,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).

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

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

Figure Multiple comparison of column means contains an axes object. The axes object with title Click on the group you want to test, xlabel 2 groups have column means significantly different from Group 1 contains 7 objects of type line. One or more of the lines displays its values using only markers

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

여러 개의 비교 결과를 테이블로 표시합니다.

tbl1 = array2table(c1,"VariableNames", ...
    ["Group A","Group B","Lower Limit","A-B","Upper Limit","P-value"])
tbl1=3×6 table
    Group A    Group B    Lower Limit    A-B     Upper Limit     P-value  
    _______    _______    ___________    ____    ___________    __________

       1          2         0.92597       1.5       2.074       4.1188e-05
       1          3           1.676      2.25       2.824       6.1588e-07
       2          3         0.17597      0.75       1.324         0.011591

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

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

c2 = 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.

Figure Multiple comparison of row means contains an axes object. The axes object with title Click on the group you want to test, xlabel The row means of groups 1 and 2 are significantly different contains 5 objects of type line. One or more of the lines displays its values using only markers

tbl2 = array2table(c2,"VariableNames", ...
    ["Group A","Group B","Lower Limit","A-B","Upper Limit","P-value"])
tbl2=1×6 table
    Group A    Group B    Lower Limit    A-B    Upper Limit     P-value  
    _______    _______    ___________    ___    ___________    __________

       1          2         -1.3828      -1      -0.61722      0.00010037

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

입력 인수

모두 축소

표본 데이터로, 행렬로 지정됩니다. 열은 한 인자의 그룹에 대응되고, 행은 다른 인자의 그룹과 반복 실험에 대응됩니다. 반복 실험은 행 및 열 인자의 그룹(수준)의 각 조합에 대한 측정값 또는 관측값입니다. 예를 들어, 다음 데이터에서 행 인자 A는 3개 수준을 갖고, 열 인자 B는 2개 수준을 갖고, 반복 실험은 2개가 있습니다(reps = 2). 아래 첨자는 각각 행, 열, 반복 실험을 나타냅니다.

B=1B=2[y111y121y112y122y211y221y212y222y311y321y312y322]}A=1}A=2}A=3

데이터형: single | double

그룹의 각 조합에 대한 반복 실험 횟수로, 정수로 지정됩니다. 예를 들어, 다음 데이터는 행 인자 A와 열 인자 B의 각 그룹 조합에 대해 2개의 반복 실험(reps = 2)을 갖습니다.

B=1B=2[y111y121y112y122y211y221y212y222y311y321y312y322]}A=1}A=2}A=3

  • reps1(디폴트 값)이면 anova2는 벡터 p에 2개의 p-값을 반환합니다.

    • '인자 B의 모든 표본(즉, y의 모든 열 표본)은 동일한 모집단에서 추출된다'는 귀무가설의 p-값.

    • '인자 A의 모든 표본(즉, y의 모든 행 표본)은 동일한 모집단에서 추출된다'는 귀무가설의 p-값.

  • reps1보다 크면 anova2는 '인자 A와 B에는 상호 작용이 없다(즉, 인자 A와 B로 인한 영향은 가산성이다)'는 귀무가설의 p-값도 반환합니다.

예: p = anova(y,3)으로 지정하면 그룹(수준)의 각 조합이 3개의 반복 실험을 가지게 됩니다.

데이터형: single | double

분산분석표를 Figure로 표시할지 여부를 나타내는 표시자로, 'on' 또는 'off'로 지정됩니다.

출력 인수

모두 축소

F-검정의 p-값으로, 스칼라 값으로 반환됩니다. p-값이 작으면 결과가 통계적으로 유의함을 나타냅니다. 일반적인 유의수준은 0.05 또는 0.01입니다. 예를 들면 다음과 같습니다.

  • 행 인자 A의 그룹 평균에 대한 귀무가설의 p-값이 충분히 작을 경우 하나 이상의 행 표본평균이 다른 행 표본평균과 현저히 다르다는 것을 나타냅니다. 즉, 인자 A로 인해 주효과가 있음을 나타냅니다.

  • 열 인자 B의 그룹(수준) 평균에 대한 귀무가설의 p-값이 충분히 작을 경우 하나 이상의 열 표본평균이 다른 열 표본평균과 현저히 다르다는 것을 나타냅니다. 즉, 인자 B로 인해 주효과가 있음을 나타냅니다.

  • 인자 A와 B의 그룹(수준) 조합에 대한 p-값이 충분히 작을 경우 인자 A와 B 사이에 상호 작용이 있음을 나타냅니다.

분산분석표로, 셀형 배열로 반환됩니다. tbl은 6개 열을 가집니다.

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

분산분석표의 행은 reps의 값에 따라 요인을 기준으로 3~4개의 부분으로 나뉘며 데이터의 변동성을 보여줍니다.

정의
Columns열 평균 간 차이로 인한 변동성
Rows행 평균 간 차이로 인한 변동성
Interaction

행과 열 사이의 상호 작용으로 인한 변동성(reps가 디폴트 값 1보다 큰 경우)

Error계통적 요인으로 설명되지 않는 나머지 변동성

데이터형: cell

다중 비교 검정에 사용할 통계량으로, 구조체로 반환됩니다. 다중 비교 검정을 수행하려면 stats를 입력 인수로 제공하여 multcompare를 사용하십시오. stats는 9개 필드를 갖습니다.

필드 정의
sourcestats 출력값의 요인
sigmasq평균제곱오차
colmeans열 평균의 추정값
coln열에 있는 각 그룹에 대한 관측값 개수
rowmeans행 평균의 추정값
rown행에 있는 각 그룹에 대한 관측값 개수
inter상호 작용 횟수
pval상호 작용 항에 대한 p-값
df오차 자유도 (reps — 1)*r*c로, 여기서 reps는 반복 실험 횟수이고 c와 r은 각각 인자에 있는 그룹 개수입니다.

데이터형: struct

대체 기능

anova2 함수를 사용하는 대신에, anova 함수를 사용하여 anova 객체를 만들 수 있습니다. anova 함수는 다음과 같은 이점을 제공합니다.

  • anova 함수를 사용하면 분산분석 모델 유형, 제곱합 유형, 범주형으로 처리할 인자를 지정할 수 있습니다. anova는 또한 table형 예측 변수와 응답 변수를 입력 인수로 사용할 수 있습니다.

  • anova2에서 반환하는 출력값 외에, anova 객체의 속성에는 다음이 포함됩니다.

    • 분산분석 모델식

    • 피팅된 분산분석 모델 계수

    • 잔차

    • 인자와 응답 변수 데이터

  • anova 객체 함수를 사용하면 anova 객체를 피팅한 후 추가 분석을 수행할 수 있습니다. 예를 들어 분산분석을 위해 평균에 대한 다중 비교를 대화형 플롯으로 만들고, 인자의 각 값에 대해 평균 응답 변수의 추정값을 구하고, 분산 성분 추정값을 계산할 수 있습니다.

참고 문헌

[1] Hogg, R. V., and J. Ledolter. Engineering Statistics. New York: MacMillan, 1987.

버전 내역

R2006a 이전에 개발됨