Ⅵ 数え上げ・確率・統計 · ステージ 34 — 統計 · 34.6 相関と回帰全レッスン →EN日本語
ステージ 34 · 統計

2変数の関係:相関と回帰

一方の数が増えると、もう一方も増えるのか?点の雲を読み、関係を数値で測り、直線を引いて予測する。そして「いっしょに動く」ことを「原因と結果」と混同しないこと。

対象年齢 14〜18歳 · データで世界を読む
暖かい8日間とアイスクリームの売上。青い点それぞれが1組のペアデータ、緑の直線 ŷ = b̂x + â が最小二乗フィット、短い赤い棒が各点の残差。

これまでは1つひとつの測定値が単独で存在していた――身長の山、点数の山。しかし現実の世界はデータがペアでやってくる。生徒の学習時間成績、ある日の気温アイスクリームの販売数、人の身長体重。もはや問いは「中心はどこか?」ではなく「この2つは連動するのか?」だ。それを確かめるため、ペアデータを点の雲としてプロットし、雲の傾き−1から+1の間の1つの数rに凝縮し、最も良い直線を引いて予測する。そして道のりを通じて忘れてはならない警告がある――2つがいっしょに動くことはパートナーシップであり、因果関係の証明では決してない。

34.6.1 ペアデータと散布図

1変数はリストを与える:x₁, x₂, …, xₙ。ペアデータのリストを与える――各個体について2つの数を同時に記録した (x, y) のペアだ。2つが連動するかを見るには、各ペアを平面上に置く。xだけ右へ進み、yだけ上へ進んで点を打つ。この図が散布図であり、個別の点ではなく全体のドリフト(流れ)が物語を語る。

横軸は入力とみなす変数(説明変数:操作できる、あるいは先に分かる変数)、縦軸は予測したい応答変数ステージ 21 · 一次関数で学んだのと同じ平面に、今度はきれいな一本の式ではなく、現実の雑然としたデータが載る。

6人の生徒の学習時間と試験の点数のペア。青い点1つが1人の生徒、点の雲は全体として右上がり――時間が増えるほど点数も高い。
重要ポイント

散布図はペアのリスト (x, y) を点の雲に変える。読むべきは個別の点ではなく、雲の形と傾きだ――雲は右上がりか、右下がりか、それとも広がるだけか?

34.6.2 正の相関・負の相関・無相関

雲から少し離れて眺め、左から右へ目を動かしたとき雲がどうなるかを問う。

「傾向がある」というのが正直な言い方だ。いくつかの点がトレンドに逆らうこともある。相関は集団全体の振る舞いを表すものであり、個々の点への約束ではない。

同じ8点を並べ替えた3つの雲:(右上がり)、(右下がり)、(広がるだけ)。緑の直線はそれぞれの最小二乗フィットで、GX.linRegが計算する。
試してみよう 点の雲ギャラリー
4種類のデータセットを切り替えよう。雲の傾きと直線が連動し、rがそれを報告する様子を見てほしい。
データセット
重要ポイント

方向は傾きの符号:右上がり=正、右下がり=負、水平でぼんやり=無相関。強さは点が直線にどれだけ密集しているか。この2つを1つの数で同時に測ろうとしている。

34.6.3 相関係数 r

「かなり右上がり」「少し右上がり」では比べにくい。カール・ピアソンの相関係数 r は雲全体を−1から+1の間の1つの数に凝縮する:

r = +0.97 は強い右上がりの直線、r = −0.97 は同じくらい強い右下がり、r = 0.1 はかろうじてトレンドの気配があるだけだ。エンジンは GX.corr(pairs) で計算する。r は図から目分量で読むものではない。

計算例 — 強さ別の r

ギャラリーの「強い正」データセットでは、GX.corrr = 0.999 を返す――点が直線からほとんど離れない。1点を大きくずらして再計算すると、雲のは同じでも r は 0.40 前後まで落ち込む。1点だけで r は大きく揺らぐ――§34.6.7 で役立つ知識として覚えておこう。

注意 — r は直線しか聞き取れない

r が測るのは直線的な強さだけだ。完全な放物線のように下がって底を打ち、きれいな∪字形に上がる雲は、関係が盤石に存在するにもかかわらず、直線が全体にフィットしないため r ≈ 0 になる。r が小さいのは「直線的な関係がない」という意味であり、「パターンがない」という意味ではない。必ず先に散布図を眺めること。

試してみよう r は傾きを感じ取る — 放物線の罠も
右下がりの直線から、ぼんやりした塊、右上がりの直線へとなめらかに変化させ、r が静かに嘘をつく放物線も試してみよう。
傾き

34.6.4 最小二乗回帰直線

雲が本当に直線に沿っているとして、どの直線を選ぶべきか?無数に引ける直線の中から統計家が選ぶのは、点にできる限り近い直線だ。それを

