Main Content

corrcov

共分散行列の相関行列への変換

説明

R = corrcov(C) は、共分散行列 C に対応する相関行列 R を返します。

[R,sigma] = corrcov(C) は、標準偏差のベクトル sigma も返します。

すべて折りたたむ

共分散行列に対して corrcov を適用して取得した相関行列と、入力行列に対してcorrcoefを使用して直接計算することにより取得した相関行列を比較します。

hospital データ セットを読み込み、WeightBloodPressure の測定値が含まれている行列を作成します。hospital.BloodPressure には 2 列のデータがあることに注意してください。

load hospital
X = [hospital.Weight hospital.BloodPressure];

共分散行列を計算します。

C = cov(X)
C = 3×3

  706.0404   27.7879   41.0202
   27.7879   45.0622   23.8194
   41.0202   23.8194   48.0590

corrcov を使用して、共分散行列から相関行列を計算します。

R1 = corrcov(C)
R1 = 3×3

    1.0000    0.1558    0.2227
    0.1558    1.0000    0.5118
    0.2227    0.5118    1.0000

corrcoef を使用して直接相関行列を計算してから、R1R2 を比較します。

R2 = corrcoef(X)
R2 = 3×3

    1.0000    0.1558    0.2227
    0.1558    1.0000    0.5118
    0.2227    0.5118    1.0000

相関行列 R1 および R2 は同じです。

共分散行列から標準偏差のベクトルを求め、標準偏差と共分散行列の関係を示します。

hospital データ セットを読み込み、WeightBloodPressure および Age の測定値が含まれている行列を作成します。hospital.BloodPressure には 2 列のデータがあることに注意してください。

load hospital
X = [hospital.Weight hospital.BloodPressure hospital.Age];

X の共分散行列を計算します。

C = cov(X)
C = 4×4

  706.0404   27.7879   41.0202   17.5152
   27.7879   45.0622   23.8194    6.4966
   41.0202   23.8194   48.0590    4.0315
   17.5152    6.4966    4.0315   52.0622

C は、正方で対称な半正定値行列です。C の対角要素は、X 内の 4 つの変数の分散です。

共分散行列 C から X の相関行列と標準偏差を計算します。

[R,s1] = corrcov(C)
R = 4×4

    1.0000    0.1558    0.2227    0.0914
    0.1558    1.0000    0.5118    0.1341
    0.2227    0.5118    1.0000    0.0806
    0.0914    0.1341    0.0806    1.0000

s1 = 4×1

   26.5714
    6.7128
    6.9325
    7.2154

C 内の対角要素の平方根を計算してから、s1s2 を比較します。

s2 = sqrt(diag(C))
s2 = 4×1

   26.5714
    6.7128
    6.9325
    7.2154

s1s2 は同じであり、X 内の変数の標準偏差に対応します。

入力引数

すべて折りたたむ

共分散行列。正方で対称な半正定値行列を指定します。

N 個の観測値 (行) と n 個の確率変数 (列) がある行列 X の場合、C は n 行 n 列の行列になります。C の n 個の対角要素は X 内の n 個の確率変数の分散であり、C 内のゼロの対角要素は X 内の定数変数を示します。

データ型: single | double

出力引数

すべて折りたたむ

相関行列。共分散行列 C に対応する行列として返されます。

データ型: single | double

標準偏差。n 行 1 列のベクトルとして返されます。

sigma の要素は、C を生成した N 行 n 列の行列 X 内の変数の標準偏差です。sigma の行 i は、X の列 i の標準偏差に対応します。

データ型: single | double

詳細

すべて折りたたむ

共分散

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

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

N は各列の長さ、μA および μB はそれぞれ A および B の平均値であり、* は複素共役を表します。

2 つの確率変数の "共分散行列" は、次のような各変数間のペアワイズ共分散の計算値の行列です。

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

観測値から構成される確率変数が各列にある行列 X に対する共分散行列は、各列の組み合わせに対するペアワイズ共分散の計算値です。つまり、C(i,j)=cov(X(:,i),X(:,j)) です。

分散

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

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

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

μ=1Ni=1NAi.

分散の定義には正規化係数としてN–1 ではなく N を使用するものもありますが、平均の正規化係数は常に N です。

拡張機能

バージョン履歴

R2007b で導入

参考

| | |