残差平方和とは?意味・計算方法・機械学習での使い方を解説

AIの初心者
『残差平方和』ってなんですか?予測の評価で出てきたのですが、よく分かりません。

AI専門家
残差平方和は、予測した値と実際の値の差である「残差」を二乗し、すべて足し合わせた値です。例えば実際は5個なのにAIが3個と予測したら残差は-2、別の日に実際は6個で予測が7個なら残差は1です。これらを二乗して足すと、\((-2)^2 + 1^2 = 5\) になります。

AIの初心者
つまり、値が小さいほど予測が実際の値に近いと考えられるのですね?

AI専門家
その通りです。ただし、残差平方和だけでモデルの良し悪しを決めるのではなく、データ数、外れ値、検証データでの精度なども合わせて見ることが大切です。
残差平方和とは。
残差平方和は、統計学や機械学習で使われるモデル評価の指標です。実際の値と予測値の差を二乗して合計することで、予測が全体としてどれくらい外れているかを数値で確認できます。

残差平方和とは何か
残差平方和とは、モデルの予測値と実際に観測された値のずれを、全データ分まとめて評価する指標です。英語では Residual Sum of Squares と呼ばれ、RSS と略されることもあります。
まず、あるデータについて「実測値」と「予測値」の差を計算します。この差が残差です。残差が小さければ、そのデータ点では予測が実際の値に近かったと考えられます。残差平方和では、この残差を二乗し、すべてのデータ点について合計します。
値の読み方は基本的にシンプルです。残差平方和が小さいほど、モデルの予測は観測データに近い傾向があります。反対に値が大きい場合は、予測値と実測値の間に大きなずれがあるため、モデルの構造、使っている特徴量、データの品質などを見直す候補になります。
残差平方和の計算式と読み方

残差平方和は、一般的に次の式で表せます。
\(RSS = \sum_{i=1}^{n}(y_i – \hat{y}_i)^2\)ここで、\(y_i\) は \(i\) 番目の実測値、\(\hat{y}_i\) は \(i\) 番目の予測値、\(n\) はデータ数を表します。\(y_i – \hat{y}_i\) が残差で、その残差を二乗して合計したものが残差平方和です。
残差は「実測値 – 予測値」で定義することが多いですが、「予測値 – 実測値」としても、二乗すれば最終的な残差平方和は同じになります。ただし、残差そのものの符号を分析するときには向きが重要になるため、どちらで計算するかは最初に決めて統一しておきます。
残差を二乗する理由
残差をそのまま合計すると、正のずれと負のずれが打ち消し合います。例えば、あるデータで +10、別のデータで -10 の残差があると、単純な合計は0です。しかし、実際には2つの予測がどちらも10ずつ外れているため、ずれがなかったとは言えません。
二乗すると、正の残差も負の残差も正の値になります。そのため、予測の外れ具合を打ち消さずに合計できるのが大きな利点です。また、大きな残差ほど二乗によって強く反映されます。残差が2なら二乗は4ですが、残差が10なら二乗は100になります。
この性質は、極端に外れた予測を重く見るという意味では便利です。一方で、外れ値の影響を受けやすいという注意点にもつながります。残差平方和を見るときは、値の大小だけでなく、どのデータが大きな残差を生んでいるかも確認すると、モデル改善の手がかりを得やすくなります。
具体例で見る計算手順

