• 目次
  • 理解
  • 表計算
  • コード

【理解】データの関連の数学的解説

データの相関について

相関関係の定義

<定義>相関関係

散布図上の直線的な傾向

詳細はこちら
定義(相関)

2変量のデータについて, 散布図を描いたとき直線的な傾向があるときに相関があるという.

散布図において, 直線的な傾向がみられないとき無相関(相関がない)という.

定義(相関の正負)

散布図で右上がりの直線的な傾向がみられるとき正の相関があるといい, 右下がりの直線的な傾向がみられるとき負の相関があるという.

たとえば, 下の図において, 左側にある程, 正の相関が強く, 右にあるほど負の相関が強い.

<定義>相関の正負

右上がりの直線的な傾向➨正の相関

右下がりの直線的な傾向➨負の相関

詳細はこちら

<統計量>共分散

$\displaystyle s_{xy}= \frac{(x_1 - \bar{x})(y_1-\bar{y})+\cdots + (x_n - \bar{x})(y_n-\bar{y})}{n}$

証明はこちら
定義(共分散)

2変量のデータ $x=[x_1, \ldots , x_n]$ と $y=[y_1, \ldots, y_n]$ に対して, それぞれの偏差の積の平均を共分散 $s_{xy}$ と呼び, 次の式で定義する。 $$ \begin{aligned} s_{xy} &= \frac{1}{n} \sum_{k=1}^n (x_k - \bar{x})(y_k - \bar{y}) \\[10pt] &= \frac{(x_1 - \bar{x})(y_1 - \bar{y}) + \cdots + (x_n - \bar{x})(y_n - \bar{y})}{n} \end{aligned} $$

たとえば, $x=[1, 2, 3]$, $y=[2,4,6]$ のとき, 共分散は $\frac{4}{3}$ です。 $z=[-2,-4,-6]$ のとき, $x$ と $z$ の共分散は $-\frac{4}{3}$ です。

<統計量>相関係数

$\displaystyle r = \frac{s_{xy}}{s_x s_y}$

証明はこちら
定義(相関係数)

2変量のデータ $x=[x_1, \ldots , x_n]$ と $y=[y_1, \ldots, y_n]$ について, $$r = \frac{s_{xy}}{s_x s_y}$$ を相関係数という. ここで, $s_{xy}$ は $x$ と $y$ の共分散, $s_x$ と $s_y$ はそれぞれの標準偏差である.

例えば, $x=[1, 2, 3]$, $y=[2,4,6]$ のとき, 相関係数は $1$ です。
また, $z=[-2,-4,-6]$ のとき, $x$ と $z$ の相関係数は $-1$ です。

<性質>相関係数の範囲

相関係数は

$\displaystyle -1 \leq r \leq 1$

データ $x$ と $y$ について

$|r|=1 \Leftrightarrow y = ax+b$

証明はこちら
コーシー=シュバルツの不等式のベクトル表示を使って、相関係数の絶対値が1以下であることを証明してみよう。
命題(相関係数の範囲と等号成立条件)

2つのデータ $x,y$ の相関係数を $r$ とすると, $$ -1 \le r \le 1 $$ が成り立つ。 また, $$ |r| = 1 $$ となるのは, $y = ax + b$($a \neq 0$)が成り立つときに限る。

§データをベクトルで表す

データ $x=(x_1,x_2,\ldots,x_n)$ と $y=(y_1,y_2,\ldots,y_n)$ について, それぞれの平均を $\bar{x}$ と $\bar{y}$ とする。 次のベクトルを考える。 $\vec{x}=(x_1-\bar{x},\ldots,x_n-\bar{x})$, $\vec{y}=(y_1-\bar{y},\ldots,y_n-\bar{y})$

§相関係数のベクトル表示

相関係数 $r$ は, 共分散を標準偏差の積で割ったものであるから, $$ \begin{aligned} &r \\ & \quad =\frac{\displaystyle \frac{1}{n}\vec{x}\cdot\vec{y}} {\displaystyle \left(\frac{1}{\sqrt{n}}|\vec{x}|\right) \left(\frac{1}{\sqrt{n}}|\vec{y}|\right)} \\ & \quad =\frac{\vec{x}\cdot\vec{y}}{|\vec{x}|\,|\vec{y}|} \end{aligned} $$ と表せる。

§コーシー=シュバルツの不等式を用いる

