Main Content

cov

説明

C = cov(A) は、共分散を返します。

  • A が観測値のベクトルである場合、C はスカラー値の分散です。

  • A が確率変数を表す列と観測値を表す行をもつ行列の場合、C は対応する列の分散を対角にもつ共分散行列です。

  • A がスカラーの場合、cov(A)0 を返します。A が空の配列である場合、cov(A)NaN を返します。

C は、観測値の数 -1 で正規化されます。観測値が 1 つのみの場合、1 で正規化されます。

C = cov(A,B) は、2 つの確率変数 AB との間の共分散を返します。

  • AB が観測値のベクトルで長さが等しい場合、cov(A,B)22 列の共分散行列です。

  • AB が観測値の行列である場合、cov(A,B)AB をベクトルとして扱います。これは cov(A(:),B(:)) と等価です。AB のサイズは同じでなければなりません。

  • AB がスカラーである場合、cov(A,B)22 列のゼロ ブロックを返します。AB が空の配列である場合、cov(A,B) は 各要素が NaN22 列のブロックを返します。

C = cov(___,w) は、前述の任意の構文で正規化の重みを指定します。w = 0 (既定) の場合、C は観測値の数 -1 で正規化されます。w = 1 の場合、観測値の数で正規化されます。

C = cov(___,nanflag) は、入力配列の NaN 値を処理するための条件を指定します。たとえば、cov(A,"omitrows") は、共分散の計算時に NaN 値を 1 つ以上含む 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 行 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 行 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

追加の入力配列。ベクトルまたは行列として指定します。B のサイズは A と同じでなければなりません。

データ型: single | double

正規化の重み。次のいずれかの値として指定します。

  • 0 — 出力は、観測値の数 -1 で正規化されます。観測値が 1 つのみの場合、1 で正規化されます。

  • 1 — 出力は、観測値の数で正規化されます。

データ型: single | double

欠損値の条件。次の値のいずれかとして指定します。

  • "includemissing" または "includenan" — 共分散の計算時に入力配列の NaN 値を含めます。"includemissing""includenan" の動作は同じです。

  • "omitrows" — 共分散の計算時に NaN 値を 1 つ以上含む入力配列の行を除外します。

  • "partialrows" — 個々の 2 列の共分散計算について、NaN 値を含む入力配列の行をペア単位でのみ除外します。

出力引数

すべて折りたたむ

共分散。スカラーまたは行列として返されます。

  • 入力が行列 1 つの場合、C のサイズ [size(A,2) size(A,2)] は、A によって表現される確率変数の数 (列数) に基づきます。列の分散は、対角にあります。A が行ベクトルまたは列ベクトルの場合、C はスカラー値の分散です。

  • 入力が 2 つのベクトルまたは 2 つの行列である場合、C は 2 つの確率変数の間の共分散行列 (22 列) です。分散は、C の対角にあります。

詳細

すべて折りたたむ

共分散

2 つの確率変数ベクトル A と B について、共分散は次のように定義されます。

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

ここで、μA は A の平均、μB は B の平均、* は複素共役を示します。

2 つの確率変数の "共分散行列" は、各変数のペアごとの共分散計算からなる行列です。

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 より前に導入

すべて展開する

参考

| | | | | |