売上予測モデルを例に考えてみます。3日分の実際の売上と予測売上が次のようになっていたとします。
| 日 | 実測値 | 予測値 | 残差 | 残差の二乗 |
|---|---|---|---|---|
| 1日目 | 120 | 100 | 20 | 400 |
| 2日目 | 90 | 95 | -5 | 25 |
| 3日目 | 150 | 140 | 10 | 100 |
この場合、残差平方和は \(400 + 25 + 100 = 525\) です。1日目の残差が大きいため、全体の値にも強く影響しています。ここから「1日目に予測が大きく外れた理由は何か」「その日にだけ特殊なキャンペーンや天候の影響がなかったか」といった確認につなげられます。
機械学習での使いどころ
残差平方和は、回帰分析や機械学習の予測モデルでよく使われます。例えば、需要予測、価格予測、気温予測、患者の検査値の予測、顧客の購買金額の予測など、数値を予測する場面では「どれくらい外れたか」を測る必要があります。
モデルを学習するときには、残差平方和を小さくする方向にパラメータを調整する考え方がよく使われます。線形回帰で使われる最小二乗法も、観測データに対して残差平方和が小さくなるような直線や平面を探す方法です。
ただし、残差平方和はあくまで評価の一部です。ビジネスで使うなら、誤差の大きさが実務上どれくらい問題になるのかも重要です。医療や金融のように大きな誤差が重大な判断につながる領域では、平均的な誤差だけでなく、特定のケースで大きく外れていないかを丁寧に見る必要があります。
平均二乗誤差・決定係数との違い

残差平方和と一緒に出てきやすい指標に、平均二乗誤差と決定係数があります。混同しやすいですが、見ている観点が少し違います。
| 指標 | 意味 | 基本的な見方 |
|---|---|---|
| 残差平方和 | 残差の二乗をすべて合計した値 | 小さいほど予測のずれが小さい |
| 平均二乗誤差 | 残差平方和をデータ数で割った値 | 小さいほど平均的なずれが小さい |
| 決定係数 | モデルがデータのばらつきをどれくらい説明できるか | 一般に1に近いほど説明力が高い |
平均二乗誤差は、残差平方和をデータ数で割るため、データ数が異なる場合の比較に使いやすくなります。決定係数は、単に誤差の合計を見るのではなく、モデルがデータの変動をどれだけ説明できたかを見る指標です。
つまり、残差平方和は「全体としてどれだけ外れたか」、平均二乗誤差は「1データあたり平均的にどれだけ外れたか」、決定係数は「データのばらつきをどれだけ説明できたか」を見るものです。モデル評価では、これらを組み合わせて確認すると判断が安定します。
残差平方和を見るときの注意点

残差平方和は便利ですが、値が小さいほど常に良いモデルだと決めつけるのは危険です。特に注意したいのが、データ数、外れ値、過学習です。
まず、残差平方和は合計値なので、データ数が多いほど大きくなりやすい指標です。別々のデータセットや件数の違うモデルを比較するときは、平均二乗誤差なども合わせて確認します。また、残差を二乗するため、大きく外れたデータの影響が強くなります。これは異常な予測を発見しやすい一方で、入力データのミスや特殊な外れ値に値が引っ張られる可能性もあります。
もう一つ重要なのが過学習です。学習データに対する残差平方和が非常に小さくても、未知のデータに対して同じように予測できるとは限りません。モデルが学習データの細かな揺れまで覚え込むと、検証データや本番データでは予測が外れやすくなります。
そのため、学習データの残差平方和だけでなく、検証データでの誤差も確認することが大切です。必要に応じて、学習データと検証データに分ける、交差検証を行う、正則化でモデルを複雑にしすぎない、といった対策を取ります。
まとめ
残差平方和は、実測値と予測値の差である残差を二乗し、すべて合計したモデル評価指標です。値が小さいほど、予測が観測データに近いと判断しやすく、回帰分析や機械学習のモデル評価で広く使われます。
一方で、データ数が違う比較、外れ値の影響、過学習には注意が必要です。残差平方和を理解すると、モデルがどこで外れているのか、改善の余地がどこにあるのかを具体的に考えやすくなります。平均二乗誤差や決定係数と合わせて見ることで、予測モデルの性能をより立体的に評価できます。
更新履歴
| 日付 | 内容 |
|---|---|
| 2025年1月31日 | 初回公開 |
| 2026年6月23日 | 式の読み方、指標比較、過学習時の見方を追記 |