コーシー=シュバルツの不等式より, $$ |\vec{x}\cdot\vec{y}| \le |\vec{x}|\,|\vec{y}| $$ が成り立つ。

§相関係数の絶対値を評価

上の不等式を $$ r =\frac{\vec{x}\cdot\vec{y}}{|\vec{x}|\,|\vec{y}|} $$ に適用すると, $$ |r| =\frac{|\vec{x}\cdot\vec{y}|}{|\vec{x}|\,|\vec{y}|} \le 1 $$ が得られる。

§等号成立条件

コーシー・シュバルツの不等式において等号が成り立つのは, $\vec{x},\vec{y}$ が一次従属のときである。 すなわち, ある実数 $a$ $(a \neq 0)$ が存在して $$ \vec{y} = a\vec{x} $$ と書ける場合である。

§データとの対応

この式は, $1 \leq k \leq n$ の任意の自然数について,  $$y_k - \bar{y} = a(x_k -\bar{x})$$ が成り立つことを意味する。すなわち, $$y_k = ax_k - a\bar{x} + \bar{y}$$ が成り立つ。 これは, ある実数 $a$ と $b$ を使って, データ $x,y$ の間に $$ y = ax + b \quad $$ が成り立つことに対応する。

§結論

ゆえに, 相関係数 $r$ は常に $-1 \le r \le 1$ を満たし, $|r|=1$ となるのは $y = ax + b$ が成り立つ場合に限られる。

<注意>アンスコムの数値例

相関係数が $1$ に近くても相関関係があるとは限らない

※すべて相関係数 $0.816$ の例

詳細はこちら
数値例(アンスコム)

平均・分散・相関係数といった基本的な統計量がほぼ同一であるにもかかわらず、グラフに描画すると全く異なる性質を持つ4つのデータ群のこと。

観測値/統計量I_xI_yII_xII_yIII_xIII_yIV_xIV_y
1108.04109.14107.4686.58
286.9588.1486.7785.76
3137.58138.741312.7487.71
498.8198.7797.1188.84
5118.33119.26117.8188.47
6149.96148.10148.8487.04
767.2466.1366.0885.25
844.2643.1045.391912.50
91210.84129.13128.1585.56
1074.8277.2676.4287.91
1155.6854.7455.7386.89
平均9.07.509.07.509.07.509.07.50
分散11.04.1211.04.1211.04.1211.04.12
相関係数0.8160.8160.8160.8160.8160.8160.8160.816

データの変換と共分散・相関係数

実数 $a, b$ について, データ $x', y'$ とデータ $x, y$ には, $x'=ax+b$ と $y'=cy+d$ という関係があるとする。

<性質>共分散の変化

$\displaystyle s_{x'y'} = ac \cdot s_{xy}$

証明はこちら
データ $x$ と $y$ のそれぞれの各値を $x'=ax+b$, $y'=cy+d$ によって変換したあとのデータの共分散 $s_{x'y'}$ が $acs_{xy}$ であることを示してみよう。
命題(一次変換による共分散の変化)

データ $x, y$ の共分散を $s_{xy}$ とする。 各データを $x'_k = ax_k + b$, $y'_k = cy_k + d$ と変換したときの共分散 $s_{x'y'}$ は, 次のようになる。 $$ s_{x'y'} = acs_{xy} $$

$x, y$ の平均値を $\bar{x}, \bar{y}$ とする。変換後のデータの平均値は次のように表される。 $$ \bar{x'} = a\bar{x} + b, \quad \bar{y'} = c\bar{y} + d $$

§偏差の計算

各データの偏差を求めると, 定数項 $b, d$ が相殺される。 $$ \begin{aligned} x_k' - \bar{x'} &= (ax_k + b) - (a\bar{x} + b) = a(x_k - \bar{x}) \\[5pt] y_k' - \bar{y'} &= (cy_k + d) - (c\bar{y} + d) = c(y_k - \bar{y}) \end{aligned} $$

§共分散の定義式の計算

$s_{x'y'}$ の定義式に上の結果を代入し, $ac$ を共通因数として括りだす。 $$ \begin{aligned} s_{x'y'} &= \frac{(x_1'-\bar{x'})(y_1'-\bar{y'}) + \cdots + (x_n'-\bar{x'})(y_n'-\bar{y'})}{n} \\[10pt] &= \frac{a(x_1-\bar{x}) \cdot c(y_1-\bar{y}) + \cdots + a(x_n-\bar{x}) \cdot c(y_n-\bar{y})}{n} \\[10pt] &= \frac{ac \left\{ (x_1-\bar{x})(y_1-\bar{y}) + \cdots + (x_n-\bar{x})(y_n-\bar{y}) \right\}}{n} \\[10pt] \end{aligned} $$

