Main Content

qqplot

q-q(분위수-분위수) 플롯

설명

예제

qqplot(x)는 표본 데이터 x의 분위수와 정규분포의 이론적 분위수 값에 대한 q-q(분위수-분위수) 플롯을 표시합니다. x의 분포가 정규분포이면 데이터 플롯이 선형으로 나타납니다.

qqplot은 플러스 기호('+') 마커를 사용하여 x의 각 데이터 점을 플로팅하고 이론적 분포를 나타내는 두 개의 기준선을 그립니다. 실선 기준선은 데이터의 제1사분위수와 제3사분위수를 연결하고, 파선 기준선은 실선을 데이터의 끝까지 연장합니다.

예제

qqplot(x,pd)는 표본 데이터 x의 분위수와 확률 분포 객체 pd로 지정된 분포의 이론적 분위수에 대한 q-q(분위수-분위수) 플롯을 표시합니다. x의 분포가 pd로 지정된 분포와 같으면 플롯이 선형으로 나타납니다.

예제

qqplot(x,y)는 표본 데이터 x의 분위수와 표본 데이터 y의 분위수에 대한 q-q(분위수-분위수) 플롯을 표시합니다. 표본이 동일한 분포에서 추출된 경우 플롯은 선형으로 나타납니다.

qqplot(___,pvec)는 벡터 pvec에 지정된 분위수를 사용하여 q-q(분위수-분위수) 플롯을 표시합니다. 위에 열거된 구문에 나와 있는 입력 인수의 조합 다음에 pvec를 지정하십시오.

예제

qqplot(ax,___)Axes 객체 ax로 지정된 플롯 좌표축을 사용합니다. 옵션 ax는 위에 열거된 구문의 모든 입력 인수 조합 앞에 올 수 있습니다.

h = qqplot(___)은 q-q(분위수-분위수) 플롯의 선에 대한 핸들(h)을 반환합니다.

예제

모두 축소

q-q(분위수-분위수) 플롯을 사용하여 메사추세츠주의 휘발유 가격이 정규분포를 따르는지 여부를 확인합니다.

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

load gas

price1price2의 표본 데이터는 메사추세츠주에 있는 20개 주유소의 휘발유 가격을 나타냅니다. 표본은 달을 달리해 두 달 동안 수집되었습니다.

q-q(분위수-분위수) 플롯을 생성하여 price1의 휘발유 가격이 정규분포를 따르는지 여부를 확인합니다.

figure
qqplot(price1)

Figure contains an axes object. The axes object with title QQ Plot of Sample Data versus Standard Normal, xlabel Standard Normal Quantiles, ylabel Quantiles of Input Sample contains 3 objects of type line. One or more of the lines displays its values using only markers

이 플롯에서는 거의 직선에 가까운 선이 생성됩니다. 이는 휘발유 가격이 정규분포를 따름을 나타냅니다.

q-q(분위수-분위수) 플롯을 사용하여 두 표본 데이터 세트가 같은 분포에서 추출된 것인지 여부를 확인합니다.

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

load gas

price1price2의 표본 데이터는 메사추세츠주에 있는 20개 주유소의 휘발유 가격을 나타냅니다. 표본은 달을 달리해 두 달 동안 수집되었습니다.

두 표본 데이터 세트를 모두 사용하여 q-q(분위수-분위수) 플롯을 생성해 서로 다른 시간의 가격이 같은 분포를 갖는지 여부를 평가합니다.

qqplot(price1,price2);

Figure contains an axes object. The axes object with xlabel X Quantiles, ylabel Y Quantiles contains 3 objects of type line. One or more of the lines displays its values using only markers

이 플롯에서는 거의 직선에 가까운 선이 생성됩니다. 이는 두 표본 데이터 세트의 분포가 같음을 나타냅니다.

q-q(분위수-분위수) 플롯을 사용하여 표본 데이터가 베이불 분포에서 추출된 것인지 여부를 확인합니다.

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

load lightbulb

데이터의 첫 번째 열에는 두 가지 유형의 전구 수명(단위: 시간)이 있습니다. 두 번째 열에는 전구 유형에 대한 정보가 있습니다. 1은 형광등을 나타내는 반면, 0은 백열등을 나타냅니다. 세 번째 열에는 중도절단 정보가 있습니다. 1은 중도절단된 데이터를 나타내고, 0은 정확한 고장 시간을 나타냅니다. 이는 시뮬레이션된 데이터입니다.

중도절단된 데이터를 제거합니다.

lightbulb = [lightbulb(lightbulb(:,3)==0,1),...
    lightbulb(lightbulb(:,3)==0,2)];

