Pythonで統計-共分散と相関係数

Pythonで統計-共分散と相関係数

共分散-np.cov(x,y)-

共分散np.cov(x,y)について、
\begin{pmatrix} S_{xx} & S_{xy} \\ S_{yx} & S_{yy} \end{pmatrix}
といった感じに行列として出力されます。
今回、2変数なので右上と、左下の値が共分散です。
左上は、xの分散
右下は、yの分散になります。

ソースコード

import numpy as np
from pylab import *

x = np.random.normal(3.0, 1.0, 1000)
y = np.random.normal(10.0, 4.0, 1000)


#共分散
covs = np.cov(x, y)

print("xの分散:{0}\nyの分散:{1}\n\
共分散:{2}\n".format(np.var(x),np.var(y),covs))

出力結果

共分散

共分散は、分散行列として出力されてますね。
左上は、xの分散・右下は、yの分散になっていることが確認できます。

右上と左下は、同じ値になっていることが確認できます。

相関係数-np.corrcoef(x, y)-

相関係数np.corrcoef(x, y)についても、分散と同様に
\begin{pmatrix} r_{xx} & r_{xy} \\ r_{yx} & r_{yy} \end{pmatrix}
といった感じに行列として出力されます。

ソースコード

import numpy as np
from pylab import *

x = np.random.normal(3.0, 1.0, 1000)
y = np.random.normal(10.0, 4.0, 1000)

#相関係数
cor = np.corrcoef(x, y)

print("相関係数:{0}".format(cor))

#散布図
plt.show(scatter(x, y))

出力結果

相関係数

相関係数も、行列として出力されてますね。
対角成分が同じになっていることが確認できます。

右上と左下がxとyの相関係数になっています。

おすすめ