§結論

右辺の和の形は元の共分散 $s_{xy}$ そのものであるから, 次が成り立つ。 $$ s_{x'y'} = acs_{xy} $$

たとえば, $x=[1, 2, 3]$ のとき, $y=2x+1$ と変形すると, $x'=[3, 5, 7]$ になります。
$y=[2, 4, 6]$ のとき, $y'=-x+2$ と変形すると, $y'=[0, -2, -4]$ になります。

$\displaystyle s_{xy}=\frac{4}{3}$, $\displaystyle s_{x'y'}=-\frac{8}{3}$ なので, $s_{x'y'}=2 \cdot (-1) \cdot s_{xy}$ が成り立っています。

<性質>相関係数の変化

$\displaystyle r_{x'y'} = \frac{ac \cdot s_{xy}}{|ac| \cdot s_x s_y}$

証明はこちら
データ $x$ と $y$ のそれぞれの各値を $x'=ax+b$, $y'=cy+d$ によって変換したあとのデータの相関係数 $r_{x'y'}$ が $\displaystyle \frac{ac}{|ac|}r_{xy}$ であることを示してみよう。
命題(一次変換による相関係数の変化)

データ $x=[x_1, x_2, \cdots, x_n]$ と $y=[y_1, y_2, \cdots, y_n]$ について, 相関係数を $r_{xy}$ とする.

データ $x$ の各値 $x_k$ $(1 \leq k \leq n)$ を $x_k'=ax_k + b$ と変換したあとのデータを $x'$ とする. また, データ $y$ の各値 $y_k$ $(1 \leq k \leq n)$ を $y_k'=cy_k + d$ と変換したあとのデータを $y'$ とする.

データ $x'$ と $y'$ の相関係数を $r_{x'y'}$ とする. このとき, $r_{x'y'}=\displaystyle \frac{ac}{|ac|}r_{xy}$ が成り立つ.

変量 $x, y$ を $x' = ax+b, y' = cy+d$ と変換したときの相関係数 $r_{x'y'}$ を求める。 (ただし $a, c$ は $0$ でない定数とする)

§各統計量の変換規則

標準偏差および共分散の変換規則より, 次の関係が成り立つ。 $$ \begin{cases} s_{x'} = |a|s_x \\ s_{y'} = |c|s_y \\ s_{x'y'} = acs_{xy} \end{cases} $$

§相関係数の計算

相関係数の定義式 $r = \frac{s_{xy}}{s_x s_y}$ にこれらを代入すると: $$ \begin{aligned} r_{x'y'} &= \frac{s_{x'y'}}{s_{x'}s_{y'}} \\[10pt] &= \frac{acs_{xy}}{|a|s_x \cdot |c|s_y} \\[10pt] &= \frac{ac}{|a||c|} \cdot \frac{s_{xy}}{s_x s_y} \end{aligned} $$

§結論

$|a||c| = |ac|$ であるから, 変換後の相関係数は次のようになる。 $$ r_{x'y'} = \frac{ac}{|ac|} r_{xy} $$

【補足:符号の意味】
・$ac > 0$(同符号)のとき:$r_{x'y'} = r_{xy}$ (不変)
・$ac < 0$(異符号)のとき:$r_{x'y'} = -r_{xy}$ (符号が反転)
たとえば, $x=[1, 2, 3]$ のとき, $y=2x+1$ と変形すると, $x'=[3, 5, 7]$ になります。
$y=[2, 4, 6]$ のとき, $y'=-x+2$ と変形すると, $y'=[0, -2, -4]$ になります。

$\displaystyle r_{x'y'}=-1$, $\displaystyle r_{xy}=1$ なので, $\displaystyle r_{x'y'}=\frac{2 \cdot (-1)}{|2| \cdot |-1|} r_{xy}$ が成り立っています。

共分散・相関係数の性質

<注意>アンスコムの数値例

相関係数が $1$ に近くても相関関係があるとは限らない

※すべて相関係数 $0.816$ の例

詳細はこちら
数値例(アンスコム)

平均・分散・相関係数といった基本的な統計量がほぼ同一であるにもかかわらず、グラフに描画すると全く異なる性質を持つ4つのデータ群のこと。

