【Python】相関係数を取得するためのcorrメソッド
Pythonでは、pandas.DataFrameやpandas.Seriesオブジェクトのcorrメソッドを使用して簡単に相関係数を計算できます。
import pandas as pd
import numpy as np
# ランダムなデータを生成
np.random.seed(42)
data = {
'x': np.random.normal(50, 10, 100), # 平均50、標準偏差10の正規分布
'y': np.random.normal(50, 15, 100), # 平均50、標準偏差15の正規分布
'z': np.random.uniform(20, 80, 100) # 20から80の一様分布
}
df = pd.DataFrame(data)
# x, y, zの相関係数行列
xyz_corr_matrix = df.corr()
print("x, y, zの相関係数行列:")
print(xyz_corr_matrix)
print('------')
# xとyの相関係数
xy_corr = df['x'].corr(df['y'])
print(f"xとyの相関係数: {xy_corr}")
# [実行例]
# x, y, zの相関係数行列:
# x y z
# x 1.000000 -0.136422 -0.030357
# y -0.136422 1.000000 0.108685
# z -0.030357 0.108685 1.000000
# ------
# xとyの相関係数: -0.13642221217000255
結果の解釈
- x, y, zの相関係数行列:xとzやyとzの相関係数は0付近で、ほぼ無関係であることを示しています。
- xとyの相関係数(0.136422):低い正の相関があり、わずかな関係性があることを示しています。
このように、複雑なデータを使用することで、現実的なデータ間の相関を計算できます。
スポンサーリンク