주요 콘텐츠

kruskalwallis

크루스칼-왈리스 검정

설명

p = kruskalwallis(x)는 행렬 x의 각 열에 있는 데이터가 동일한 분포에서 나온다는 귀무가설에 대해 크루스칼-왈리스 검정을 사용하여 p-값을 반환합니다. 대립가설은 모든 표본이 동일한 분포에서 나오지는 않는다는 것입니다. 크루스칼-왈리스 검정은 일원분산분석에 대한 비모수적 대안을 제공합니다. 자세한 내용은 크루스칼-왈리스 검정 항목을 참조하십시오.

예제

p = kruskalwallis(x,group)은 그룹화 변수 group으로 지정된 각 범주형 그룹의 데이터가 동일한 분포에서 나온다는 귀무가설에 대해 검정의 p-값을 반환합니다. 대립가설은 모든 그룹이 동일한 분포에서 나오지는 않는다는 것입니다.

예제

p = kruskalwallis(x,group,displayopt)는 검정의 p-값을 반환하면서 분산분석표와 상자 플롯을 표시하도록 하거나 표시하지 않도록 할 수 있습니다.

예제

[p,tbl,stats] = kruskalwallis(___)는 분산분석표도 셀형 배열 tbl로 반환하고, 검정 통계량 정보도 구조체 stats로 반환합니다.

예제

예제

모두 축소

두 개의 서로 다른 정규 확률 분포 객체를 생성합니다. 첫 번째 분포는 mu = 0sigma = 1이고, 두 번째 분포는 mu = 2sigma = 1입니다.

pd1 = makedist('Normal');
pd2 = makedist('Normal','mu',2,'sigma',1);

이러한 두 개의 분포에서 난수를 생성하여 표본 데이터에 대한 행렬을 만듭니다.

rng('default'); % for reproducibility
x = [random(pd1,20,2),random(pd2,20,1)];

x의 처음 두 열에는 첫 번째 분포에서 생성된 데이터가 있고, 세 번째 열에는 두 번째 분포에서 생성된 데이터가 있습니다.

x의 각 열에 있는 표본 데이터가 동일한 분포에서 나왔다는 귀무가설을 검정합니다.

p = kruskalwallis(x)

Figure Kruskal-Wallis One-way ANOVA contains objects of type uicontrol.

Figure contains an axes object. The axes object contains 21 objects of type line. One or more of the lines displays its values using only markers

p = 
3.6896e-06

반환된 값 pkruskalwallis가 1% 유의수준에서 모든 세 가지 데이터 표본이 동일한 분포에서 나온다는 귀무가설을 기각함을 나타냅니다. 분산분석표는 추가적인 검정 결과를 제공하고, 상자 플롯은 x의 각 열에 대한 요약 통계량을 시각적으로 보여줍니다.

두 개의 서로 다른 정규 확률 분포 객체를 생성합니다. 첫 번째 분포는 mu = 0sigma = 1을 갖습니다. 두 번째 분포는 mu = 2sigma = 1을 갖습니다.

pd1 = makedist('Normal');
pd2 = makedist('Normal','mu',2,'sigma',1);

이러한 두 개의 분포에서 난수를 생성하여 표본 데이터에 대한 행렬을 만듭니다.

rng('default'); % for reproducibility
x = [random(pd1,20,2),random(pd2,20,1)];

x의 처음 두 열에는 첫 번째 분포에서 생성된 데이터가 있고, 세 번째 열에는 두 번째 분포에서 생성된 데이터가 있습니다.

x의 각 열에 있는 표본 데이터가 동일한 분포에서 나왔다는 귀무가설을 검정합니다. 출력값 표시를 차단하고 추가 검정에 사용할 구조체 stats를 생성합니다.

[p,tbl,stats] = kruskalwallis(x,[],'off')
p = 
3.6896e-06
tbl=4×6 cell array
    {'Source' }    {'SS'        }    {'df'}    {'MS'        }    {'Chi-sq'  }    {'Prob>Chi-sq'}
    {'Columns'}    {[7.6311e+03]}    {[ 2]}    {[3.8155e+03]}    {[ 25.0200]}    {[ 3.6896e-06]}
    {'Error'  }    {[1.0364e+04]}    {[57]}    {[  181.8228]}    {0×0 double}    {0×0 double   }
    {'Total'  }    {[     17995]}    {[59]}    {0×0 double  }    {0×0 double}    {0×0 double   }

stats = struct with fields:
       gnames: [3×1 char]
            n: [20 20 20]
       source: 'kruskalwallis'
    meanranks: [26.7500 18.9500 45.8000]
         sumt: 0