観測値/統計量I_xI_yII_xII_yIII_xIII_yIV_xIV_y
1108.04109.14107.4686.58
286.9588.1486.7785.76
3137.58138.741312.7487.71
498.8198.7797.1188.84
5118.33119.26117.8188.47
6149.96148.10148.8487.04
767.2466.1366.0885.25
844.2643.1045.391912.50
91210.84129.13128.1585.56
1074.8277.2676.4287.91
1155.6854.7455.7386.89
平均9.07.509.07.509.07.509.07.50
分散11.04.1211.04.1211.04.1211.04.12
相関係数0.8160.8160.8160.8160.8160.8160.8160.816

<等式>相関係数はコサイン

$r=\cos \theta$

証明はこちら
相関係数 $r$ が, データから定義される2つのベクトルのなす角 $\theta$ に関する $\cos \theta$ であることを理解してみよう。
相関係数と cos の関係

データ $(x_1,y_1),(x_2,y_2),\ldots,(x_n,y_n)$ について, $x$ の平均を $\bar{x}$, $y$ の平均を $\bar{y}$ とする。 次の2つの $n$ 次元ベクトルを考える: $$ \begin{aligned} \vec{x}&=(x_1-\bar{x},\,x_2-\bar{x},\,\ldots,\,x_n-\bar{x}), \\ \vec{y}&=(y_1-\bar{y},\,y_2-\bar{y},\,\ldots,\,y_n-\bar{y}). \end{aligned} $$ 相関係数 $r$ について $$r=\cos\theta$$ が成り立つ。ここで, $\theta$ は $n$ 次元空間におけるベクトル $\vec{x}$ と $\vec{y}$ のなす角である。

※ $n$ 次元ベクトル $\vec{a},\vec{b}$ の内積は, $\vec{a}\cdot\vec{b}=|\vec{a}|\,|\vec{b}|\cos\theta$ と定める。
§内積を計算

ベクトル $\vec{x}$ と $\vec{y}$ について, 内積の定義より, $$ \cos\theta =\frac{\vec{x}\cdot\vec{y}}{|\vec{x}|\,|\vec{y}|} =\frac{\displaystyle \frac{1}{n}\vec{x}\cdot\vec{y}} {\displaystyle \left(\frac{1}{\sqrt{n}}|\vec{x}|\right) \left(\frac{1}{\sqrt{n}}|\vec{y}|\right)} $$ と変形できる。

§分子を計算

この式の分子 $\frac{1}{n}\vec{x}\cdot\vec{y}$ は, $$ \frac{(x_1-\bar{x})(y_1-\bar{y})+\cdots+(x_n-\bar{x})(y_n-\bar{y})}{n} $$ であり, これはデータ $x$ と $y$ の共分散である。

§分母を計算

また, 分母について, $$ \begin{aligned} \frac{1}{\sqrt{n}}|\vec{x}| &=\sqrt{\frac{(x_1-\bar{x})^2+\cdots+(x_n-\bar{x})^2}{n}}, \\ \frac{1}{\sqrt{n}}|\vec{y}| &=\sqrt{\frac{(y_1-\bar{y})^2+\cdots+(y_n-\bar{y})^2}{n}} \end{aligned} $$ であり, それぞれデータ $x$,$y$ の標準偏差である。

§相関係数の定義を確認

共分散をそれぞれの標準偏差で割ったものが相関係数であるから, $$ r =\frac{\text{共分散}}{\text{標準偏差} \times \text{標準偏差}} =\cos\theta $$ が成り立つ。

§結論

ゆえに, データ $x$ と $y$ について, $r =\cos \theta$ が成立する.

例えば, $x=[1,3,2]$, $y=[1,2,3]$ ならば, $\vec{x}$ $=(-1,1,0)$, $\vec{y}$ $=(-1,0,1)$ です。

これらのベクトルの成す角度は $\displaystyle \frac{\pi}{3}$ で, $$\cos \frac{\pi}{3} = 0.5$$ です。 なお, 実際に相関係数も $r = 0.5$ です。

データの連関について

集計方法

・単純集計
・クロス集計

詳細はこちら

1つの変数について, データを集計する方法を単純集計という。

賛成者
A案$10$
B案$5$
C案$3$
$18$
単純集計の例

2つ以上の変数の関係をふまえ, データを同時に集計する方法をクロス集計表という。

