線形相関
はじめに
"相関" は、2 つの変数の線形関係の強さを定量的に表します。2 つの変数の間に相関がない場合、変数の値が並行して増減する傾向はありません。ただし、無相関の 2 つの変数は、非線形関係がない場合があるため、必ずしも独立している必要はありません。
線形相関を使用して、データに特定のモデルを仮定または近似する必要はなく、変数間に線形関係があるか調べることができます。線形相関が小さいか、まったくない 2 つの変数に強い非線形関係がある場合があります。ただし、モデルを当てはめる前に線形相関を計算するのは、単純な関係をもつ変数を識別するために便利な方法です。変数間の相関を調べるもう 1 つの方法は、データの散布図を作成することです。
"共分散" は、2 つの変数の線形関係の強さを分散に対する相対的な単位で定量的に表します。相関は標準化された共分散であり、それぞれの変数のスケールと関係なく線形関係の尺度を測定する無次元の数量を示します。
以下の MATLAB® 関数は、サンプル相関係数と共分散を計算します。これらのサンプル係数は、データ標本が取り出される母集団の真の共分散と相関係数 の推定です。
共分散
MATLAB cov
関数を使用して、データ行列 (各列は個々の量を表す) に対するサンプル共分散行列を計算します。
サンプル共分散行列は、次の特性をもちます。
ここで、X
はベクトルまたは行列になります。m x n 行列に対して、共分散行列は n x n です。
共分散を計算する例として、24 x 3 行列を含む count.dat
のサンプル データを読み込みます。
load count.dat
このデータに対する共分散行列を計算します。
cov(count)
MATLAB は次の結果を示します。
ans = 1.0e+003 * 0.6437 0.9802 1.6567 0.9802 1.7144 2.6908 1.6567 2.6908 4.6278
このデータに対する共分散行列は次の形式をもちます。
ここで、s2ij は、データの i 列と j 列間のサンプル共分散です。行列 count
には、3 つの列があるので、共分散行列は 3 x 3 行列です。
メモ
ベクトルが cov
の引数である特別な場合、関数は分散を出力します。
相関係数
関数 corrcoef
はデータ行列に対しサンプル相関係数の行列を作成します (各列は個々の量を表します)。相関係数の範囲は -1 から 1 までになります。
1 に近い値は、データ列間に正の線形関係があることを示します。
-1 に近い値は、データの 1 列と他の列間に負の線形関係があることを示します ("反相関")。
0 に近い値または 0 は、データ列間に線形関係がないことを意味します。
m x n 行列に対して、相関係数行列は n x n となります。相関係数行列の要素の位置は、上述の 共分散 の共分散行列の要素の位置に対応します。
相関係数を計算する例として、24 x 3 行列を含む count.dat
のサンプル データを読み込みます。
load count.dat
次の構文を入力して、相関係数を計算します。
corrcoef(count)
その結果、次の 3 x 3 相関係数行列を生成します。
ans = 1.0000 0.9331 0.9599 0.9331 1.0000 0.9553 0.9599 0.9553 1.0000
すべての相関係数が 1 に近いということは、行列 count
のデータ列の組間に強い正の相関があることを示します。