解説
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 を求め、関係の強さ(正の相関)を判定して表示しよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
もっと本格的に使うなら
Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。