賛成反対
A案$5$$6$$11$
B案$3$$4$$7$
$8$$10$$18$
クロス集計表の例

<統計量>YuleのQ

$\displaystyle Q = \frac{ad-bc}{ad+bc}$

詳細はこちら

次の2×2のクロス集計表

A$a$$b$$W=a+b$
B$c$$d$$X=c+d$
$Y=a+c$$Z=b+d$$a+b+c+d$

ではYuleのQは,

$\displaystyle Q = \frac{ad-bc}{ad+bc}$

と定義する。

$-1 \leq Q \leq 1$ である。

<統計量>Φ係数

$\displaystyle \phi=\frac{ad-bc}{\sqrt{W\cdot X \cdot Y \cdot Z}}$

証明はこちら

2×2のクロス集計表

A$a$$b$$W=a+b$
B$c$$d$$X=c+d$
$Y=a+c$$Z=b+d$$a+b+c+d$

ではΦ係数 $\phi$ は,

$\displaystyle \phi = \frac{ad-bc}{\sqrt{W\cdot X \cdot Y \cdot Z}}$

と定義する。

$-1 \leq \phi \leq 1$ である。

データの読み取りについて

<目安例>相関係数の基準

  • $|r| \leqq 0.2$ $\leftrightarrow$ 相関なし
  • $0.2 \leqq |r| \leqq 0.4$ $\leftrightarrow$ 弱い相関
  • $0.4 \leqq |r| \leqq 0.7$ $\leftrightarrow$ (中程度の)相関
  • $0.7 \leqq |r|$ $\leftrightarrow$ 強い相関
  • $|r|=1$ $\leftrightarrow$ 完全な比例関係(強い相関)
詳細はこちら

相関係数 $r$ から統計的結果を導く一つの目安として,

  • $|r| \leqq 0.2$ $\leftrightarrow$ 相関なし
  • $0.2 \leqq |r| \leqq 0.4$ $\leftrightarrow$ 弱い相関
  • $0.4 \leqq |r| \leqq 0.7$ $\leftrightarrow$ (中程度の)相関
  • $0.7 \leqq |r|$ $\leftrightarrow$ 強い相関
  • $|r|=1$ $\leftrightarrow$ 完全な比例関係(強い相関)

がある。ただし, あくまでも一つの目安であり決まっている訳ではない。

散布図上に直線的な傾向があることが相関の前提である。

<目安例>YuleのQ・Φ係数の基準

  • $Q, \phi =0$ $\leftrightarrow$ 独立
  • $0< Q, \phi \leqq 0.5$ $\leftrightarrow$ 連関なし
  • $0.5 \leqq Q, \phi \leqq 0.75$ $\leftrightarrow$ (中程度の)連関
  • $0.75 \leqq |r|$ $\leftrightarrow$ 強い連関
  • $Q, \phi=1$ $\leftrightarrow$ 完全に偏ったクロス集計表(強い連関)
詳細はこちら

YuleのQやΦ係数 $\phi$ から統計的結果を導く一つの目安として,

  • $Q, \phi =0$ $\leftrightarrow$ 独立
  • $0< Q, \phi \leqq 0.5$ $\leftrightarrow$ 連関なし
  • $0.5 \leqq Q, \phi \leqq 0.75$ $\leftrightarrow$ (中程度の)連関
  • $0.75 \leqq |r|$ $\leftrightarrow$ 強い連関
  • $Q, \phi=1$ $\leftrightarrow$ 完全に偏ったクロス集計表(強い連関)

がある。ただし, あくまでも一つの目安であり決まっている訳ではない。

その他

因果関係との関係。オッズ比。

【表計算】Excel・スプレッドシートでデータの関連を計算

散布図の作成

表計算ソフトで散布図を作ってみよう。
完成イメージ図と作業手順

次のステップで散布図を作成する。
※作業環境はGoogleスプレッドシートです。
(1) データの範囲を指定する。
(2)【挿入】から【グラフ】を選択する。
(3)【設定】の【散布図】を選択する。
(4)【カスタマイズ】でグラフを調整する。

手順.

(1) 次のデータを利用します。このデータの範囲を指定します。今回は、B列とC列のみを指定しました。

(2) 【挿入】から【グラフ】を選択します。

(3) 【設定】【散布図】を選択します。

(4) 必要に応じて【カスタマイズ】でグラフを調整すると「★完成イメージ」の散布図ができます。

相関係数CORREL()

CORREL関数

