ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

構文

  • C = cov(A)
  • C = cov(A,B)
  • C = cov(___,w)
  • C = cov(___,nanflag)

説明

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

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

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

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

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

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 の行を除外します。

すべて折りたたむ

3 行 4 列の行列を作成し、その共分散を計算します。

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

    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.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 =

   22.1667   -6.9333
   -6.9333   19.4667

行列を作成し、共分散を計算して、行数で正規化します。

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

   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]
A =

    1.7700   -0.0050    3.9800
       NaN   -2.9500       NaN
    2.5400    0.1900    1.0100

C = cov(A,'omitrows')
C =

    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

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

  • includenan’ — すべての NaN 値を入力に含めてから共分散を計算します。

  • omitrows’ — NaN 値を 1 つ以上含む入力行を除外してから共分散を計算します。

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

データ型: char

出力引数

すべて折りたたむ

共分散。スカラーまたは行列として指定します。

  • 入力が行列 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)) です。

分散

確率変数ベクトル A が N 個のスカラーの観測値からなる場合、分散は次のように定義されます。

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

ここで、μ は A の平均です。

μ=1Ni=1NAi.

一部の分散の定義では、正規化係数として N-1 ではなく N を使用します。これは w1 に設定することで指定できます。いずれの場合でも、平均には通常の正規化係数 N を使用します。

参考

| | | | | |

R2006a より前に導入

この情報は役に立ちましたか?