ŷ = b̂ x + â

と書く。ŷ(「y ハット」)の帽子印は、実際に測定した y ではなく予測値であることを示す。傾き は x が1単位増えたとき ŷ がどれだけ上がるかを表し、切片 â は直線が x = 0 と交わる点だ。エンジンは GX.linReg(pairs) でデータから両方を求め、{b, a, r, predict} を返す。

この直線を特定する美しい事実がある――直線は必ず雲の重心、すなわち (x̄, ȳ)(x の平均と y の平均のペア)を通る。直線は平均という支点でちょうど釣り合うシーソーだ。

アイスクリームデータの最小二乗直線は支点 (x̄, ȳ) = (27, 42)(スレートの十字線)を必ず通る。直線をどう傾けても、この点の上に乗り続けなければならない。

34.6.5「最小二乗」という考え方

なぜその直線なのか、他の直線ではいけないのか?候補の直線について、各点から直線へ垂直に下ろした距離を考える。これがその点における残差――直線がどれだけ外れたか。外れが正(上側)のものも負(下側)のものもあり、単純に足すとプラスとマイナスが打ち消し合い、ひどい直線でもゼロになりかねない。

そこで残差を二乗する(符号をなくし、大きな外れをより重く罰する)、そして合計する。この合計が残差平方和(SSE)だ:

SSE = Σ (yᵢ − ŷᵢ)²

最小二乗直線とは、定義上、この合計をできる限り小さくする唯一の直線だ。どちらの方向に傾けても SSE は上がる。Σ 残差² を最小化するというたった1つのルールが、フィットを公平かつ一意に定める。

試してみよう 直線を動かして外れの合計を見る
候補の直線(支点に乗せたまま)の傾きを少しずつ変えよう。赤い残差の棒が伸び縮みし、SSE は最小二乗の傾きでぴったり底を打つ。
傾き b̂
計算例 — SSE のお椀

アイスクリームデータでは GX.linRegb̂ ≈ 3.10SSE = 130.5 を返す。直線を支点に乗せたまま最良傾きから±0.5 単位動かしてみよう。b̂ + 0.5 ≈ 3.60 に急にすると SSE は 172.5 に跳ね上がる。b̂ − 0.5 ≈ 2.60 に平らにしても SSE は同じく 172.5。2つの傾きが から等距離にあるため合計は両側で同じだけ上がる――お椀の底は b̂ ≈ 3.10 でぴったり底を打つ。

34.6.6 予測と外挿の危険

当てはめた直線の真価は予測にある。x を与えて ŷ = reg.predict(x) を読む。アイスクリームの直線 ŷ = 3.10x − 41.57 では、31 °C の日は ŷ = 3.10·31 − 41.57 ≈ 54 ダース(dozen)と予測する。

残差 y − ŷ は実際に観測した点での直線の外れを測る。残差が小さければ直線は忠実だ。しかし崖がある。直線はたとえば 20 °C から 34 °C のデータから学んだ。そのデータ範囲の内側の予測(内挿)は合理的だが、範囲を大きく外れた予測(外挿)は信仰の跳躍――そこでは直線のパターンがまったく成り立たないかもしれない。

注意 — 外挿は噛みつく

アイスクリームの直線を x = 45 °C まで延ばすと、直線は喜んでますます多くのコーンを予測する――しかし猛暑では人々は家にこもり、実際の売上は減るだろう。直線は見ていないデータについて何も知らない。観測範囲を大きく外れた予測は絶対に信用しないこと。

試してみよう 予測 — 外挿の旗を立てる
気温 x をスライドさせよう。データ範囲の内側では予測は緑で信頼できる。雲を越えると赤に変わり外挿を示す。
気温 x (°C)
試してみよう 散布図 + 回帰エクスプローラー
アイスクリームデータで残差の棒(x̄, ȳ) 支点線を切り替えよう。readout は ŷ と r をエンジンから直接引用する。
残差
支点 (x̄, ȳ)

34.6.7 相関は因果ではない

これは科学者・ジャーナリスト・政府全体をも騙してきた罠だ。アイスクリームの売上と溺死者数は年間を通じて一緒に増える――強い正の相関だ。コーンを買うと溺れるのか?もちろん違う。第三の隠れた要因――夏の暑さ――が両方を動かしている。暑い日はコーンが売れかつ大勢が水に入る。この隠れた要因が潜在変数(lurking variable)だ。

相関が言えるのは2変数がいっしょに動くということだけだ。x が y を引き起こすのか、y が x を引き起こすのか、あるいは潜在変数が両方を引き起こすのかは分からない。因果を証明するには散布図ではなく、対照実験が必要だ。データはパートナーシップを示す。犯人を名指しできるのは丁寧な推論だけだ。