データの相関係数を表計算で計算する場合、
CORREL(データ範囲1, データ範囲2)
を利用する。

・データ範囲1, 2…データのセル範囲を指定。

例えば、[A1]:1, [A2] :2, [A3]:3, [B1]:2, [A2] :4, [A3]:6の場合、「=CORREL(A1:A3, B1:B3)」と入力すると1.0が出力されます。

クロス集計表の作成【ピボットテーブル】

表計算ソフト(Excelなど)でピボットテーブルを利用してクロス集計表を作ってみよう。
※作業環境はGoogleスプレッドシートです。

作業手順

次のステップでクロス集計表を作成する。

(1) データの範囲を指定する。
(2)【挿入】から【ピボットテーブル】を選択する。
(3)【ピボットテーブルの作成】で「新しいシート」か「既存のシート」のいずれかに作成するかを選択する。
(4)【ピボットテーブルエディタ】【行】 【列】 【値】 【フィルタ】に集計する項目を入れる。

★完成イメージ

手順.

(1) 次のデータを利用します。このデータの範囲を指定します。今回は、A1E10全体を指定しました。

(2) 【挿入】から【ピボットテーブル】を選択します。

(3) 【ピボットテーブルの作成】で「新しいシート」か「既存のシート」のいずれかに作成するかを選択します。

今回は、「既存のシート」を選択して、A12にピボットテーブルを作成します。

(4) 【ピボットテーブルエディタ】【行】 【列】 【値】 【フィルタ】に集計する項目を入れます。

今回は右にある「商品名」を【行】にドラッグ、「店舗名」を【列】にドラッグ、「売上金額(円)」を【値】にドラッグしました。

【値】【集計】の項目をSUMにすれば合計値を出力できます。また、AVERAGE等ほかのものにすれば他の値を出力できます。

【フィルタ】に項目をドラッグすれば、フィルタに入力した項目別に集計をすることができます。

【コード】Pythonでデータの関連を計算

散布図の作成scatter()

2変量のデータから散布図をPythonで出力してみよう。

Pythonコード

matplotlib.pyplotscatter()関数を利用して, 散布図を出力する。

scatter()の引数には, 散布図にする2つのデータを入力する。

入力例. heightweight のデータから散布図を表示する。

import matplotlib.pyplot as plt
import japanize_matplotlib

# データ
height = [150, 152, 155, 157, 158, 160, 161, 162, 163, 164,
          165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
          175, 176, 177, 178, 179, 180, 181, 182, 183, 185]
weight = [45, 47, 48, 50, 51, 53, 54, 55, 55, 56,
          57, 58, 59, 60, 61, 62, 63, 64, 64, 65,
          66, 67, 68, 69, 70, 71, 72, 73, 74, 75]

# 散布図の描画
plt.scatter(height, weight, color="skyblue")
plt.title("身長と体重の関係")
plt.xlabel("身長 (cm)")
plt.ylabel("体重 (kg)")
plt.grid(True)
plt.show()

matplotlibで日本語を利用する場合japanize_matplotlibを使う。必要であれば、次を行い事前にインストールしておく。

pip install japanize-matplotlib

相関係数(行列)corrcoef()

Pythonコード

numpyモジュールのcorrcoef()関数を利用し, 相関係数(行列)を出力する。

corrcoef(x,y)として, xyにデータを指定する。xx, xy, yx, yyの相関係数を並べた行列が出力される。

相関係数のみ出力する場合, corrcoef(x,y)[1,0]などと表記し, 行列の $(1, 0)$ 成分のみを出力する。

3変量以上の相関係数行列を出力する場合は, 各リスト(データ)をnumpy.array()ndarray型に変換しcorrcoef()を利用する。

入力例①. [1, 2, 3, 4, 5][4, 4, 7, 10, 12]のデータの相関係数行列と相関係数を出力する。

import numpy as np

x = [1, 2, 3, 4, 5]
y = [4, 4, 7, 10, 12]

print(np.corrcoef(x, y))
print(np.corrcoef(x, y)[1,0])

入力例②. [1, 2, 3, 4, 5][4, 4, 7, 10, 12], [-3, 0, -3, -4, -4]のデータの相関係数行列を出力する。

import numpy as np

x = [1, 2, 3, 4, 5]
y = [4, 4, 7, 10, 12]
z = [-3, 0, -3, -4, -4]

data = np.array([x, y, z])
corr_matrix = np.corrcoef(data)
print(corr_matrix)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です