統計や機械学習を学ぶうえで、決定係数(R²)は回帰モデルの適合度を測る代表的な指標として広く知られています。
多くの教科書では「R²は0から1の間に収まる」と説明されており、1に近いほどモデルの予測精度が高いと理解されています。
しかし実際にデータ分析を行っていると、R²がマイナス(負の値)になるケースに遭遇して、「計算を間違えたのではないか」「何かがおかしいのではないか」と戸惑う方も少なくありません。
実はこれは計算ミスではなく、統計的に意味のある現象です。
この記事では、決定係数のマイナス値とは何か、なぜ負の値になるのか、そしてそのとき回帰モデルをどう解釈すればよいのかを、残差・予測精度・適合度といった関連する概念も交えながらわかりやすく解説していきます。
データ分析や統計の実務に携わる方はもちろん、機械学習モデルの評価に取り組む方にとっても、ぜひ押さえておきたい知識です。
目次
決定係数がマイナスになるとは「平均値より悪いモデル」を意味する
それではまず、決定係数がマイナスになるとはどういうことかについて解説していきます。
結論からお伝えすると、R²が負の値になるということは、作成した回帰モデルが「ただ目的変数の平均値を予測するだけのモデル」よりも性能が劣っているということを意味しています。
これは非常に重要なポイントです。
R²がマイナスになる=回帰モデルの予測が、「すべてのデータ点に対して平均値を予測する」というナイーブなモデルよりも精度が低い状態を指します。
つまり、何も考えずに平均値を答え続けるほうが、まだましな予測ができるという状況です。
直感的に言えば、「外れた予測をし続けるモデル」「データに全く適合していないモデル」がR²<0を示します。
これは統計的に正当な状況であり、計算が間違っているわけではありません。
決定係数(R²)の基本的な定義
R²は以下のように定義されます。
R² = 1 − (残差平方和 SS_res)/(全平方和 SS_tot)
SS_res = Σ(実測値 – 予測値)²
SS_tot = Σ(実測値 – 平均値)²
SS_totは「データのばらつき全体」を表しており、SS_resは「モデルが説明できなかった残差のばらつき」を表しています。
R²が1であれば残差がゼロ、つまり完全に予測できていることを示します。
R²が0であれば、モデルは平均値と同程度の予測しかできていないことになります。
そしてR²が負の値になるのは、SS_resがSS_totを上回っている場合です。
つまり、モデルの予測誤差がデータ全体のばらつきよりも大きくなっているという状態です。
「平均値モデル」との比較で理解する
統計では、もっとも単純なベースラインモデルとして「どのデータ点に対しても目的変数の平均値を予測するモデル」がよく使われます。
このモデルのR²は定義上ちょうど0になります。
なぜなら、このとき予測値が常に平均値であるため、SS_resがSS_totと等しくなるからです。
したがって、R²が0より小さいということは、「平均値を答え続けるだけのモデルにさえ劣る」という解釈になります。
これは実務上、モデルが機能していないことを示す強いシグナルです。
負のR²が示す適合度の意味
適合度の観点から見ると、R²が負の値を取るモデルはデータにほとんど適合できていないと言えます。
たとえばR²=−0.5であれば、残差平方和がデータの全変動の1.5倍に達しており、モデルがデータのばらつきを説明するどころか、逆にノイズを増幅させているような状態です。
R²=−1.0であれば、残差がデータ全体のばらつきの2倍になっているということです。
このような状況では、モデルの見直しが急務と言えるでしょう。
決定係数が負の値になる理由とメカニズム
続いては、決定係数が負の値になる具体的な理由とそのメカニズムを確認していきます。
R²がマイナスになるのにはいくつかのパターンがあり、それぞれ原因が異なります。
原因を正しく把握することで、モデルの問題点を特定しやすくなります。
モデルのあてはまりが極めて悪い場合
もっとも基本的な原因は、回帰モデルがデータに全く合っていない場合です。
たとえば、実際には非線形な関係があるデータに対して線形回帰を適用した場合、モデルは誤った方向に予測を行い、残差が非常に大きくなることがあります。
具体的には、データがU字型(二次関数的)の関係を持っているのに直線でフィットしようとすると、モデルの予測値が実測値から系統的にずれ続け、SS_resがSS_totを超えてしまいます。
このような場合はモデルの関数形を見直すことが必要です。
線形モデルを非線形データに適用することは、R²が負になる最も典型的な原因の一つです。
データの散布図を事前に確認し、関係性の形状を把握することが重要なプロセスです。
訓練データと検証データで分割した場合
機械学習において、訓練データで学習したモデルを検証データ(テストデータ)で評価するときにR²が負になることは珍しくありません。
これはモデルが訓練データに過学習(オーバーフィッティング)しており、未知のデータに対してはほとんど汎化できていない状態を示しています。
訓練データ上のR²は高くても、テストデータ上のR²が大幅に低下し、負になるケースがあります。
この現象はモデルの複雑さが過剰であるときや、特徴量の選択が不適切なときに起こりやすいです。
以下の表は、過学習が起きているときの訓練・テストのR²の典型的なパターンです。
| 状態 | 訓練データR² | テストデータR² | 解釈 |
|---|---|---|---|
| 過学習なし(良好) | 0.85 | 0.82 | 汎化できている |
| 軽度の過学習 | 0.95 | 0.60 | 改善の余地あり |
| 強度の過学習 | 0.99 | −0.30 | 未知データに全く対応できていない |
| モデルが不適切 | 0.10 | −0.80 | モデルの根本的な見直しが必要 |
このように、訓練とテストのR²を比較することで、過学習の有無や深刻度を判断できます。
切片なしモデル(原点回帰)を使った場合
回帰モデルで切片(定数項)を除いた「原点回帰」を使うと、R²が負になりやすくなります。
通常の最小二乗法では切片を含めることで「少なくとも平均値と同程度の予測はできる」という保証が成り立ちます。
しかし切片なしモデルではその保証がなくなるため、R²が負になる可能性が生じます。
多くの統計ソフトウェアやライブラリでは、切片なしモデルのR²を通常とは異なる方法で計算する場合があり、解釈に注意が必要です。
実務では、切片を含めないモデルを選択する際には十分な理由があるか確認することが望ましいでしょう。
残差と予測精度から見るマイナスR²の解釈
続いては、残差と予測精度の観点からマイナスR²を解釈する方法を確認していきます。
数式上の理解だけでなく、残差の分布や予測精度の他の指標と組み合わせることで、より実践的な判断ができるようになります。
残差プロットでモデルの問題を可視化する
R²が負になっているとき、残差プロット(横軸に予測値、縦軸に残差をとるグラフ)は非常に重要な診断ツールになります。
正常なモデルであれば残差はランダムに分布し、特定のパターンを示さないはずです。
しかしR²が負の場合、残差プロットには系統的なパターンが現れることがほとんどです。
たとえば、曲線状のパターン(二次関数的な傾向)が見られる場合は、線形モデルでは説明できない非線形性がデータに存在することを示しています。
また、残差が特定の予測値範囲で一方向に偏っている場合は、モデルが系統的に過大評価または過小評価していることを示します。
MAEやRMSEとの組み合わせで評価する
R²が負の値を示しているとき、他の予測精度指標と組み合わせて評価することで、問題の深刻度をより正確に把握できます。
代表的な指標としては、平均絶対誤差(MAE)と二乗平均平方根誤差(RMSE)が挙げられます。
MAE(平均絶対誤差)= Σ|実測値 – 予測値|/ n
RMSE(二乗平均平方根誤差)= √(Σ(実測値 – 予測値)² / n)
これらの値が目的変数のスケールに対して大きければ、予測精度が低いことを示します。
R²がマイナスで、かつMAEやRMSEが大きい場合は、モデルが明確に機能していないと判断できます。
一方で、R²はマイナスでも絶対誤差が許容範囲内であれば、場合によっては実用上問題のないケースもあります(特に目的変数のスケールが非常に大きい場合など)。
ただしそのような解釈は慎重に行う必要があります。
残差の自己相関と分散の均一性
残差の診断においては、自己相関と分散の均一性(均一分散性)も重要なチェックポイントです。
時系列データを回帰分析する場合、残差に自己相関が残っていると、モデルが時間的な構造を捉えられていないことを意味します。
ダービン・ワトソン統計量を使って自己相関の有無を確認することが有効です。
また、残差の分散が予測値に応じて変化する「不均一分散(ヘテロスケダスティシティ)」が存在する場合も、R²が不安定になりやすいです。
ブルーシュ・ペーガン検定などで分散の均一性を確認し、問題があれば変数変換や加重最小二乗法の適用を検討することが望ましいでしょう。
マイナスR²が出た場合の対処法とモデル改善策
続いては、R²が負の値になったときの具体的な対処法とモデルの改善策を確認していきます。
問題を特定したら、次のステップとして適切な改善手順を踏むことが重要です。
モデルの関数形を見直す
R²が負になる原因の多くは、モデルの関数形がデータの真の関係を反映していないことにあります。
まず散布図やペアプロットでデータの関係を視覚的に確認し、非線形性の有無を把握しましょう。
非線形性が明らかであれば、以下のような対応が考えられます。
| 問題の種類 | 対応策 | 具体例 |
|---|---|---|
| 二次的な非線形性 | 多項式回帰への変更 | x²項を追加する |
| 指数的な成長・減衰 | 対数変換を施す | log(y)やlog(x)を使用 |
| 複雑な非線形構造 | ノンパラメトリック回帰の採用 | スプライン回帰・GAMなど |
| 相互作用がある | 交互作用項の追加 | x1×x2の積を特徴量として追加 |
| 外れ値の影響が大きい | ロバスト回帰の採用 | HuberやTheil-Sen推定 |
関数形の見直しは、R²改善においてもっとも根本的かつ効果的なアプローチです。
特徴量エンジニアリングと変数選択
説明変数(特徴量)の選び方がモデルの適合度に大きく影響します。
無関係な変数を多く含めると、モデルはノイズを学習してしまい過学習に陥りやすくなります。
情報量規準(AICやBIC)を参考にした変数選択や、ラッソ回帰(L1正則化)を用いた自動的な変数選択は、不要な変数を除去してモデルの汎化性能を高めるのに有効です。
また、ドメイン知識に基づいて意味のある特徴量を新たに生成する特徴量エンジニアリングも、モデル改善の強力な手段です。
たとえば、時系列データであれば移動平均や差分を特徴量として追加することで、データの構造をよりよく捉えられるようになります。
正則化と交差検証の活用
過学習が原因でテストデータのR²が負になっている場合、正則化(Regularization)の導入が効果的です。
リッジ回帰(L2正則化)は係数の大きさにペナルティを課し、モデルが訓練データに過度に適合するのを防ぎます。
ラッソ回帰(L1正則化)は一部の係数を完全にゼロにすることで、スパースなモデルを生成します。
これらを組み合わせたElastic Netも幅広い状況で有効です。
さらに、k分割交差検証(k-fold cross validation)を用いることで、モデルの汎化性能をより信頼性高く評価でき、過学習の検出にも役立ちます。
正則化パラメータ(λ)の選択には、グリッドサーチやベイズ最適化を使った交差検証が有効です。
適切なλを選ぶことで、バイアスと分散のトレードオフを最適化し、テストデータでのR²を改善できます。
調整済みR²や他の評価指標との使い分け
続いては、調整済みR²や他の評価指標との使い分けについて確認していきます。
R²は便利な指標ですが、単独で使うには限界があります。
他の指標と組み合わせることで、モデルの品質をより多角的に評価できます。
調整済みR²(Adjusted R²)とは何か
通常のR²は説明変数の数が増えると自動的に上昇する性質を持っています。
これは、たとえ無意味な変数を加えても残差平方和がわずかに減少するためです。
調整済みR²はこの問題を補正した指標であり、説明変数の数が増えることに対してペナルティを課します。
調整済みR² = 1 − (1 – R²)× (n – 1)/(n – k – 1)
n = サンプル数、k = 説明変数の数
無意味な変数を加えると調整済みR²は低下するため、変数選択の判断に役立ちます。
調整済みR²はR²がマイナスのときよりさらに低い値になることもあるため、その解釈にも注意が必要です。
複数の説明変数を持つモデルを比較する際には、通常のR²より調整済みR²を用いるほうが適切な判断ができます。
R²以外の評価指標の活用
回帰モデルの評価には、R²以外にもさまざまな指標があります。
目的や状況に応じて使い分けることが、より精度の高い判断につながります。
| 指標名 | 計算式の概要 | 特徴と用途 | マイナスになるか |
|---|---|---|---|
| R²(決定係数) | 1 – SS_res/SS_tot | 説明率の把握。直感的に理解しやすい | なる(モデルが平均値以下の場合) |
| 調整済みR² | 変数数でペナルティを課したR² | 変数選択の判断に有用 | なる |
| MAE | 絶対誤差の平均 | 外れ値に頑健。解釈が直感的 | ならない(常に0以上) |
| RMSE | 二乗誤差の平方根の平均 | 大きな誤差を重視する評価 | ならない(常に0以上) |
| MAPE | 絶対誤差の割合の平均 | スケールに依存しない相対評価 | ならない(常に0以上) |
| AIC / BIC | 対数尤度にペナルティを加えた指標 | モデル選択・比較に使用 | 概念上マイナスになり得る |
これらの指標を組み合わせて使うことで、モデルの強みと弱みをより立体的に把握できます。
分類問題や他の統計モデルでのR²の解釈
R²は本来、線形回帰モデルのために定義された指標です。
しかし現代のデータ分析では、一般化線形モデル(GLM)や機械学習モデルに対してもR²ライクな指標が計算されることがあります。
たとえばロジスティック回帰では「擬似R²(Pseudo R²)」が使われますが、これは通常のR²とは計算方法が異なり、同じように解釈することはできません。
モデルの種類に応じて適切な指標を選ぶことが、誤った解釈を防ぐうえで大切です。
また、機械学習フレームワーク(scikit-learnなど)で計算されるR²スコアは、テストデータに対して負の値になり得るよう設計されており、これはモデルの汎化性能を正直に反映しています。
まとめ
本記事では、決定係数のマイナス値とは何か、負の値になる理由と背景、残差・予測精度との関係、そして具体的な対処法について詳しく解説しました。
R²がマイナスになることは計算ミスではなく、モデルが「平均値を予測するだけのナイーブなモデル」より劣っているという統計的に明確な意味を持つ現象です。
原因としては、モデルの関数形の不適切さ・過学習・切片なしモデルの使用などが代表的です。
対処法としては、散布図による関係性の確認、非線形モデルや多項式回帰の採用、正則化の導入、交差検証による汎化性能の評価などが有効です。
また、R²だけでモデルを判断するのではなく、調整済みR²・MAE・RMSE・AICなど他の評価指標と組み合わせることで、より信頼性の高いモデル評価が可能になります。
データ分析や機械学習においてR²の挙動を正しく理解することは、モデルの品質向上に直結します。
負の値に戸惑うのではなく、それをモデル改善への重要なヒントとして活かしていきましょう。
統計的な思考と実践的なアプローチを組み合わせることで、予測精度の高いモデルを構築できるようになるはずです。