第10回 回帰分析:単回帰と重回帰¶
12/8(火)Ⅱ講 10:35〜12:15・B402教室
データを「数式(モデル)」で説明する ―― ただし、当てはまりの良さは良いモデルの証明ではない
今日のリンク
- 📊 スライドを開く
- 📓 Colabノートを開く(10_regression.ipynb)
- 📝 課題を提出する(Moodle・第10回)
- 課題の本文はこのページの末尾にあります
この回のゴール¶
- 単回帰の式(切片・傾き)と決定係数 R² を読める
- 重回帰で「他を一定にしたときの関連(統制)」を理解する
- R²の罠・係数の罠・外挿の罠を知り、回帰結果を批判的に解釈できる
到達目標との対応:G3(Pythonで解析)・G2(批判的検証)。
0. フック¶
「草食か雑食かが分かれば、その種の行動圏の広さを予測できるだろうか?」
散布図に直線を引いて予測してみると――R² = 0.0001。栄養段階では行動圏をまったく説明できなかった。
では体重なら?
今日も対数で扱う
体重も行動圏も種によって数千倍違う。第3回・第5回と同じ理由で、両方とも対数の目盛りで扱う。
1. 単回帰¶
体重で行動圏を予測すると(n=153種):
- 回帰直線:データに最もよく当てはまる直線(最小二乗法=縦のズレの二乗和を最小に)
- 切片 = −3.883:log体重が0(=1g)のときの予測値
- 決定係数 R² = 0.462:行動圏のばらつきの約46%をモデルが説明
両対数のときの傾きは「何倍になるか」を表す¶
傾き 0.933 は、両方を対数にしているので足し算ではなくかけ算の関係を意味する。
| 体重が | 行動圏は |
|---|---|
| 2倍 | 1.9倍 |
| 10倍 | 8.6倍 |
| 100倍 | 73.6倍 |
傾きが1.0ちょうどなら「体重10倍で行動圏も10倍」。0.933はそれよりわずかに小さい = 大きい種ほど体重あたりの行動圏はやや狭い。
この傾き(スケーリング指数)は生物学では意味のある量として扱われる。「体が大きいほど広い範囲が要る」ことは分かりきっているが、どういう比率で増えるのかを1つの数で表せるのが回帰の力である。
係数は因果ではない
「体重10倍で行動圏8.6倍」は予測上の関連であって、「体重を増やせば行動圏が広がる」という因果の保証ではない(第5回)。観察データの回帰係数を因果効果と読んではいけない。
2. 重回帰 ―― 複数の説明変数で¶
体重だけでなく集団サイズも一緒に使う(n=149種):
重回帰では各係数が「他の変数を一定にしたときの、その変数の関連」を表す(=統制)。
R² が 0.46 → 0.60 に上がった。集団サイズには、体重だけでは説明できない情報がある。
注目:体重の係数が 0.933 → 0.568 に下がった
「集団サイズが同じ種どうしで比べたときの、体重の効果」はもっと小さい。単回帰のときの0.933には、集団サイズの効果が混ざり込んでいた(大きい種は大きな群れを作りがち)。
これが第5回でやった統制そのものである。重回帰は、統制を式の中で行う道具でもある。
さらに 個体群密度 を足すと R² = 0.746(n=137種)。個体群密度の係数は −0.573 で負 ―― 密に住んでいる種ほど、一頭あたりの行動圏は狭い。
よく当てはまっている ―― ように見える。ここで立ち止まる。
3. R²の罠 ―― 変数を足せば、必ず上がる¶
ここが今日の核心。説明変数を足すと、R²は必ず上がる(決して下がらない)。 たとえそれがまったく無意味な数字でも。
行動圏と無関係な「でたらめな乱数の列」を体重に足していくと:
| 足したでたらめ列 | R² |
|---|---|
| 0本 | 0.462 |
| 1本 | 0.472 |
| 5本 | 0.501 |
| 20本 | 0.509 |
| 50本 | 0.665 |
R²が高い ≠ 良いモデル
中身がゴミの乱数を50本足すだけで、R²は 0.46 → 0.67 に上がった。 当てはまり(R²)を上げたいだけなら、変数をたくさん入れればいい。だがそれは手元のデータに合わせすぎただけで、未来の予測は良くならない。これが 過学習 の入り口。
しかも今回は n=153種しかない。データの数に対して変数が多いほど、この効き方は激しくなる。
§2でR²が0.75まで上がったのを見て「良いモデルだ」と思ったなら ―― いま同じことが起きていないと、どうやって言えるだろうか。
「当てはまりの良さ」と「モデルの複雑さ」をどう釣り合わせるか ―― それが次回(第11回 AIC)のテーマ。
4. 残差を見る習慣 / 外挿の危険¶
残差=実際の値 − 予測値。残差を予測値に対してプロットし、偏った模様がないか確認するのが作法(ランダムに散っていれば良い兆候)。
残差は「外れ」ではなく「発見」でもある¶
予測から最も外れているのは Erythrocebus patas(パタスモンキー)。8kgの体格から予測される行動圏の 約49倍(28.2km²)を使っている。
これはデータの誤りだろうか。そうではない。パタスモンキーは森林ではなくサバンナで地上生活する霊長類で、散在する食物を求めて広大な範囲を移動することが知られている。
残差の大きい点は、モデルが捉えていない何かを教えてくれる
「当てはまりが悪い」で終わらせず、なぜ外れたのかを見に行く。そこにこそ、平均的な傾向では見えない現象がある。
外挿の危険¶
モデルを当てはめた体重の範囲は 48g 〜 112,589g。その外を予測してはいけない。
| 式に入れる体重 | 予測される行動圏 | |
|---|---|---|
| 1,000,000 g | 52.1 km² | 1トンの霊長類 |
| 1 g | 0.0001 km² | 1gの霊長類 |
| 3,000,000 g | 145.2 km² | アフリカゾウ(霊長類ですらない) |
式はどんな数字を入れても答えを返す。エラーは出ない。しかし1トンの霊長類も1gの霊長類も存在しない。
外れ値と外挿は、違う
外れ値は「ありえない値かどうか」を人間が判断できた(第2回:ゴリラ149kgは本物、−999gは誤り)。 外挿は、出てきた数字が正しいかどうか確かめる相手がそもそも存在しない。
まとめ¶
| 概念 | ひとこと |
|---|---|
| 単回帰 | y ≈ 切片 + 傾き×x。傾き=xが1増えると予測がいくつ増えるか |
| 両対数の傾き | 「何倍になるか」を表す(体重10倍 → 行動圏8.6倍) |
| 決定係数 R² | ばらつきのうちモデルが説明できた割合(0〜1) |
| 重回帰 | 複数の説明変数。各係数は「他を一定にしたとき」の関連(=統制) |
| ❌ R²の罠 | 変数を足せばR²は必ず上がる。でたらめ50本で0.46→0.67 |
| ❌ 係数の罠 | 回帰係数=予測上の関連。因果の保証ではない |
| ❌ 外挿の罠 | データ範囲の外は予測できない(1トンの霊長類はいない) |
| 残差 | 実際−予測。偏りを見る。大きな残差は発見の入り口(パタスモンキー) |
モデルは現実の近似。「当てはまりの良さ」は「良いモデル」ではない。 係数を因果と読まず、範囲外を予測せず、残差を見る。
今日の課題(Moodle提出)¶
配点:100点(自動採点40点 + 記述60点)/ 提出先:Moodle
Colab 10_regression.ipynb を実行したうえで答えること。
パートA:選択・数値問題(自動採点・各10点 ×4=40点)¶
A1. 単回帰「log行動圏 ≈ −3.883 + 0.933 × log体重」の 傾き0.933 の意味として最も正しいのは? - (ア) 体重が0.933倍の種の行動圏 - (イ) 体重が10倍になると、予測される行動圏は約8.6倍になる - (ウ) 行動圏が必ず0.933km²になる
A2. 「体重」だけのモデルに、行動圏と無関係なでたらめの乱数列を50本足すと、R²はどうなったか。 - (ア) 0.36 のまま変わらない (イ) 0.36 → 0.41 に上がった (ウ) 0.36 → 0.10 に下がった
A3. A2の結果から言えることとして最も適切なのは? - (ア) R²が高いほど常に良いモデルだ - (イ) 変数を足せばR²は上がるので、R²の高さだけでモデルの良さは判断できない - (ウ) でたらめな乱数は行動圏を予測できる
A4. この回帰式に「勉強20時間/日」を入れると予測点は196点になった。ここから分かることは? - (ア) 20時間勉強すれば196点取れる - (イ) データの範囲外(外挿)では予測は信用できない - (ウ) モデルが間違っている
パートB:記述問題(AIフィードバック対象・60点)¶
【全記述に共通・重要】自分の出力を引用すること
記述には、今日のColabで確認した数値を最低1つ引用すること(例:「勉強の傾きは7.5」「でたらめ20本でR²が0.36→0.41」「勉強20hで予測196点」)。引用がない記述は満点になりません。
B1.(30点) ある人が「重回帰でR²=0.95の高いモデルができた。変数を30個入れたら当てはまりが良くなった。これは素晴らしいモデルだ」と言った。この主張の問題点を、今日学んだ「R²と変数の数の関係」「過学習」の観点から指摘しなさい。
B2.(30点) 「体重→行動圏」の回帰式(傾き0.933)について、この予測を使ってはいけない場面・信じすぎてはいけない点を2つ挙げ、それぞれなぜかを説明しなさい。(ヒント:因果・外挿・残差・R²のうちから)
目安:B1・B2あわせて350〜550字。自分の言葉で書くこと。
次回予告
第11回「モデル選択とAIC」。R²の罠を乗り越える。「当てはまりの良さ」と「モデルの複雑さ」のトレードオフを、AICで定量化する。オッカムの剃刀。