情報ラボ > 回帰と予測
点の集まりに、どうやって「いちばん合う直線」を引くのでしょうか。
正方形の面積の合計が、できるだけ小さくなる直線が「いちばん合う直線」です。
灰色の帯が、実際にデータのある範囲です。その外側で予測すると、何が起きるでしょうか。
2つの数量に関係があるとき、片方から片方を予測したくなります。勉強時間から点数を、気温から売上を。この予測のために関係を式で表すことを回帰といいます。
最も基本的なのが、直線で表す単回帰です。式は次の形になります。
a は傾き、b は切片です。この2つの値をどう決めるかが問題になります。
直線は無数に引けます。その中で「いちばん合う」ものをどう選ぶのでしょうか。
考え方はこうです。各点について、直線からのずれを測ります。実際の値と、直線から予測される値の差です。これを残差といいます。
すべての残差を小さくしたいのですが、単純に合計すると問題が起きます。プラスとマイナスが打ち消し合ってしまうのです。そこで、残差を二乗してから合計します。
この合計が最小になるように a と b を決める方法を、最小二乗法といいます。二乗するので、大きなずれほど強く効きます。
上のツールの1つ目では、残差を正方形として表示しています。正方形の面積の合計が、まさに残差の二乗和です。直線を動かすと面積の合計が変わり、最小になる位置が「いちばん合う直線」だと分かります。
手で試行錯誤する必要はありません。数式で一発で求まります。
この式から、回帰直線は必ずx の平均と y の平均が交わる点を通ることが分かります。データの重心を通るわけです。
直線を引いたあと、「この直線はどれくらい当てになるのか」を知りたくなります。その指標が決定係数(R²)です。
0から1の値をとり、1に近いほど当てはまりが良いことを示します。
| 決定係数 | 意味 |
|---|---|
| 0.9 以上 | 非常によく説明できている |
| 0.5 〜 0.9 | ある程度説明できている |
| 0.5 未満 | この直線ではあまり説明できない |
決定係数は「y のばらつきのうち、何割を x で説明できたか」と読めます。R² が 0.7 なら、点数のばらつきの7割は勉強時間で説明でき、残り3割は別の要因によるという意味です。
単回帰の場合、決定係数は相関係数の二乗と一致します。相関係数が 0.8 なら、決定係数は 0.64 です。
最も危険なのが、データのない範囲まで直線を延ばして予測することです。これを外挿といいます。
1日3時間まで勉強したデータから作った式で、「20時間勉強すれば何点か」を計算すると、100点を超える値が出ます。式の上ではそうなりますが、現実にはありえません。
直線関係が成り立つのは、あくまでデータのあった範囲だけです。その外で同じ関係が続く保証はどこにもありません。上のツールの3つ目で、この様子を確かめられます。
回帰式が求まっても、x が y の原因だとは限りません。逆かもしれませんし、両方に影響する第三の要因があるかもしれません。
「アイスの売上から水難事故の件数を予測する」式を作ることは可能です。数値としては当てはまりますが、アイスを減らせば事故が減るわけではありません。どちらも気温という共通の要因で動いているだけです。
最小二乗法は残差を二乗するため、大きく外れた点の影響を強く受けます。1つの異常なデータで、直線が大きく傾くことがあります。
回帰を行う前に散布図を見て、明らかにおかしな点がないか確認する習慣が大切です。数値だけを見ていると気づけません。
| 種類 | 特徴 |
|---|---|
| 単回帰 | 1つの変数から予測する。もっとも単純 |
| 重回帰 | 複数の変数から予測する。広さと駅からの距離で家賃を予測、など |
| 多項式回帰 | 曲線で当てはめる。複雑にしすぎると過学習になる |
| ロジスティック回帰 | 数値ではなく、あり・なしの確率を予測する |
実際の分析では、複数の要因を同時に扱う重回帰がよく使われます。家賃なら、広さだけでなく駅からの距離、築年数、階数などをまとめて考えます。基本の考え方は単回帰と同じで、残差の二乗和を最小にします。
回帰式を求めたあと、必ず確認したいのが残差です。実際の値と予測値の差、つまり「予測が外れた分」です。
残差を横軸に予測値をとって描くと、当てはまりの良し悪しが見えてきます。理想は、残差が0のまわりにランダムに散らばっている状態です。
もし残差に規則性が見えたら、直線では不十分だという合図です。たとえば残差がU字形に並んでいれば、本当は曲線関係だということになります。数値だけを見ていては気づけない情報です。
回帰式の傾きは「xが1増えると、yがどれだけ増えるか」を表します。この解釈には、単位の確認が欠かせません。
気温とアイスの売上で傾きが9.5だったとします。これは「気温が1℃上がると、売上が9.5本増える」という意味です。単位を取り違えると、まったく違う解釈になってしまいます。
また、切片には意味がない場合があります。身長と体重の式で切片を求めると「身長0cmのときの体重」という、現実にありえない値になります。切片は計算上の値であって、必ずしも解釈できるとは限りません。