이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
anova1
일원분산분석
구문
설명
는 p
= anova1(y
,group
,displayopt
)displayopt
가 'on'
(디폴트 값)인 경우 분산분석표와 상자 플롯을 표시하고 displayopt
가 'off'
인 경우 표시하지 않습니다.
예제
일원분산분석(One-way ANOVA)
상수 열을 가진 표본 데이터 행렬 y
를 생성하고 평균이 0이고 표준편차가 1인 임의 정규분포의 교란을 추가합니다.
y = meshgrid(1:5); rng default; % For reproducibility y = y + normrnd(0,1,5,5)
y = 5×5
1.5377 0.6923 1.6501 3.7950 5.6715
2.8339 1.5664 6.0349 3.8759 3.7925
-1.2588 2.3426 3.7254 5.4897 5.7172
1.8622 5.5784 2.9369 5.4090 6.6302
1.3188 4.7694 3.7147 5.4172 5.4889
일원분산분석을 수행합니다.
p = anova1(y)
p = 0.0023
분산분석표는 그룹 간 변동(Columns
)과 그룹 내 변동(Error
)을 보여줍니다. SS
는 제곱합이고, df
는 자유도입니다. 총 자유도는 총 관측값 개수에서 1을 뺀 값, 즉 25 - 1 = 24입니다. 그룹 간 자유도는 그룹 개수에서 1을 뺀 값, 즉 5 - 1 = 4입니다. 그룹 내 자유도는 총 자유도에서 그룹 간 자유도를 뺀 값, 즉 24 - 4 = 20입니다.
MS
는 평균 제곱 오차, 즉 각 변동 요인에 대한 SS/df
입니다. F-통계량은 두 평균 제곱 오차 간의 비율(13.4309/2.2204)입니다. p-값은 F-검정 통계량이 계산된 검정 통계량의 값보다 큰 값을 취할 수 있는 확률입니다. 즉, P(F > 6.05)입니다. p-값이 0.0023으로 작아 열 평균값 간의 차이가 유의미하다는 것을 나타냅니다.
일원분산분석(One-way ANOVA)을 사용하여 빔 강도 비교하기
표본 데이터를 입력합니다.
strength = [82 86 79 83 84 85 86 87 74 82 ... 78 75 76 77 79 79 77 78 82 79]; alloy = {'st','st','st','st','st','st','st','st',... 'al1','al1','al1','al1','al1','al1',... 'al2','al2','al2','al2','al2','al2'};
이 데이터는 호그(Hogg)의 구조적 빔 강도에 대한 연구(1987년)에서 얻은 것입니다. 벡터 strength는 3000파운드 힘이 가해진 상황에서 천 분의 일 인치 단위로 빔의 굴절을 측정합니다. 벡터 alloy는 각 빔을 강철('st'
), 합금 1('al1'
) 또는 합금 2('al2'
)로 식별합니다. 이 예제에서는 합금이 순서대로 정렬되어 있지만 그룹화 변수를 항상 정렬할 필요는 없습니다.
강철 빔이 비용이 더 비싼 합금으로 제조된 두 빔과 강도가 같다'는 귀무가설을 검정합니다. 그림 표시를 해제하고 셀형 배열로 분산분석 결과를 반환합니다.
[p,tbl] = anova1(strength,alloy,'off')
p = 1.5264e-04
tbl=4×6 cell array
{'Source'} {'SS' } {'df'} {'MS' } {'F' } {'Prob>F' }
{'Groups'} {[184.8000]} {[ 2]} {[ 92.4000]} {[ 15.4000]} {[1.5264e-04]}
{'Error' } {[102.0000]} {[17]} {[ 6.0000]} {0x0 double} {0x0 double }
{'Total' } {[286.8000]} {[19]} {0x0 double} {0x0 double} {0x0 double }
총 자유도는 총 관측값 개수에서 1을 뺀 값, 즉 입니다. 그룹 간 자유도는 그룹 개수에서 1을 뺀 값, 즉 입니다. 그룹 내 자유도는 총 자유도에서 그룹 간 자유도를 뺀 값, 즉 입니다.
MS
는 평균 제곱 오차, 즉 각 변동 요인에 대한 SS/df
입니다. F-통계량은 두 평균 제곱 오차 간의 비율입니다. p-값은 F-검정 통계량이 검정 통계량의 값보다 크거나 같은 값을 취할 수 있는 확률입니다. p-값이 1.5264e-04이므로 귀무가설을 기각할 수 있습니다.
셀형 배열의 요소를 참조하여 분산분석표의 값을 가져올 수 있습니다. F-통계량 값과 p-값을 새 변수 Fstat
와 pvalue
에 저장합니다.
Fstat = tbl{2,5}
Fstat = 15.4000
pvalue = tbl{2,6}
pvalue = 1.5264e-04
일원분산분석(One-way ANOVA)에 대한 다중 비교
표본 데이터를 입력합니다.
strength = [82 86 79 83 84 85 86 87 74 82 ... 78 75 76 77 79 79 77 78 82 79]; alloy = {'st','st','st','st','st','st','st','st',... 'al1','al1','al1','al1','al1','al1',... 'al2','al2','al2','al2','al2','al2'};
이 데이터는 호그(Hogg)의 구조적 빔 강도에 대한 연구(1987년)에서 얻은 것입니다. 벡터 strength는 3000파운드 힘이 가해진 상황에서 천 분의 일 인치 단위로 빔의 굴절을 측정합니다. 벡터 alloy는 각 빔을 강철(st
), 합금 1(al1
) 또는 합금 2(al2
)로 식별합니다. 이 예제에서는 합금이 순서대로 정렬되어 있지만 그룹화 변수를 항상 정렬할 필요는 없습니다.
anova1
을 사용하여 일원분산분석을 수행합니다. multcompare
가 Multiple Comparisons를 수행하는 데 필요한 통계량이 포함된 구조체 stats
를 반환합니다.
[~,~,stats] = anova1(strength,alloy);
p-값이 0.0002로 작으므로 빔의 강도가 동일하지 않다는 것을 알 수 있습니다.
빔의 평균 강도에 대한 다중 비교를 수행합니다.
[c,~,~,gnames] = multcompare(stats);
그림에서 파란색 막대는 강철의 평균 재료 강도에 대한 비교 구간을 나타냅니다. 빨간색 막대는 합금 1 및 합금 2의 평균 재료 강도에 대한 비교 구간을 나타냅니다. 빨간색 막대 모두 파란색 막대와 겹치지 않습니다. 이는 강철의 평균 재료 강도가 합금 1과 합금 2의 평균 재료 강도와 현저히 다르다는 것을 나타냅니다. 합금 1과 합금 2를 나타내는 막대를 클릭하여 유의미한 차이를 확인할 수 있습니다.
여러 개의 비교 결과와 해당하는 그룹 이름을 테이블로 표시합니다.
tbl = array2table(c,"VariableNames", ... ["Group A","Group B","Lower Limit","A-B","Upper Limit","P-value"]); tbl.("Group A") = gnames(tbl.("Group A")); tbl.("Group B") = gnames(tbl.("Group B"))
tbl=3×6 table
Group A Group B Lower Limit A-B Upper Limit P-value
_______ _______ ___________ ___ ___________ __________
{'st' } {'al1'} 3.6064 7 10.394 0.00016831
{'st' } {'al2'} 1.6064 5 8.3936 0.0040464
{'al1'} {'al2'} -5.628 -2 1.628 0.35601
처음 두 열은 비교되는 그룹 쌍을 보여줍니다. 네 번째 열은 추정된 그룹 평균 간 차이를 보여줍니다. 세 번째 열과 다섯 번째 열은 실제 평균 차에 대한 95% 신뢰구간의 하한과 상한을 보여줍니다. 여섯 번째 열은 해당 그룹 간 실제 평균 차가 0이라는 가설에 대한 p-값을 보여줍니다.
처음 두 행은 첫 번째 그룹(강철)을 포함하는 두 비교 모두 0을 포함하지 않는 신뢰구간을 갖는다는 것을 보여줍니다. 해당 p-값(각각 1.6831e-04 및 0.0040)이 작기 때문에 이들 빔 간 차이는 유의한 수준입니다.
세 번째 행은 두 합금 간 강도 차이가 유의한 수준이 아니라는 것을 보여줍니다. 차이에 대한 95% 신뢰구간은 [-5.6,1.6]이며, 따라서 실제 차이가 0이라는 가설을 기각할 수 없습니다. 여섯 번째 열에 표시되는 해당 p-값이 0.3560인 것을 통해 이 결과를 확인할 수 있습니다.
입력 인수
y
— 표본 데이터
벡터 | 행렬
표본 데이터로, 벡터 또는 행렬로 지정됩니다.
y
가 벡터인 경우group
입력 인수를 지정해야 합니다.group
의 각 요소는 이에 대응하는y
요소의 그룹 이름을 나타냅니다.anova1
함수는group
의 동일한 값에 대응되는y
값들을 같은 그룹의 일부로 취급합니다. 그룹이 각각 다른 개수의 요소를 갖는 경우 이 설계를 사용합니다(불균형 분산분석).y
가 행렬이고group
을 지정하지 않은 경우,anova1
은y
의 각 열을 별도의 그룹으로 취급합니다. 이 경우 함수는 각 열별로 모집단 평균이 동일한지 여부를 평가합니다. 각 그룹이 동일한 개수의 요소를 갖는 경우 이 설계를 사용합니다(균형 분산분석).y
가 행렬이고group
을 지정하는 경우,group
의 각 요소는 이에 대응하는y
열의 그룹 이름을 나타냅니다.anova1
함수는 동일한 그룹 이름을 갖는 열을 동일한 그룹의 일부로 취급합니다.
참고
anova1
은 y
에 포함된 NaN
값을 무시합니다. 또한 group
이 비어 있거나 NaN
값을 포함하는 경우 anova1
은 y
에서 이에 대응되는 관측값을 무시합니다. anova1
함수는 빈 값이나 NaN
값을 무시한 후에 각 그룹의 관측값 개수가 동일하면 균형 분산분석을 수행합니다. 그렇지 않은 경우 anova1
은 불균형 분산분석을 수행합니다.
데이터형: single
| double
group
— 그룹화 변수
숫자형 벡터 | 논리형 벡터 | categorical형 벡터 | 문자형 배열 | string형 배열 | 문자형 벡터로 구성된 셀형 배열
그룹 이름을 포함하는 그룹화 변수로, 숫자형 벡터, 논리형 벡터, categorical형 벡터, 문자형 배열, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
y
가 벡터인 경우group
의 각 요소는 이에 대응하는y
요소의 그룹 이름을 나타냅니다.anova1
함수는group
의 동일한 값에 대응되는y
값들을 같은 그룹의 일부로 취급합니다.N은 총 관측값 개수입니다.
y
가 행렬인 경우group
의 각 요소는 이에 대응하는y
열의 그룹 이름을 나타냅니다.anova1
함수는 동일한 그룹 이름을 갖는y
의 열들을 동일한 그룹의 일부로 취급합니다.행렬 표본 데이터
y
의 그룹 이름을 지정하지 않으려는 경우에는 빈 배열([]
)을 입력하거나 이 인수를 생략하십시오. 이 경우,anova1
은y
의 각 열을 별도의 그룹으로 취급합니다.
group
이 비어 있거나 NaN
값을 포함하는 경우 anova1
은 y
에서 이에 대응되는 관측값을 무시합니다.
그룹화 변수에 대한 자세한 내용은 그룹화 변수 항목을 참조하십시오.
예: y
가 그룹 1, 2, 3으로 분류된 관측값을 갖는 벡터인 경우 'group',[1,2,1,3,1,...,3,1]
예: y
가 빨간색, 흰색, 검은색 그룹으로 분류된 5개 열을 갖는 행렬인 경우 'group',{'white','red','white','black','red'}
데이터형: single
| double
| logical
| categorical
| char
| string
| cell
displayopt
— 분산분석표와 상자 플롯을 표시할지를 나타내는 표시자
'on'
(디폴트 값) | 'off'
분산분석표와 상자 플롯을 표시할지를 나타내는 표시자로, 'on'
또는 'off'
로 지정됩니다. displayopt
가 'off'
인 경우, anova1
은 출력 인수만 반환합니다. 표준 분산분석표와 상자 플롯은 표시하지 않습니다.
예: p = anova(x,group,'off')
출력 인수
p
— F-검정의 p-값
스칼라 값
F-검정의 p-값으로, 스칼라 값으로 반환됩니다. p-값은 계산된 검정-통계량 값보다 F-통계량이 더 큰 값을 취할 수 있는 확률입니다. anova1
은 '적어도 하나의 그룹 평균이 다른 그룹 평균과 다르다'는 대립가설에 대해 '모든 그룹 평균이 서로 동일하다'는 귀무가설을 검정합니다. 이 함수는 F-분포의 cdf에서 p-값을 도출합니다.
유의수준보다 작은 p-값은 적어도 하나의 표본평균이 다른 평균과 현저히 다르다는 것을 나타냅니다. 일반적인 유의수준은 0.05 또는 0.01입니다.
tbl
— 분산분석표
셀형 배열
분산분석표로, 셀형 배열로 반환됩니다. tbl
은 6개 열을 가집니다.
열 | 정의 |
---|---|
source | 변동성의 요인입니다. |
SS | 각 요인에 의한 제곱합입니다. |
df | 각 요인와 연관된 자유도입니다. N은 총 관측값 개수이고 k는 그룹 개수라고 가정합니다. 이 경우, N – k는 그룹 내 자유도(Error )이고, k – 1은 그룹 간 자유도(Columns )이며, N – 1은 총 자유도입니다. N – 1 = (N – k) + (k – 1) |
MS | 각 요인의 평균 제곱으로, SS/df 비율입니다. |
F | F-통계량으로, 두 평균 제곱 간의 비율입니다. |
Prob>F | p-값으로, 계산된 검정-통계량 값보다 F-통계량이 더 큰 값을 취할 수 있는 확률입니다. anova1 은 F-분포의 cdf에서 이 확률을 도출합니다. |
분산분석표의 각 행은 요인별로 나뉘며 데이터의 변동성을 보여줍니다.
행 | 정의 |
---|---|
Groups | 그룹 평균 간 차이로 인한 변동성(그룹 간 변동성) |
Error | 각 그룹의 데이터와 그룹 평균 간의 차이로 인한 변동성(그룹 내 변동성) |
Total | 총 변동성 |
stats
— 다중 비교 테스트에 사용할 통계량
구조체
다중 비교 검정에 사용할 통계량으로, 다음 표에 설명되어 있는 필드를 가진 구조체로 반환됩니다.
필드 이름 | 정의 |
---|---|
gnames | 그룹의 이름 |
n | 각 그룹의 관측값 개수 |
source | stats 출력값의 요인 |
means | 평균의 추정값 |
df | 오차(그룹 내) 자유도(N – k, 여기서 N은 총 관측값 개수이고 k는 그룹 개수임) |
s | 평균 제곱 오차의 제곱근 |
세부 정보
상자 플롯
anova1
은 y
에 있는 각 그룹의 관측값에 대한 상자 플롯을 반환합니다. 상자 플롯은 그룹 위치 모수에 대한 시각적 비교를 제공합니다.
각 상자에서 중앙에 있는 표시가 중앙값(제2사분위수, q2)이고 상자의 가장자리가 25번째 백분위수(제1사분위수, q1)와 75번째 백분위수(제3사분위수, q3)입니다. 수염(Whisker)은 이상값으로 간주되지 않는 최대 또는 최소 데이터 점까지 확장됩니다. 이상값은 '+'
기호를 사용하여 개별적으로 플로팅됩니다. 수염의 극값은 q3 + 1.5 × (q3 – q1) 및 q1 – 1.5 × (q3 – q1)에 대응됩니다.
상자 플롯에는 중앙값 비교를 위한 노치가 있습니다. 두 중앙값은 노치로 나타낸 구간이 겹쳐지지 않는 경우 5% 유의수준에서 현저히 다릅니다. 이 검정은 분산분석에서 수행하는 F-검정과 다릅니다. 하지만 상자에서 중심선의 차이가 크면 F-통계량 값이 큰 것을 나타내며 따라서 p-값이 작음을 나타냅니다. 노치의 극값은 q2 – 1.57(q3 – q1)/sqrt(n) 및 q2 + 1.57(q3 – q1)/sqrt(n)에 대응됩니다. 여기서 n은 NaN
값을 제외한 관측값 개수입니다. 경우에 따라 노치가 상자 외부로 확장될 수 있습니다.
참고 문헌
[1] Hogg, R. V., and J. Ledolter. Engineering Statistics. New York: MacMillan, 1987.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)