Main Content

cov

설명

예제

C = cov(A)공분산을 반환합니다.

  • A가 관측값으로 구성된 벡터인 경우 C는 스칼라 값을 가지는 분산입니다.

  • A가 열이 확률 변수를 나타내고 행이 관측값을 나타내는 행렬인 경우 C는 대각선에 각 열의 분산이 들어 있는 공분산 행렬입니다.

  • A가 스칼라인 경우 cov(A)0을 반환합니다. A가 빈 배열인 경우 cov(A)NaN을 반환합니다.

C는 관측값 개수 -1을 기준으로 정규화됩니다. 관측값이 하나만 있는 경우에는 1을 기준으로 정규화됩니다.

예제

C = cov(A,B)는 두 확률 변수 AB 사이의 공분산을 반환합니다.

  • AB가 길이가 같은 관측값으로 구성된 벡터인 경우 cov(A,B)2×2 공분산 행렬입니다.

  • AB가 관측값으로 구성된 행렬인 경우 cov(A,B)AB를 벡터로 처리하며 이는 cov(A(:),B(:))과 같습니다. 여기서 AB는 크기가 동일해야 합니다.

  • AB가 스칼라인 경우 cov(A,B)는 0으로 구성된 2×2 블록을 반환합니다. AB가 빈 배열인 경우 cov(A,B)NaN으로 구성된 2×2 블록을 반환합니다.

예제

C = cov(___,w)는 위에 열거된 구문 중 하나에 대한 정규화 가중치를 지정합니다. w = 0(디폴트 값)인 경우 C는 관측값 개수 -1을 기준으로 정규화됩니다. w = 1인 경우에는 관측값 개수를 기준으로 정규화됩니다.

예제

C = cov(___,nanflag)는 입력 배열의 NaN 값을 처리하기 위한 조건을 지정합니다. 예를 들어 cov(A,"omitrows")는 공분산을 계산할 때 하나 이상의 NaN 값이 있는 A의 행을 모두 생략합니다. 기본적으로 covNaN 값을 포함합니다.

예제

모두 축소

3×4 행렬을 만들고 이에 대한 공분산을 계산합니다.

A = [5 0 3 7; 1 -5 7 3; 4 9 8 10];
C = cov(A)
C = 4×4

    4.3333    8.8333   -3.0000    5.6667
    8.8333   50.3333    6.5000   24.1667
   -3.0000    6.5000    7.0000    1.0000
    5.6667   24.1667    1.0000   12.3333

A에 포함된 열의 개수가 4개이므로, 결과는 4×4 행렬입니다.

두 개의 벡터를 만들고 이에 대한 2×2 공분산 행렬을 계산합니다.

A = [3 6 4];
B = [7 12 -9];
cov(A,B)
ans = 2×2

    2.3333    6.8333
    6.8333  120.3333

크기가 동일한 행렬 두 개를 만들고 이에 대한 2×2 공분산을 계산합니다.

A = [2 0 -9; 3 4 1];
B = [5 2 6; -4 4 9];
cov(A,B)
ans = 2×2

   22.1667   -6.9333
   -6.9333   19.4667

행렬을 만들고, 행 개수를 기준으로 정규화된 공분산을 계산합니다.

A = [1 3 -7; 3 9 2; -5 4 6];
C = cov(A,1)
C = 3×3

   11.5556    5.1111  -10.2222
    5.1111    6.8889    5.2222
  -10.2222    5.2222   29.5556

NaN 값이 포함된 행렬을 만듭니다.

A = [1.77 -0.005 3.98; NaN -2.95 NaN; 2.54 0.19 1.01];

NaN 값이 포함된 행을 제외하고 행렬의 공분산을 계산합니다.

C = cov(A,"omitrows")
C = 3×3

    0.2964    0.0751   -1.1435
    0.0751    0.0190   -0.2896
   -1.1435   -0.2896    4.4104

입력 인수

모두 축소

입력 배열로, 벡터나 행렬로 지정됩니다.

데이터형: single | double

추가 입력 행렬로, 벡터나 행렬로 지정됩니다. BA와 크기가 같아야 합니다.

데이터형: single | double

정규화 가중치로, 다음 값 중 하나로 지정됩니다.

  • 0 — 출력값이 관측값 개수 -1을 기준으로 정규화됩니다. 관측값이 하나만 있는 경우에는 1을 기준으로 정규화됩니다.

  • 1 — 출력값이 관측값 개수를 기준으로 정규화됩니다.

데이터형: single | double

누락값 조건으로, 다음 값 중 하나로 지정됩니다.

  • "includemissing" 또는 "includenan" — 공분산을 계산할 때 입력 배열의 NaN 값을 포함합니다. "includemissing""includenan"은 동일하게 동작합니다.

  • "omitrows" — 공분산을 계산할 때 하나 이상의 NaN 값이 있는 입력 배열의 행을 모두 생략합니다.

  • "partialrows" — 각각의 2열 공분산 계산에서 열 쌍을 기준으로 계산할 때만 NaN 값을 포함하는 입력 배열의 행을 생략합니다.

출력 인수

모두 축소

공분산으로, 스칼라 또는 행렬로 반환됩니다.

  • 입력값이 단일 행렬인 경우, C의 크기는 [size(A,2) size(A,2)]이며, A로 표현되는 확률 변수(열)의 개수를 기반으로 합니다. 대각선 요소는 열에 대한 분산을 나타냅니다. A가 행 벡터 또는 열 벡터인 경우 C는 스칼라 값 분산입니다.

  • 입력값이 2개의 벡터 또는 2개의 행렬인 경우 C는 두 개의 확률 변수 사이의 2×2 공분산 행렬입니다. 분산은 C의 대각선을 따라 나타납니다.

세부 정보

모두 축소

공분산

두 개의 확률 변수 벡터 A와 B에 대해 공분산은 다음과 같이 정의됩니다.

cov(A,B)=1N1i=1N(AiμA)*(BiμB)

여기서 μA는 A의 평균값이고, μB는 B의 평균값이며, *는 켤레 복소수를 나타냅니다.

두 개의 확률 변수의 공분산 행렬은 각 변수 쌍에 대해 계산된 공분산 값으로 구성된 행렬입니다.

C=(cov(A,A)cov(A,B)cov(B,A)cov(B,B)).

열이 각각 관측값으로 구성된 확률 변수인 행렬 A의 경우 공분산 행렬은 각 열 조합 쌍에 대해 계산된 공분산 값입니다. 즉, C(i,j)=cov(A(:,i),A(:,j))입니다.

분산

N개의 스칼라 관측값으로 구성된 유한 길이 벡터 A의 경우 분산은 다음과 같이 정의됩니다.

V=1N1i=1N|Aiμ|2

여기서 μ는 A의 평균값입니다.

μ=1Ni=1NAi.

일부 분산 정의는 N-1 대신 N이라는 정규화 인자를 사용합니다. 이는 w1로 설정하여 지정할 수 있습니다. 두 경우 모두, 평균값은 일반 정규화 인자 N을 가진다고 간주됩니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| | | | | |