解説
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本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。