zscore
표준화된 z-점수
구문
설명
는 Z
= zscore(X
)X
의 각 요소에 대한 z-점수를 반환합니다. X
의 열은 평균 0을 갖도록 중심화되고 표준편차 1을 갖도록 크기가 조정됩니다. 즉, 정규화됩니다. Z
는 X
와 크기가 같습니다.
X
가 벡터이면Z
는 z-점수로 구성된 벡터입니다.X
가 행렬이면Z
는X
와 같은 크기의 행렬이고,Z
의 각 열은 평균이 0이고 표준편차가 1입니다.다차원 배열의 경우
Z
의 z-점수는X
의 첫 번째 비한원소 차원을 따라 계산됩니다.
예제
두 데이터 벡터의 Z-점수
두 데이터 벡터의 -점수를 계산하고 플로팅한 후 결과를 비교합니다.
표본 데이터를 불러옵니다.
load lawdata
두 변수 gpa
와 lsat
가 작업 공간에 들어옵니다.
동일한 좌표축에 두 변수를 모두 플로팅합니다.
plot([gpa,lsat]) legend('gpa','lsat','Location','East')
이 두 측정값은 척도가 매우 다르므로 비교하기가 어렵습니다.
gpa
와 lsat
의 -점수를 동일한 좌표축에 플로팅합니다.
Zgpa = zscore(gpa); Zlsat = zscore(lsat); plot([Zgpa, Zlsat]) legend('gpa z-scores','lsat z-scores','Location','Northeast')
이제, gpa
결과 및 lsat
결과와 관련하여 개인의 상대적인 성과를 볼 수 있습니다. 예를 들어, 세 번째 개인의 gpa
결과와 lsat
결과는 모두 표본평균보다 1 표준편차 아래에 있습니다. 11번째 개인의 gpa
는 표본평균에 가깝지만, lsat
점수는 표본평균보다 거의 1.25 표준편차 위에 있습니다.
생성한 -점수의 평균과 표준편차를 확인합니다.
mean([Zgpa,Zlsat])
ans = 1×2
10-14 ×
-0.1088 0.0357
std([Zgpa,Zlsat])
ans = 1×2
1 1
정의에 따라 gpa
및 lsat
의 -점수는 평균이 0이고 표준편차가 1입니다.
표본에 대한 모집단의 Z-점수
표본 데이터를 불러옵니다.
load lawdata
두 변수 gpa
와 lsat
가 작업 공간에 들어옵니다.
모집단 표준편차 공식을 사용하여 gpa
의 -점수를 계산합니다.
Z1 = zscore(gpa,1); % population formula Z0 = zscore(gpa,0); % sample formula disp([Z1 Z0])
1.2554 1.2128 0.8728 0.8432 -1.2100 -1.1690 -0.2749 -0.2656 1.4679 1.4181 -0.1049 -0.1013 -0.4024 -0.3888 1.4254 1.3771 1.1279 1.0896 0.1502 0.1451 0.1077 0.1040 -1.5076 -1.4565 -1.4226 -1.3743 -0.9125 -0.8815 -0.5724 -0.5530
모집단에서 추출한 표본의 경우, 분모로 을 갖는 모집단 표준편차 공식은 모집단 표준편차의 최대가능도 추정값에 대응되고 편향적일 수 있습니다. 반면, 표본 표준편차 공식은 표본에 대한 모집단 표준편차의 무편향 추정량입니다.
데이터 행렬의 Z-점수
데이터 행렬의 열 또는 행을 따라 계산된 평균 및 표준편차를 사용하여 -점수를 계산합니다.
표본 데이터를 불러옵니다.
load flu
dataset형 배열 flu
가 작업 공간에 들어옵니다. flu
는 11개 변수에 대한 52개의 관측값을 가집니다. 첫 번째 변수는 날짜(단위: 주)를 포함합니다. 나머지 변수는 미국의 여러 지역에 대한 독감 추정값을 포함합니다.
dataset형 배열을 데이터 행렬로 변환합니다.
flu2 = double(flu(:,2:end));
새 데이터 행렬 flu2
는 52×10 double형 데이터 행렬입니다. 데이터 세트 배열 flu
에서 행은 주에 대응되고 열은 미국 지역에 대응됩니다.
각 지역(flu2
의 열)에 대한 독감 추정값을 표준화합니다.
Z1 = zscore(flu2,[ ],1);
작업 공간에 생성된 행렬 Z1
을 더블 클릭하여 변수 편집기에서 -점수를 확인할 수 있습니다.
각 주(flu2
의 행)에 대한 독감 추정값을 표준화합니다.
Z2 = zscore(flu2,[ ],2);
다차원 배열의 Z-점수
여러 차원을 따라 데이터를 표준화하도록 지정하여 다차원 배열의 z-점수를 구합니다. 'all'
, dim
, vecdim
입력 인수를 사용하는 경우의 결과를 비교합니다.
3×4×2 배열을 생성합니다.
X = reshape(1:24,[3 4 2])
X = X(:,:,1) = 1 4 7 10 2 5 8 11 3 6 9 12 X(:,:,2) = 13 16 19 22 14 17 20 23 15 18 21 24
X
에 포함된 모든 값에 대한 평균 및 표준편차를 사용하여 X
를 표준화합니다.
Zall = zscore(X,0,'all')
Zall = Zall(:,:,1) = -1.6263 -1.2021 -0.7778 -0.3536 -1.4849 -1.0607 -0.6364 -0.2121 -1.3435 -0.9192 -0.4950 -0.0707 Zall(:,:,2) = 0.0707 0.4950 0.9192 1.3435 0.2121 0.6364 1.0607 1.4849 0.3536 0.7778 1.2021 1.6263
결과로 생성되는, z-점수로 구성된 다차원 배열은 평균이 0이고 표준편차가 1입니다. 예를 들어, Zall
의 평균 및 표준편차를 계산합니다.
mZall = mean(Zall(:,:,:),'all')
mZall = -9.2519e-18
sZall = std(Zall(:,:,:),0,'all')
sZall = 1.0000
이제, 두 번째 차원을 따라 X
를 표준화합니다.
Zdim = zscore(X,0,2)
Zdim = Zdim(:,:,1) = -1.1619 -0.3873 0.3873 1.1619 -1.1619 -0.3873 0.3873 1.1619 -1.1619 -0.3873 0.3873 1.1619 Zdim(:,:,2) = -1.1619 -0.3873 0.3873 1.1619 -1.1619 -0.3873 0.3873 1.1619 -1.1619 -0.3873 0.3873 1.1619
Zdim
의 각 페이지에서 각 행의 요소는 평균이 0이고 표준편차가 1입니다. 예를 들어, Zdim
의 두 번째 페이지에서 첫 번째 행의 평균 및 표준편차를 계산합니다.
mZdim = mean(Zdim(1,:,2),'all')
mZdim = 0
sZdim = std(Zdim(1,:,2),0,'all')
sZdim = 1
마지막으로, 두 번째 차원과 세 번째 차원을 기준으로 X
를 표준화합니다.
Zvecdim = zscore(X,0,[2 3])
Zvecdim = Zvecdim(:,:,1) = -1.4289 -1.0206 -0.6124 -0.2041 -1.4289 -1.0206 -0.6124 -0.2041 -1.4289 -1.0206 -0.6124 -0.2041 Zvecdim(:,:,2) = 0.2041 0.6124 1.0206 1.4289 0.2041 0.6124 1.0206 1.4289 0.2041 0.6124 1.0206 1.4289
각 Zvecdim(i,:,:)
슬라이스의 요소는 평균이 0이고 표준편차가 1입니다. 예를 들어, Zvecdim(1,:,:)
에 포함된 요소의 평균과 표준편차를 계산해 봅니다.
mZvecdim = mean(Zvecdim(1,:,:),'all')
mZvecdim = 2.7756e-17
sZvecdim = std(Zvecdim(1,:,:),0,'all')
sZvecdim = 1
Z-점수, 평균, 표준편차
-점수를 계산하는 데 사용된 평균과 표준편차를 반환합니다.
표본 데이터를 불러옵니다.
load lawdata
두 변수 gpa
와 lsat
가 작업 공간에 들어옵니다.
gpa
의 -점수, 평균, 표준편차를 반환합니다.
[Z,gpamean,gpastdev] = zscore(gpa)
Z = 15×1
1.2128
0.8432
-1.1690
-0.2656
1.4181
-0.1013
-0.3888
1.3771
1.0896
0.1451
⋮
gpamean = 3.0947
gpastdev = 0.2435
입력 인수
X
— 입력 데이터
벡터 | 행렬 | 다차원 배열
입력 데이터로, 벡터, 행렬 또는 다차원 배열로 지정됩니다.
데이터형: double
| single
dim
— 차원
양의 정수 스칼라
X
의 z-점수를 계산할 차원으로, 양의 정수 스칼라로 지정됩니다. 값을 지정하지 않으면 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.
예를 들어, 행렬 X
에 대해 dim
= 1이면 zscore
는 X
의 열을 따라 평균과 표준편차를 사용하고, dim
= 2이면 zscore
는 X
의 행을 따라 평균과 표준편차를 사용합니다.
vecdim
— 차원의 벡터
양의 정수 벡터
출력 인수
Z
— z-점수
벡터 | 행렬 | 다차원 배열
z-점수로, 벡터, 행렬 또는 다차원 배열로 반환됩니다. Z
는 X
와 동일한 차원을 가집니다.
Z
의 값은 사용자가 'all'
, dim
또는 vecdim
중 무엇을 지정하는지에 따라 달라집니다. 이러한 입력 인수를 지정하지 않을 경우 다음 조건이 적용됩니다.
X
가 벡터이면Z
는 평균이 0이고 분산이 1인 z-점수로 구성된 벡터입니다.X
가 배열이면zscore
는X
의 첫 번째 비한원소 차원을 따라 표준화합니다.
'all'
, dim
, vecdim
을 사용할 때 Z
의 차이를 보여주는 예는 다차원 배열의 Z-점수 항목을 참조하십시오.
세부 정보
Z-점수
평균 μ 및 표준편차 σ를 갖는 확률 변수 X에 대해 값 x의 z-점수는 다음과 같습니다.
평균 및 표준편차 S를 갖는 표본 데이터에 대해 데이터 점 x의 z-점수는 다음과 같습니다.
z-점수(Z-Score)는 표준편차 측면에서 데이터 점이 평균으로부터 떨어진 거리를 측정합니다. 이를 데이터의 표준화(Standardization)라고도 합니다. 표준화된 데이터 세트는 평균 0 및 표준편차 1을 가지며 원래 데이터 세트의 형태 속성(동일한 왜도 및 첨도)을 유지합니다.
z-점수를 사용하면 추가 분석을 수행하기 전에 동일한 척도로 데이터를 배치할 수 있습니다. 이렇게 하면 단위가 서로 다른 둘 이상의 데이터 세트를 비교할 수 있습니다.
다차원 배열
다차원 배열(multidimensional array)은 3차원 이상을 갖는 배열입니다. 예를 들어, X가 1×3×4 배열이면 X
는 3차원 배열입니다.
첫 번째 비한원소 차원
첫 번째 비한원소 차원(first nonsingleton dimension)은 배열에서 크기가 1이 아닌 첫 번째 차원입니다. 예를 들어, X
가 1×2×3×4 배열이면 두 번째 차원이 X
의 첫 번째 비한원소 차원입니다.
표본 표준편차
표본 표준편차 S는 다음으로 지정됩니다.
S는 X
가 똑같이 분산된 독립된 표본으로 구성된 경우에 한해 X
가 추출된 모집단의 분산에 대한 무편향 추정량의 제곱근입니다. 는 표본평균입니다.
여기서 이 분산 공식의 분모는 n – 1입니다.
모집단 표준편차
데이터가 전체 모집단 값인 경우 다음과 같은 모집단 표준편차를 사용할 수 있습니다.
X
가 모집단에서 추출한 임의 표본인 경우 μ는 표본평균에 의해 추정되고 σ는 모집단 표준편차에 대한 편향 최대가능도 추정량입니다.
여기서 이 분산 공식의 분모는 n입니다.
알고리즘
zscore
는 NaN
을 포함하는 표본에 대해 NaN
을 반환합니다.
zscore
는 상수(모든 값이 동일함)인 표본에 대해 0
을 반환합니다. 예를 들어, X
가 동일한 숫자형 값으로 구성된 벡터이면 Z
는 0
으로 구성된 벡터가 됩니다.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
이 함수는 tall형 배열을 완전히 지원합니다. 자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
'all'
및vecdim
입력 인수는 지원되지 않습니다.dim
입력 인수는 컴파일타임 상수여야 합니다.dim
입력 인수를 지정하지 않으면 작업(또는 연산) 차원이 생성된 코드와 다를 수 있습니다. 그 결과 런타임 오류가 발생할 수 있습니다. 자세한 내용은 Automatic dimension restriction (MATLAB Coder) 항목을 참조하십시오.
코드 생성에 대한 자세한 내용은 Introduction to Code Generation 항목 및 General Code Generation Workflow 항목을 참조하십시오.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
'all'
및vecdim
입력 인수는 지원되지 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
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)