#59

2つのデータの相関係数

2変数の関係の強さを相関係数で測ります。

解説

2つの量に関係があるかを数値で表すのが相関係数 r です。 - まず共分散(2変数が一緒に動く度合い)を計算します。 - それを両者の標準偏差の積で割ると、−1〜+1の相関係数になります。 r が +1に近いほど強い正の相関(片方が増えると片方も増える)、−1に近いほど強い負の相関、0に近いほど無関係です。zip()で2つのリストを同時に処理する書き方も覚えましょう。

書き方

import statistics — 統計モジュールを読み込む。
・statistics.mean(データ) — 平均値、statistics.pstdev(データ) — 母標準偏差。
・zip(a, b) — 2つのリストの要素を同時に取り出す。
・共分散: sum((x - mx) * (y - my) for x, y in zip(...)) / len(...)。
・相関係数 r: 共分散 / (xの標準偏差 * yの標準偏差)、範囲は -1〜+1。
・A if 条件 else B — 条件式で解釈を切り替え。round(値, 桁) で四捨五入。

書いて動かす

この回の課題

勉強時間とテスト点の2つのリストから共分散と相関係数 r を求め、関係の強さ(正の相関)を判定して表示しよう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

自分のPCでも続けてみませんか

Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。