このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
corrcoef
相関係数
構文
説明
___ = corrcoef(___,
は、1 つ以上の Name,Value
)Name,Value
のペアの引数で指定された追加オプションを使用して、前術の構文に示した任意の出力引数を返します。たとえば、corrcoef(A,'Alpha',0.1)
は 90% の信頼区間を指定し、corrcoef(A,'Rows','complete')
は NaN
値を 1 つ以上含む A
のすべての行を省略します。
例
行列の乱数列
2 つの正規分布する乱数列と、それらの一方の列で定義されるもう 1 つの列をもつ行列について、相関係数を計算します。A
の 3 列目は 2 列目の倍数なので、これら 2 つの変数は直接相関しています。したがって、R
の要素 (2,3)
および (3,2)
の相関係数は 1
です。
x = randn(6,1); y = randn(6,1); A = [x y 2*y+3]; R = corrcoef(A)
R = 3×3
1.0000 -0.6237 -0.6237
-0.6237 1.0000 1.0000
-0.6237 1.0000 1.0000
2 つの確率変数
それぞれ正規分布した 10 の観測値をもつ 2 つの乱数ベクトルについて、相関係数の行列を計算します。
A = randn(10,1); B = randn(10,1); R = corrcoef(A,B)
R = 2×2
1.0000 0.4518
0.4518 1.0000
行列の p 値
正規分布の乱数行列の相関係数と p 値を計算します。行列には、他の 3 列の合計値と等価な 4 列目が追加されています。A
の最後の列は他の列の線形結合なので、4 番目の変数と、他の 3 つの変数それぞれの間には相関が導入されます。したがって、P
の 4 列目と 4 行目の p 値は非常に小さくなり、有意の相関があることが示されます。
A = randn(50,3); A(:,4) = sum(A,2); [R,P] = corrcoef(A)
R = 4×4
1.0000 0.1135 0.0879 0.7314
0.1135 1.0000 -0.1451 0.5082
0.0879 -0.1451 1.0000 0.5199
0.7314 0.5082 0.5199 1.0000
P = 4×4
1.0000 0.4325 0.5438 0.0000
0.4325 1.0000 0.3146 0.0002
0.5438 0.3146 1.0000 0.0001
0.0000 0.0002 0.0001 1.0000
相関の上下限
正規分布の乱数行列を作成し、他の 3 列の合計値と等価な 4 列目を追加してから、相関係数、p 値、係数の下限および上限を計算します。
A = randn(50,3); A(:,4) = sum(A,2); [R,P,RL,RU] = corrcoef(A)
R = 4×4
1.0000 0.1135 0.0879 0.7314
0.1135 1.0000 -0.1451 0.5082
0.0879 -0.1451 1.0000 0.5199
0.7314 0.5082 0.5199 1.0000
P = 4×4
1.0000 0.4325 0.5438 0.0000
0.4325 1.0000 0.3146 0.0002
0.5438 0.3146 1.0000 0.0001
0.0000 0.0002 0.0001 1.0000
RL = 4×4
1.0000 -0.1702 -0.1952 0.5688
-0.1702 1.0000 -0.4070 0.2677
-0.1952 -0.4070 1.0000 0.2825
0.5688 0.2677 0.2825 1.0000
RU = 4×4
1.0000 0.3799 0.3575 0.8389
0.3799 1.0000 0.1388 0.6890
0.3575 0.1388 1.0000 0.6974
0.8389 0.6890 0.6974 1.0000
行列 RL
および RU
はそれぞれ、各相関係数の下限と上限 (既定では 95% の信頼区間) を指定します。Alpha
値を指定して信頼度を変更できます。この値は百分率での信頼度 100*(1-Alpha)
% を定義します。たとえば、99% の信頼区間を計算するには、Alpha
値に 0.01 を使用し、これが、上下限値 RL
および RU
に反映されます。RL
および RU
の係数の上下限値で定義される区間は、信頼度 99% の場合のほうが信頼度 95% の場合より広くなります。これは、信頼度が高くなるほど、相関値を含むと考えられる範囲がより広く必要になるからです。
[R,P,RL,RU] = corrcoef(A,'Alpha',0.01)
R = 4×4
1.0000 0.1135 0.0879 0.7314
0.1135 1.0000 -0.1451 0.5082
0.0879 -0.1451 1.0000 0.5199
0.7314 0.5082 0.5199 1.0000
P = 4×4
1.0000 0.4325 0.5438 0.0000
0.4325 1.0000 0.3146 0.0002
0.5438 0.3146 1.0000 0.0001
0.0000 0.0002 0.0001 1.0000
RL = 4×4
1.0000 -0.2559 -0.2799 0.5049
-0.2559 1.0000 -0.4792 0.1825
-0.2799 -0.4792 1.0000 0.1979
0.5049 0.1825 0.1979 1.0000
RU = 4×4
1.0000 0.4540 0.4332 0.8636
0.4540 1.0000 0.2256 0.7334
0.4332 0.2256 1.0000 0.7407
0.8636 0.7334 0.7407 1.0000
NaN
値
NaN
値を含む正規分布行列を作成し、NaN
を含む行をすべて除外して相関係数の行列を計算します。
A = randn(5,3); A(1,3) = NaN; A(3,2) = NaN; A
A = 5×3
0.5377 -1.3077 NaN
1.8339 -0.4336 3.0349
-2.2588 NaN 0.7254
0.8622 3.5784 -0.0631
0.3188 2.7694 0.7147
R = corrcoef(A,'Rows','complete')
R = 3×3
1.0000 -0.8506 0.8222
-0.8506 1.0000 -0.9987
0.8222 -0.9987 1.0000
すべての NaN
値を計算に含めるには、'all'
を使用します。
R = corrcoef(A,'Rows','all')
R = 3×3
1 NaN NaN
NaN NaN NaN
NaN NaN NaN
2 列の相関係数をそれぞれペア単位で計算するには、'pairwise'
を使用します。2 列のいずれかに NaN
が含まれる場合、その行は省略されます。
R = corrcoef(A,'Rows','pairwise')
R = 3×3
1.0000 -0.3388 0.4649
-0.3388 1.0000 -0.9987
0.4649 -0.9987 1.0000
入力引数
A
— 入力配列
行列
行列として指定される入力配列。
A
がスカラーの場合、corrcoef(A)
はNaN
を返します。A
がベクトルの場合、corrcoef(A)
は1
を返します。
データ型: single
| double
複素数のサポート: あり
B
— 追加の入力配列
ベクトル | 行列 | 多次元配列
追加の入力配列。ベクトル、行列または多次元配列として指定します。
A
とB
は同じサイズでなければなりません。A
とB
がスカラーの場合、corrcoef(A,B)
は1
を返します。ただし、A
とB
が等しい場合、corrcoef(A,B)
はNaN
を返します。A
とB
が行列または多次元配列である場合、corrcoef(A,B)
は各入力をベクトル表現に変換し、corrcoef(A(:),B(:))
またはcorrcoef([A(:) B(:)])
と等価になります。A
とB
が 0 行 0 列の空配列である場合、corrcoef(A,B)
はNaN
値からなる 2 行 2 列の行列を返します。
データ型: single
| double
複素数のサポート: あり
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: R = corrcoef(A,'Alpha',0.03)
Alpha
— 有意水準
0.05 (既定値) | 0 ~ 1 の数値
有意水準。0 ~ 1 の数値として指定します。'Alpha'
パラメーターの値は、相関係数の百分率による信頼度 100*(1-Alpha
)% を定義し、これによって RL
と RU
の限界が決まります。
データ型: single
| double
Rows
— NaN
オプションの使用方法
'all'
(既定値) | 'complete'
| 'pairwise'
NaN
オプションの使用方法。次の値のいずれかとして指定します。
'all'
— 相関係数を計算する前に、すべてのNaN
値を入力に含めます。'complete'
— 相関係数を計算する前に、NaN
値を含む入力の行をすべて省略します。このオプションは常に、半正定値行列を返します。'pairwise'
— 2 列の相関係数の計算ごとに、ペア単位でのみNaN
を含む任意の行を省略します。このオプションは、半正定値ではない行列を返すことがあります。
データ型: char
出力引数
R
— 相関係数
行列
相関係数。行列として返されます。
入力が行列 1 つの場合、
R
のサイズは、A
によって表現される確率変数の数 (列数) に基づき[size(A,2) size(A,2)]
となります。慣例により、対角要素は 1 に設定され、非対角要素は変数ペアの相関係数になります。係数の値の範囲は -1 ~ 1 です。-1 は直接の負の相関、0 は相関なし、1 は直接の正の相関を表します。R
は対称です。入力引数が 2 つの場合、
R
は、対角要素に 1、非対角要素に相関係数をもつ 2 行 2 列の行列です。いずれかの確率変数が定数の場合、その変数とその他すべての変数との相関は未定義であり、対応する行と列の値は
NaN
になります。
P
— p 値
行列
p 値。行列として返されます。P
は対称で、R
と同じサイズになります。対角要素はすべて 1 で、非対角要素は各変数ペアの p 値になります。p 値の範囲は 0 ~ 1 です。0 に近い値は R
の有意な相関に対応し、帰無仮説が観察される確率が低いことを示します。
RL
— 相関係数の下限
行列
相関係数の下限。行列として返されます。RL
は対称であり、R
と同じサイズになります。対角要素はすべて 1 で、非対角要素は R
における対応する係数の 95% 信頼区間の下限です。R
に複素数値が含まれる場合、RL
を返す構文は無効です。
RU
— 相関係数の上限
行列
相関係数の上限。行列として返されます。RU
は対称であり、R
と同じサイズになります。対角要素はすべて 1 で、非対角要素は R
における対応する係数の 95% 信頼区間の上限です。R
に複素数値が含まれる場合、RL
を返す構文は無効です。
詳細
相関係数
2 つの確率変数の相関係数は、それらの線形従属性の尺度です。各変数に N 個のスカラー観測値がある場合、ピアソンの相関係数は次のように定義されます。
ここで、 と はそれぞれ A の平均と標準偏差であり、 と は B の平均と標準偏差です。あるいは、A と B の共分散を使用して相関係数を定義できます。
2 つの確率変数の相関係数 "行列" は、各ペア単位の変数の組み合わせに対する相関係数からなる行列です。
A と B は常に自分自身と直接相関しているので対角要素は 1 であり、つまり次のようになります。
参照
[1] Fisher, R.A. Statistical Methods for Research Workers, 13th Ed., Hafner, 1958.
[2] Kendall, M.G. The Advanced Theory of Statistics, 4th Ed., Macmillan, 1979.
[3] Press, W.H., Teukolsky, S.A., Vetterling, W.T., and Flannery, B.P. Numerical Recipes in C, 2nd Ed., Cambridge University Press, 1992.
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
使用上の注意事項および制限事項:
A
とB
は、両方がベクトルである場合でも同じサイズの tall 配列でなければなりません。corrcoef(A,B)
では、入力A
と入力B
をスカラーにはできません。2 番目の入力
B
は 2 次元でなければなりません。'pairwise'
オプションはサポートされていません。
詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
行ベクトルの入力は、最初の 2 つの入力がベクトルで非スカラーの場合にのみサポートされています。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
参考
plotmatrix
| cov
| mean
| std
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)