1. ホーム
  2. マットラボ

Matlab は相関係数を計算する

2022-02-28 07:38:42
<パス

Matlab では、相関係数を計算するために corr 関数と corrcoef 関数をよく使用します。

1. 基本的な構文

1.1 CORR機能 基本構文
<テーブル 構文 説明 rho = corr(X) 入力行列Xの各列のペア間の2行2列の線形相関係数の行列を返します. rho = corr(X, Y) 入力行列 X と Y の各列の組の間の 2×2 の相関係数行列を返す。 [rho, pval] = corr(X, Y) pval関数は、無相関の仮説とゼロでない相関の対立仮説を検定するためのp値の行列を返します。 [rho, pval] = corr(____, 名前, 値) 前の構文の入力パラメータに加えて、1つ以上の名前と値の組のパラメータ、例えば「Type」、「Kendall」...を使用するオプションを指定します。
1.2 corrcoef関数 基本的な構文
<テーブル 構文 説明 R = corrcoef(A) A の相関係数の行列を返します。A の列は確率変数を表し、行はオブザベーションを表します。 R = corrcoef(A, B) 2つの確率変数A、Bの間の係数を返します。 [R, P] = corrcoef(____) 観測された現象の間には関係がないという仮説(原仮説)を検定するための相関係数の行列とp値の行列を返します。
この構文は、上記の構文のどのパラメータとも組み合わせて使用することができます。
Pの非対角要素が有意水準(デフォルト値は0.05)より小さい場合、Rでの対応する相関は有意とみなされる。
この構文は、R が複数の要素を含む場合は無効である。 [R、P、RL、RU] = corrcoef(____) 各係数の95%信頼区間の下限と上限を含む行列を含む。この構文は、R が複数の要素を含む場合は無効である。 は=corrcoef(___, 名前, 値) 上記の構文に加え、追加のオプションを指定することで、1つ以上のName, Valueのペアのパラメータを介して任意の出力パラメータを返します。
例えば、corrcoef(A, 'Alpha', 0.1) は90%信頼区間を指定し、 corrcoef(A, 'Rows', 'complete ') は一つ以上のNaN値を含むAの行を全て省略する。

2. 例

2.1 corr関数

[rho, pval] = corr(____, Name, Value)

XX = 1993 : 2012;
XX = XX';
YY = [20 27 21 22 16 15 14 17 18 16 13 15 14 16 13 10 17 12 15 15]';
ZZ = -0.4481 * XX + 21.005;
[r, p] = corr(YY, ZZ, 'type', 'Pearson');


と出力されます。

r =

   0.685477816431251

p =

     8.505275659753111e-04

R = corrcoef(A, B)

2.2 corrcoef関数

XX = 1993 : 2012; XX = XX'; YY = [20 27 21 22 16 15 14 17 18 16 13 15 14 16 13 10 17 12 15 15]'; ZZ = -0.4481 * XX + 21.005; [r, p] = corrcoef(YY, ZZ);

r =

   1.000000000000000 0.685477816431251
   0.685477816431251 1.000000000000000

p =

   1.000000000000000 0.000850527565975
   0.000850527565975 1.000000000000000

[R, P, RL, RU] = corrcoef(____)

と出力されます。

XX = 1993 : 2012;
XX = XX';
YY = [20 27 21 22 16 15 14 17 18 16 13 15 14 16 13 10 17 12 15 15]';
ZZ = -0.4481 * XX + 21.005;
[R, P, RL, RU] = corrcoef(YY, ZZ);
R, P, RL, RU


R = 1.000000000000000 0.685477816431251 0.685477816431251 1.000000000000000 P = 1.000000000000000 0.000850527565975 0.000850527565975 1.000000000000000 RL = 1.000000000000000 0.348744580399915 0.348744580399915 1.000000000000000 RU = 1.000000000000000 0.865468852479574 0.865468852479574 1.000000000000000

XX = 1993 : 2012;
XX = XX';
YY = [20 27 21 22 16 15 14 17 18 16 13 15 14 16 13 10 17 12 15 15]';
ZZ = -0.4481 * XX + 21.005;
[R, P, RL, RU] = corrcoef(YY, ZZ);
R, P, RL, RU


と出力されます。

R =

   1.000000000000000 0.685477816431251
   0.685477816431251 1.000000000000000

P =

   1.000000000000000 0.000850527565975
   0.000850527565975 1.000000000000000

RL =

   1.000000000000000 0.348744580399915
   0.348744580399915 1.000000000000000

RU =

   1.000000000000000 0.865468852479574
   0.865468852479574 1.000000000000000


批判は大歓迎です。