corrcoef
상관 계수(Correlation Coefficient)
구문
설명
___ = corrcoef(___,
는 하나 이상의 Name,Value
)Name,Value
쌍 인수를 추가 옵션으로 지정하여 위에 열거된 구문에 나와 있는 출력 인수를 반환합니다. 예를 들어, corrcoef(A,'Alpha',0.1)
은 90% 신뢰구간을 지정하고, corrcoef(A,'Rows','complete')
는 NaN
값이 하나 이상 포함된 A
의 모든 행을 생략합니다.
예제
난수 열로 구성된 행렬
정규분포된 두 개의 난수 열과, 그 열과의 상대적인 관계로 정의된 하나의 열로 구성된 행렬의 상관 계수를 구합니다. A
의 세 번째 열이 두 번째 열의 배수이므로 이들 두 변수 간에는 직접적인 상관관계가 있습니다. 따라서 R
의 (2,3)
요소와 (3,2)
요소의 상관 계수는 1
입니다.
x = randn(6,1); y = randn(6,1); A = [x y 2*y+3]; R = corrcoef(A)
R = 3×3
1.0000 -0.6237 -0.6237
-0.6237 1.0000 1.0000
-0.6237 1.0000 1.0000
두 개의 확률 변수
각각 10개 관측값으로 구성된, 정규분포된 두 개의 확률 벡터 사이의 상관 계수 행렬을 구합니다.
A = randn(10,1); B = randn(10,1); R = corrcoef(A,B)
R = 2×2
1.0000 0.4518
0.4518 1.0000
행렬의 P-값
추가된 네 번째 열이 다른 세 열의 합과 같은, 정규분포된 확률 행렬의 상관 계수와 p-값을 구합니다. A
의 마지막 열이 다른 열의 일차 결합이므로 네 번째 변수와 각각의 세 변수 간에는 상관관계가 생깁니다. 따라서 P
의 네 번째 행과 네 번째 열에는 매우 작은 p-값이 포함되게 되며 그들 행과 열 간의 유의미한 상관관계를 나타냅니다.
A = randn(50,3); A(:,4) = sum(A,2); [R,P] = corrcoef(A)
R = 4×4
1.0000 0.1135 0.0879 0.7314
0.1135 1.0000 -0.1451 0.5082
0.0879 -0.1451 1.0000 0.5199
0.7314 0.5082 0.5199 1.0000
P = 4×4
1.0000 0.4325 0.5438 0.0000
0.4325 1.0000 0.3146 0.0002
0.5438 0.3146 1.0000 0.0001
0.0000 0.0002 0.0001 1.0000
상관관계의 경계값
추가된 네 번째 열이 다른 세 열의 합계와 같은, 정규분포된 확률 행렬을 만들고 상관 계수, p-값, 계수의 하한과 상한을 계산합니다.
A = randn(50,3); A(:,4) = sum(A,2); [R,P,RL,RU] = corrcoef(A)
R = 4×4
1.0000 0.1135 0.0879 0.7314
0.1135 1.0000 -0.1451 0.5082
0.0879 -0.1451 1.0000 0.5199
0.7314 0.5082 0.5199 1.0000
P = 4×4
1.0000 0.4325 0.5438 0.0000
0.4325 1.0000 0.3146 0.0002
0.5438 0.3146 1.0000 0.0001
0.0000 0.0002 0.0001 1.0000
RL = 4×4
1.0000 -0.1702 -0.1952 0.5688
-0.1702 1.0000 -0.4070 0.2677
-0.1952 -0.4070 1.0000 0.2825
0.5688 0.2677 0.2825 1.0000
RU = 4×4
1.0000 0.3799 0.3575 0.8389
0.3799 1.0000 0.1388 0.6890
0.3575 0.1388 1.0000 0.6974
0.8389 0.6890 0.6974 1.0000
행렬 RL
과 RU
는 기본적으로 95% 신뢰구간에 따라 각 상관 계수에 대해 하한과 상한을 각기 제공합니다. 신뢰율 100*(1-Alpha)
%를 정의하는 Alpha
값을 지정하여 신뢰수준을 변경할 수 있습니다. 예를 들어, 99% 신뢰구간을 경계값 RL
과 RU
에 반영하여 계산하려면 Alpha
값으로 0.01을 사용하십시오. 신뢰가 높을수록 잠재적인 상관관계 값의 범위는 좀 더 포괄적이어야 하므로 RL
과 RU
의 상관 계수 경계값으로 정의된 신뢰구간은 95%와 비교했을 때 99% 신뢰에서 더 큽니다.
[R,P,RL,RU] = corrcoef(A,'Alpha',0.01)
R = 4×4
1.0000 0.1135 0.0879 0.7314
0.1135 1.0000 -0.1451 0.5082
0.0879 -0.1451 1.0000 0.5199
0.7314 0.5082 0.5199 1.0000
P = 4×4
1.0000 0.4325 0.5438 0.0000
0.4325 1.0000 0.3146 0.0002
0.5438 0.3146 1.0000 0.0001
0.0000 0.0002 0.0001 1.0000
RL = 4×4
1.0000 -0.2559 -0.2799 0.5049
-0.2559 1.0000 -0.4792 0.1825
-0.2799 -0.4792 1.0000 0.1979
0.5049 0.1825 0.1979 1.0000
RU = 4×4
1.0000 0.4540 0.4332 0.8636
0.4540 1.0000 0.2256 0.7334
0.4332 0.2256 1.0000 0.7407
0.8636 0.7334 0.7407 1.0000
NaN
값
NaN
값이 들어 있는 정규분포 행렬을 만들고 나서, NaN
이 들어 있는 행을 계산에서 제외하여 상관 계수 행렬을 구합니다.
A = randn(5,3); A(1,3) = NaN; A(3,2) = NaN; A
A = 5×3
0.5377 -1.3077 NaN
1.8339 -0.4336 3.0349
-2.2588 NaN 0.7254
0.8622 3.5784 -0.0631
0.3188 2.7694 0.7147
R = corrcoef(A,'Rows','complete')
R = 3×3
1.0000 -0.8506 0.8222
-0.8506 1.0000 -0.9987
0.8222 -0.9987 1.0000
계산에 NaN
값을 모두 포함시키려면 'all'
을 사용하십시오.
R = corrcoef(A,'Rows','all')
R = 3×3
1 NaN NaN
NaN NaN NaN
NaN NaN NaN
각 쌍별(Pairwise)로 2열 상관 계수를 구하려면 'pairwise'
를 사용하십시오. 2열 중 하나에 NaN
이 포함된 경우 해당 행은 생략됩니다.
R = corrcoef(A,'Rows','pairwise')
R = 3×3
1.0000 -0.3388 0.4649
-0.3388 1.0000 -0.9987
0.4649 -0.9987 1.0000
입력 인수
A
— 입력 배열
행렬
입력 배열로, 행렬로 지정됩니다.
A
가 스칼라인 경우corrcoef(A)
는NaN
을 반환합니다.A
가 벡터인 경우corrcoef(A)
는1
을 반환합니다.
데이터형: single
| double
복소수 지원 여부: 예
B
— 추가 입력 배열
벡터 | 행렬 | 다차원 배열
추가 입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.
A
와B
는 크기가 동일해야 합니다.A
와B
가 스칼라이면corrcoef(A,B)
는1
을 반환합니다. 그러나A
와B
가 같은 경우corrcoef(A,B)
는NaN
을 반환합니다.A
와B
가 행렬이나 다차원 배열이면corrcoef(A,B)
는 각 입력값을 해당 벡터 표현으로 변환하며 이는corrcoef(A(:),B(:))
나corrcoef([A(:) B(:)])
와 동일합니다.A
와B
가 0×0의 빈 배열이면corrcoef(A,B)
는NaN
값으로 구성된 2×2 행렬을 반환합니다.
데이터형: single
| double
복소수 지원 여부: 예
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: R = corrcoef(A,'Alpha',0.03)
Alpha
— 유의수준
0.05 (디폴트 값) | 0과 1 사이의 숫자
유의수준으로, 0과 1 사이의 숫자로 지정됩니다. 'Alpha'
파라미터의 값은 상관 계수에 대해 신뢰율 100*(1-Alpha
)%를 정의하며 이 값이 RL
과 RU
의 경계를 결정합니다.
데이터형: single
| double
Rows
— NaN
옵션의 사용
'all'
(디폴트 값) | 'complete'
| 'pairwise'
NaN
옵션의 사용으로, 다음 값 중 하나로 지정됩니다.
'all'
— 입력값의 모든NaN
값을 계산에 포함시켜 상관 계수를 구합니다.'complete'
—NaN
값이 있는 입력값 행을 모두 제외하고 상관 계수를 구합니다. 이 옵션은 항상 양의 준정부호 행렬을 반환합니다.'pairwise'
— 각 쌍별(Pairwise)로NaN
이 들어 있는 행을 제외하고 2열의 상관 계수를 구합니다. 이 옵션은 양의 준정부호가 아닌 행렬을 반환할 수 있습니다.
데이터형: char
출력 인수
R
— 상관 계수(Correlation Coefficient)
행렬
상관 계수로, 행렬로 반환됩니다.
하나의 행렬 입력값의 경우,
R
의 크기는[size(A,2) size(A,2)]
이며,A
가 나타내는 확률 변수(열)의 개수를 기반으로 합니다. 대각선 요소는 일반적으로 1로 설정되고 비대각선 요소가 변수 쌍의 상관 계수를 나타냅니다. 상관 계수 값의 범위는 -1에서 1 사이일 수 있는데 -1은 직접적인 음의 상관관계를 나타내고 0은 상관관계가 없음을 나타내며 1은 직접적인 양의 상관관계를 나타냅니다.R
은 대칭 행렬입니다.입력 인수가 두 개인 경우,
R
은 2×2 행렬이 됩니다. R의 대각선 요소는 1로 설정되고 비대각선 요소가 상관 계수를 나타냅니다.확률 변수가 상수인 경우 다른 모든 변수와의 상관관계는 정의되지 않으며 각각의 행 값과 열 값은
NaN
이 됩니다.
P
— P-값
행렬
P-값으로, 행렬로 반환됩니다. P
는 대칭 행렬이며, R
과 크기가 같습니다. 대각선 요소는 모두 1이며, 비대각선 요소가 각 변수 쌍에 대한 p-값입니다. P-값의 범위는 0에서 1 사이입니다. 0에 인접한 값은 R
에서의 유의미한 상관관계를 나타내며 귀무가설(Null Hypothesis)을 따를 확률이 낮음을 나타냅니다.
RL
— 상관 계수의 하한
행렬
상관 계수의 하한으로, 행렬로 반환됩니다. RL
은 대칭 행렬이며, R
과 크기가 같습니다. 대각선 요소는 모두 1이며, 비대각선 요소는 R
에 있는 상관 계수에 대응하는 값으로써 그 계수의 95% 신뢰구간에 대한 하한을 나타냅니다. R
에 복소수 요소가 포함되면 RL
을 반환하는 구문이 유효하지 않은 걸로 봐야 합니다.
RU
— 상관 계수의 상한
행렬
상관 계수의 상한으로, 행렬로 반환됩니다. RU
는 대칭 행렬이며, R
과 크기가 같습니다. 대각선 요소는 모두 1이며, 비대각선 요소는 R
에 있는 상관 계수에 대응하는 값으로써 그 계수의 95% 신뢰구간에 대한 상한을 나타냅니다. R
에 복소수 요소가 포함되면 RL
을 반환하는 구문이 유효하지 않은 걸로 봐야 합니다.
세부 정보
상관 계수(Correlation Coefficient)
두 확률 변수에 대한 상관 계수는 두 변수 간 선형 관계를 나타내는 척도입니다. 각 변수에 N개 스칼라 관측값이 있으면 피어슨(Pearson) 상관 계수가
로 정의됩니다. 여기서 와 는 각각 A의 평균값과 표준편차이며, 와 는 B의 평균값과 표준편차입니다. 또는 A와 B의 공분산을 이용해 다음과 같이 상관 계수를 정의할 수 있습니다.
두 확률 변수의 상관 계수 행렬은 각 쌍별 변수 조합의 상관 계수 행렬입니다.
A와 B는 자신에 대해 항상 직접 상관이 있으므로 대각선 항목은 1이 됩니다. 즉, 다음과 같습니다.
참고 문헌
[1] Fisher, R.A. Statistical Methods for Research Workers, 13th Ed., Hafner, 1958.
[2] Kendall, M.G. The Advanced Theory of Statistics, 4th Ed., Macmillan, 1979.
[3] Press, W.H., Teukolsky, S.A., Vetterling, W.T., and Flannery, B.P. Numerical Recipes in C, 2nd Ed., Cambridge University Press, 1992.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
사용법 관련 참고 및 제한 사항:
A
와B
는 동일한 크기의 tall형 배열이어야 합니다. 둘 다 벡터인 경우에도 마찬가지입니다.corrcoef(A,B)
에서 입력값A
와B
는 스칼라일 수 없습니다.두 번째 입력값
B
는 2차원이어야 합니다.'pairwise'
옵션은 지원되지 않습니다.
자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
행 벡터 입력은 처음 2개 입력값이 벡터와 비 스칼라인 경우에만 지원됩니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
이 함수는 GPU 배열을 완전히 지원합니다. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
참고 항목
plotmatrix
| cov
| mean
| std
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)