corrcov
共分散行列の相関行列への変換
説明
例
2 つの異なる方法で取得した相関行列の比較
共分散行列に対して corrcov
を適用して取得した相関行列と、入力行列に対してcorrcoef
を使用して直接計算することにより取得した相関行列を比較します。
hospital
データ セットを読み込み、Weight
と BloodPressure
の測定値が含まれている行列を作成します。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
を使用して直接相関行列を計算してから、R1
と R2
を比較します。
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
データ セットを読み込み、Weight
、BloodPressure
および 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
内の対角要素の平方根を計算してから、s1
と s2
を比較します。
s2 = sqrt(diag(C))
s2 = 4×1
26.5714
6.7128
6.9325
7.2154
s1
と s2
は同じであり、X
内の変数の標準偏差に対応します。
入力引数
出力引数
詳細
共分散
共分散は、2 つの確率変数ベクトル A および B について次のように定義されます。
N は各列の長さ、μA および μB はそれぞれ A および B の平均値であり、*
は複素共役を表します。
2 つの確率変数の "共分散行列" は、次のような各変数間のペアワイズ共分散の計算値の行列です。
観測値から構成される確率変数が各列にある行列 X に対する共分散行列は、各列の組み合わせに対するペアワイズ共分散の計算値です。つまり、 です。
分散
分散は、N 個のスカラー観測値から構成される確率変数ベクトル A について次のように定義されます。
ここで、μ は A の平均です。
分散の定義には正規化係数としてN–1 ではなく N を使用するものもありますが、平均の正規化係数は常に N です。
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は、GPU 配列を完全にサポートします。詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2007b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは 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)