【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):低い正の相関があり、わずかな関係性があることを示しています。
このように、複雑なデータを使用することで、現実的なデータ間の相関を計算できます。
スポンサーリンク