注意 — 相関の4つの罠

相関≠因果 ――潜在変数が両方を動かしている可能性がある。② r が測るのは直線的な強さだけ――完全な放物線でも r ≈ 0 になる。③ 1つの外れ値が r と直線の両方を大きく動かす。④ データの外に外挿しない。直線を信じる前にこの4つを確認すること。

持ち帰るべきこと

2変数分析のツールキット
アイデア何をするかエンジンから
散布図ペア (x, y) を雲として表示し傾きを読むP.scatter(pairs)
相関係数 r ∈ [−1, 1]符号=方向、|r|=直線的強さGX.corr(pairs)
回帰直線 ŷ = b̂x + â最良直線;(x̄, ȳ) を通るGX.linReg(pairs)
最小二乗Σ(y − ŷ)²(SSE)を最小化するb̂, â の定義
予測と残差ŷ = predict(x);外れ = y − ŷreg.predict(x)
因果関係含意されない ――潜在変数に注意実験が必要

練習問題

  1. 車の年式(年)と下取り価格($)の散布図が一貫して右下がりに流れている。相関を言葉で説明し、r の符号を予測せよ。

    答えを見る

    年式が上がるにつれて雲が下がるので負の相関:古い車ほど価値が低い。点が右下がりの直線にかなりぴったり沿っているので、r は負で −1 に近い(例:約 −0.9)。

  2. 学習データの回帰で ŷ = 5.29x + 46.46 が得られた。x は学習時間、ŷ は試験の点数。傾きと切片をわかりやすい言葉で解釈せよ。

    答えを見る

    傾き b̂ = 5.29:学習1時間増えるごとに試験の点数が約 5.3 点上がる傾向がある。切片 â = 46.46:学習0時間の生徒の予測点数は約 46 点――ただし x = 0 はデータの端にあるため、この数値は慎重に扱うこと。

  3. 同じ直線 ŷ = 5.29x + 46.46 で、6時間学習した生徒の点数を予測せよ。実際に79点だった場合、残差を求めよ。

    答えを見る

    ŷ = 5.29·6 + 46.46 = 31.74 + 46.46 = 78.2。残差 = y − ŷ = 79 − 78.2 = +0.8 ――直線は 0.8 点低めに外れた。ごく小さく誠実な外れだ。

  4. ある研究で、火災に派遣された消防士の数被害額の間に強い正の相関が見つかった。消防士を減らすべきか?潜在変数を挙げよ。

    答えを見る

    いいえ――それは相関と因果を混同している。潜在変数は火災の規模だ。大きな火災が消防士の多い派遣大きな被害両方を引き起こす。消防士を減らせば被害は良くなるどころか悪化する。

  5. 2人の生徒が同じ8点に直線を当てはめた。Ayra の直線は SSE = 130、Ben の直線は SSE = 172 で、真の最小二乗 SSE は 130。どちらの直線が回帰直線か、Ben の直線から何が分かるか答えよ。

    答えを見る

    Ayra の直線が最小二乗回帰直線だ――SSE が最小値 130 に等しい。Ben の SSE = 172 が大きいのは、彼の直線が最良フィットから傾いているから。最小二乗直線は Σ(y − ŷ)² を最も小さくする唯一の直線だ。

  6. 点の雲が下がって底を打ち、きれいな∪字形(放物線)に上がっている。相関が r ≈ 0 と出た。「関係がない」のか?説明せよ。

    答えを見る

    強い関係がある――ただし直線的ではないだけだ。r直線がどれだけフィットするかだけを測り、∪字形に沿う直線はない。だから r ≈ 0 は「直線がない」という意味であり、「パターンがない」ではない。r だけでなく必ず散布図を見ること。

🎯 クイック確認

6問で理解を固めよう。正しいと思う答えをタップしてほしい。

§ 教師・保護者の方へ

このレッスンは Common Core の2変量データ分野をカバーしている:HSS-ID.B.6(ペアデータを散布図で表し、関数――ここでは最小二乗直線――を当てはめ、残差でフィットを評価する)、HSS-ID.C.7(文脈の中で線形モデルの傾きと切片を解釈する)、HSS-ID.C.8(相関係数 r を計算して解釈する)、HSS-ID.C.9(相関と因果を区別する)。ページに掲載するすべての統計値――傾き・切片・r・予測値・残差――は共有ヘルパー GX.linReg / GX.corr が計算し、図から目分量で読んだものは一切ない。各図の回帰直線はすべて本物の最小二乗直線であり、(x̄, ȳ) を通る。ステージ 21(一次関数)とステージ 33(正規分布と期待値)を土台とし、「データから結論を導く」姿勢はステージ 34.7 のカイ二乗検定とステージ 35 の論理へと続く。

eastmath.com · ステージ 34 · 34.6 相関と回帰 · データで世界を読む