반환된 값 p는 검정이 1% 유의수준에서 귀무가설을 기각함을 나타냅니다. 구조체 stats를 사용하여 추가 후속 검정을 수행할 수도 있습니다. 셀형 배열 tbl에는 그래픽 분산분석표와 동일한 데이터가 포함되어 있습니다(열과 행 레이블 포함).

다른 분포에서 나온 데이터 표본이 어느 표본인지를 식별하기 위해 후속 검정을 수행합니다.

c = multcompare(stats);
Note: Intervals can be used for testing but are not simultaneous confidence intervals.

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

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

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

       1          2         -5.1435         7.8       20.744         0.33446
       1          3         -31.994      -19.05      -6.1065       0.0016282
       2          3         -39.794      -26.85      -13.906      3.4768e-06

결과는 그룹 1과 3 사이에 유의미한 차이가 있음을 나타내므로, 이 검정은 두 그룹의 데이터가 동일한 분포에서 나왔다는 귀무가설을 기각합니다. 그룹 2와 3에서도 마찬가지입니다. 그러나 그룹 1과 2 사이에 유의미한 차이가 없으므로, 이 검정은 두 그룹이 동일한 분포에서 나왔다는 귀무가설을 기각하지 않습니다. 따라서 이러한 결과는 그룹 1과 2의 데이터는 동일한 분포에서 나왔고, 그룹 3의 데이터는 다른 분포에서 나왔다는 것을 의미합니다.

금속 빔 강도의 측정값을 포함하는 벡터 strength를 생성합니다. 해당 빔이 만들어진 금속 합금의 유형을 나타내는 두 번째 벡터 alloy를 만듭니다.

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'};

세 가지 합금 모두에서 빔 강도 측정값이 동일한 분포를 갖는다는 귀무가설을 검정합니다.

p = kruskalwallis(strength,alloy,'off')
p = 
0.0018

반환된 값 p는 검정이 1% 유의수준에서 귀무가설을 기각함을 나타냅니다.

입력 인수

모두 축소

가설검정에 대한 표본 데이터로, 벡터 또는 m×n 행렬로 지정됩니다. xm×n 행렬이면, n개의 각 열은 m개의 상호 독립적 관측값을 포함하는 독립 표본을 나타냅니다.

데이터형: single | double

그룹화 변수로, 숫자형 또는 논리형 벡터, 문자형 또는 string형 배열로 지정되거나 문자형 벡터로 구성된 셀형 배열로 지정됩니다.

  • x가 벡터이면, group의 각 요소는 x에 있는 대응 요소가 속한 그룹을 식별해 주며, groupx와 동일한 길이의 벡터여야 합니다. group의 행에 빈 값이 있는 경우 해당 행과 x에 있는 대응 관측값은 무시됩니다. x 또는 groupNaN 값도 마찬가지로 무시됩니다.

  • x가 행렬이면, x의 각 열은 서로 다른 그룹을 나타내며, 이러한 열의 레이블은 group을 사용하여 지정할 수 있습니다. group의 요소 개수와 x의 열 개수는 동일해야 합니다.

group에 포함된 레이블은 상자 플롯에 주석으로 표시됩니다.

예: {'red','blue','green','blue','red','blue','green','green','red'}

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

표시 옵션으로, 'on' 또는 'off'로 지정됩니다. displayopt'on'인 경우 kruskalwallis는 다음과 같은 그림을 표시합니다.

  • x에 있는 데이터의 순위를 기반으로 계산된 제곱합, 자유도 및 기타 수량을 포함하는 분산분석표.

  • 데이터 행렬 x의 각 열에 있는 데이터에 대한 상자 플롯. 상자 플롯은 순위가 아닌 실제 데이터 값을 기반으로 합니다.

displayopt'off'인 경우 kruskalwallis는 이러한 그림을 표시하지 않습니다.

displayopt에 값을 지정하는 경우 group에도 값을 지정해야 합니다. 그룹화 변수가 없는 경우 group[]로 지정하십시오.

예: 'off'

출력 인수

모두 축소

검정의 p-값으로, [0,1] 범위 내에 있는 스칼라 값으로 반환됩니다. p는 귀무가설 하의 관측값과 같거나 그보다 더 극단적인 검정 통계량이 관측될 확률입니다. p 값이 작으면 귀무가설이 유효하지 않을 수 있음을 나타냅니다.

검정 결과의 분산분석표(ANOVA table)로, 셀형 배열로 반환됩니다. tblx의 데이터 순위를 기반으로 계산된 제곱합, 자유도 및 기타 수량과 열 및 행 레이블도 포함합니다.

검정 데이터로, 구조체로 반환됩니다. multcompare를 사용하고 stats를 입력값으로 사용하여 표본 중앙값 쌍에 대한 후속 다중 비교 검정을 수행할 수 있습니다.

세부 정보

모두 축소

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |

도움말 항목