각 전구 유형에 대한 변수를 만듭니다. 중도절단된 데이터만 포함합니다.

fluo = [lightbulb(lightbulb(:,2)==0,1)];
insc = [lightbulb(lightbulb(:,2)==1,1)];

디폴트 모수 A = 1B = 1을 사용하여 베이불 확률 분포 객체를 만듭니다.

pd = makedist('Weibull');

q-q 플롯을 생성하여 형광등의 수명이 베이불 분포를 갖는지 여부를 확인합니다.

figure
qqplot(fluo,pd)

Figure contains an axes object. The axes object with title QQ Plot of Sample Data versus Distribution, xlabel Quantiles of Weibull Distribution, ylabel Quantiles of Input Sample contains 3 objects of type line. One or more of the lines displays its values using only markers

이 플롯은 직선이 아닙니다. 이는 형광등의 수명 데이터가 베이불 분포를 따르지 않음을 나타냅니다.

tiledlayout 함수 및 nexttile 함수를 사용하여 q-q(분위수-분위수) 플롯 쌍을 나란히 표시합니다.

patients 데이터 세트를 불러옵니다. 환자의 확장기 혈압 수준을 흡연자의 확장기 혈압 수준을 포함하는 데이터 세트와 비흡연자의 확장기 혈압 수준을 포함하는 데이터 세트의 두 데이터 세트로 구분합니다.

load patients

smokerIndices = (Smoker == 1);
nonsmokerIndices = (Smoker == 0);

smokerDiastolic = Diastolic(smokerIndices);
nonsmokerDiastolic = Diastolic(nonsmokerIndices);

tiledlayout 함수를 사용하여 2×1 타일 형식 차트 레이아웃을 만듭니다. nexttile 함수를 호출하여 차트 레이아웃 내에 첫 번째 좌표축 세트 ax1을 만듭니다. 좌표축에 q-q 플롯을 표시하여 흡연자의 확장기 혈압 수준이 정규분포에서 추출된 것인지 여부를 확인합니다. nexttile 함수를 호출하여 타일 형식 차트 레이아웃 내에 두 번째 좌표축 세트 ax2를 만듭니다. 좌표축에 q-q 플롯을 표시하여 비흡연자의 확장기 혈압 수준이 정규분포에서 추출된 것인지 여부를 확인합니다.

tiledlayout(2,1)

% Top axes
ax1 = nexttile;
qqplot(ax1,smokerDiastolic)
ylabel(ax1,'Diastolic Quantiles for Smokers')
title(ax1,'QQ Plot of Smoker Diastolic Levels vs. Standard Normal')

% Bottom axes
ax2 = nexttile;
qqplot(ax2,nonsmokerDiastolic)
ylabel(ax2,'Diastolic Quantiles for Nonsmokers')
title(ax2,'QQ Plot of Nonsmoker Diastolic Levels vs. Standard Normal')

Figure contains 2 axes objects. Axes object 1 with title QQ Plot of Smoker Diastolic Levels vs. Standard Normal, xlabel Standard Normal Quantiles, ylabel Diastolic Quantiles for Smokers contains 3 objects of type line. One or more of the lines displays its values using only markers Axes object 2 with title QQ Plot of Nonsmoker Diastolic Levels vs. Standard Normal, xlabel Standard Normal Quantiles, ylabel Diastolic Quantiles for Nonsmokers contains 3 objects of type line. One or more of the lines displays its values using only markers

두 번째 플롯은 직선을 더 가깝게 따르는데, 이는 비흡연자 혈압 값의 표본이 대략적으로 정규분포를 갖는다는 것을 나타냅니다. 그에 반해, 첫 번째 플롯은 왼쪽 선 아래에 점이 있으며, 이는 정규분포보다 꼬리가 더 두껍다는 것(이상값이 더 많음)을 나타냅니다.

입력 인수

모두 축소

표본 데이터로, 숫자형 벡터나 숫자형 행렬로 지정됩니다. x가 행렬인 경우, qqplot은 각 열에 대해 별개의 선을 표시합니다.

qqplot은 플롯 기호 '+'를 사용하여 표본 데이터를 표시합니다. 각 분포의 제1사분위수와 제3사분위수를 연결하는 선이 플롯에 겹쳐집니다. 이 선은 x의 데이터에 대한 순서 통계량의 로버스트 선형 피팅을 나타냅니다. 이 선은 데이터의 선형성을 평가하는 데 도움이 되도록 x의 최솟값 및 최댓값에까지 외삽됩니다.

데이터형: single | double

두 번째 표본 데이터 세트로, 숫자형 벡터나 숫자형 행렬로 지정됩니다. xy의 길이가 같을 필요는 없습니다. 그러나 xy가 행렬인 경우 동일한 개수의 열을 포함해야 합니다. xy가 행렬인 경우 qqplot은 각각의 열 쌍에 대해 별개의 선을 표시합니다.

qqplot은 더 작은 데이터 세트의 크기를 기준으로 플로팅할 분위수를 선택합니다.

데이터형: single | double

가정된 확률 분포로, 확률 분포 객체로 지정됩니다. qqplot은 입력 데이터 x의 분위수와 pd로 지정된 분포의 이론적 분위수를 플로팅합니다.

makedist를 사용하여 지정된 모수 값으로 확률 분포 객체를 만들거나 fitdist를 사용하여 확률 분포 객체를 데이터에 피팅합니다.

플롯의 분위수로, [0,100] 범위의 숫자형 값 또는 숫자형 값으로 구성된 벡터로 지정됩니다.

단일 표본 데이터 세트(x)의 경우 qqplotx의 분위수를 사용합니다. 두 표본 데이터 세트(xy)의 경우 qqplot은 두 데이터 세트 중 작은 데이터 세트의 분위수를 사용합니다.

데이터형: single | double

플롯의 좌표축으로, Axes 객체로 지정됩니다. ax를 지정하지 않을 경우 qqplot은 현재 좌표축을 사용하여 플롯을 생성합니다. Axes 객체를 생성하는 방법에 대한 자세한 내용은 axes를 참조하십시오.

출력 인수

모두 축소

line 객체의 그래픽스 핸들로, Line 그래픽스 핸들로 구성된 벡터로 반환됩니다. 그래픽스 핸들은 플롯에서 특정 선의 속성을 쿼리하고 수정하는 데 사용할 수 있는 고유 식별자입니다. x의 각 열에 대해 qqplot은 다음 세 개의 핸들을 반환합니다.

  • 데이터 점을 나타내는 선. qqplot은 플러스 기호('+') 마커를 사용하여 x의 각 데이터 점을 나타냅니다.

  • x의 각 열의 제1사분위수와 제3사분위수를 연결하는 선(실선으로 표시됨).

  • x의 최솟값 및 최댓값에까지 연장한 분위수 선의 외삽(파선으로 표시됨).

line 객체의 속성을 보고 설정하려면 점 표기법을 사용하십시오. 점 표기법 사용에 대한 자세한 내용은 속성값 액세스 항목을 참조하십시오. 설정할 수 있는 Line 속성에 대한 자세한 내용은 Line 속성 항목을 참조하십시오.

세부 정보

모두 축소

q-q(분위수-분위수) 플롯

q-q(분위수-분위수) 플롯(q-q 플롯이라고도 함)은 표본 데이터가 지정된 분포에서 추출된 것인지 여부를 시각적으로 평가합니다. 또는 q-q 플롯은 두 표본 데이터 세트가 동일한 분포에서 추출된 것인지 여부를 평가합니다.

q-q 플롯은 표본 데이터 값을 가장 작은 값에서 가장 큰 값으로 정렬한 다음 이러한 값을 표본 데이터의 각 분위수에서 지정된 분포의 기대값과 비교하여 플로팅합니다. 입력 표본의 분위수 값은 y축을 따라 표시되고, 동일한 분위수에서 지정된 분포의 이론적 값은 x축을 따라 표시됩니다. 결과 플롯이 선형인 경우에는 표본 데이터가 지정된 분포에서 추출되었을 가능성이 있습니다.

q-q 플롯은 표본 데이터의 값 개수를 기준으로 분위수를 선택합니다. 표본 데이터에 n개의 값이 포함된 경우 플롯은 n 분위수를 사용합니다. 지정된 분포의 i0.5n번째 분위수에 대해 i번째로 정렬된 값(i번째 순서 통계량이라고도 함)을 플로팅합니다.

또한, q-q 플롯은 기본 분포를 모르더라도 두 표본 데이터 세트가 동일한 분포를 갖는지 여부를 평가할 수 있습니다. 첫 번째 데이터 세트의 분위수 값은 x축에 표시되고, 두 번째 데이터 세트에서 대응되는 분위수 값은 y축에 표시됩니다. q-q 플롯은 분위수를 기반으로 하므로, 두 표본의 데이터 점 개수가 같을 필요는 없습니다. 표본 크기가 같지 않을 경우 q-q 플롯은 더 작은 데이터 세트를 기준으로 분위수를 선택합니다. 결과 플롯이 선형인 경우에는 두 표본 데이터 세트가 동일한 분포에서 추출되었을 가능성이 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

|

도움말 항목