データ分析や統計学の学習を進めていると、必ず登場するのが決定係数(R²)という指標です。
「決定係数って何を表しているの?」「相関係数とどう違うの?」と疑問を持っている方も多いのではないでしょうか。
決定係数は、回帰分析においてモデルの当てはまりの良さを評価するための重要な指標であり、統計学・機械学習・データ分析において欠かせない概念です。
この記事では、決定係数の意味・定義・計算方法・相関係数との違いなどを、できるだけわかりやすく丁寧に解説していきます。
統計の初学者から実務でデータ分析を行う方まで、ぜひ参考にしてみてください。
目次
決定係数とは回帰モデルの当てはまりの良さを示す指標である
それではまず、決定係数の本質的な意味と定義について解説していきます。
決定係数(R²)とは、回帰モデルが目的変数の変動をどれだけ説明できているかを0から1の範囲で表した指標です。
R²が1に近いほどモデルの当てはまりが良く、0に近いほど当てはまりが悪いと判断されます。
決定係数 R² の直感的な意味:
R² = 0.8 なら、目的変数の変動の80%をモデルで説明できている
R² = 0.3 なら、目的変数の変動の30%しかモデルで説明できていない
たとえば、住宅価格を部屋数や築年数などの説明変数で回帰分析した場合、R² = 0.85 であれば「住宅価格の変動の85%が説明変数によって説明される」と解釈できます。
決定係数の数学的な定義
決定係数は数学的には以下のように定義されます。
R² = 1 – (SS_res / SS_tot)
SS_res(残差平方和)= Σ(yᵢ − ŷᵢ)²
SS_tot(全平方和)= Σ(yᵢ − ȳ)²
yᵢ:実測値、ŷᵢ:予測値、ȳ:実測値の平均
SS_tot(全平方和)は、目的変数の実測値が平均値からどれだけ離れているかを表します。
SS_res(残差平方和)は、モデルの予測値と実測値のずれの大きさを表します。
R²は「全体の変動のうち、モデルで説明できなかった割合を1から引いた値」と理解すると直感的に把握しやすくなります。
SS_res がゼロに近いほど(予測値が実測値に近いほど)R²は1に近づき、SS_res が SS_tot に近いほど R² は0に近づきます。
決定係数のもうひとつの定義式(SSR/SST)
決定係数はもうひとつの式でも表すことができます。
R² = SS_reg / SS_tot
SS_reg(回帰平方和)= Σ(ŷᵢ − ȳ)²
SS_tot = SS_reg + SS_res の関係が成り立つ
この式では、「全体の変動のうち、モデルが説明できた割合」として R² を直接計算できます。
SS_reg は「回帰直線(または回帰モデル)が説明した変動の量」を表しており、これが全体の変動 SS_tot に占める割合が決定係数です。
2つの定義式は数学的に等価であり、状況に応じて使いやすい方を利用するとよいでしょう。
決定係数が使われる場面と重要性
決定係数は以下のような場面で広く活用されています。
| 場面 | 決定係数の使われ方 |
|---|---|
| 単回帰分析 | 1つの説明変数でのモデル適合度評価 |
| 重回帰分析 | 複数の説明変数でのモデル適合度評価 |
| 機械学習(回帰タスク) | 予測モデルの精度評価指標 |
| 経済学・社会科学 | 説明変数の説明力の評価 |
| 自然科学・工学 | 実験データと理論値の一致度評価 |
回帰分析の結果を報告する際には、R²の値を必ず示すことが慣行となっており、モデルの信頼性を評価する上で欠かせない情報です。
決定係数R²と相関係数rの違いを理解しよう
続いては、決定係数と相関係数の違いについて確認していきます。
この2つはよく混同されますが、意味・用途・計算方法が明確に異なります。
相関係数とは何か
相関係数(r)は、2つの変数の間の線形的な関係の強さと方向を−1から+1の範囲で表した指標です。
r が +1 に近いほど強い正の相関、−1 に近いほど強い負の相関、0 に近いほど相関がないことを示します。
相関係数 r = Σ[(xᵢ − x̄)(yᵢ − ȳ)] / √[Σ(xᵢ − x̄)² × Σ(yᵢ − ȳ)²]
xᵢ:説明変数の実測値、yᵢ:目的変数の実測値
x̄, ȳ:それぞれの平均値
相関係数はあくまでも「線形関係の強さ」を測るものであり、因果関係を示すものではありません。
決定係数と相関係数の数学的な関係
単回帰分析(説明変数が1つ)においては、決定係数R²は相関係数rの2乗と等しいという重要な関係があります。
単回帰分析の場合:R² = r²
例:r = 0.9 のとき → R² = 0.81
例:r = 0.7 のとき → R² = 0.49
これが「決定係数」の名前の由来のひとつでもあります。
相関係数rを2乗するとR²となることから、相関係数の「説明力」を示す指標として決定係数が使われるようになりました。
ただし、重回帰分析(説明変数が複数)の場合、R²はrの2乗とは一致しない点に注意が必要です。
決定係数と相関係数の主な違いまとめ
| 比較項目 | 決定係数 R² | 相関係数 r |
|---|---|---|
| 取りうる範囲 | 0〜1(通常)、負になることもある | −1〜+1 |
| 符号 | 常に非負(通常) | 正・負どちらも |
| 用途 | モデルの当てはまりの良さの評価 | 2変数の線形関係の強さの評価 |
| 使われる分析 | 回帰分析(単回帰・重回帰) | 相関分析・単回帰分析 |
| 解釈の直感性 | 「変動の何%を説明」と解釈可能 | 「どれだけ直線的な関係か」と解釈 |
相関係数は方向性(正・負)の情報を持つのに対し、決定係数はモデルの説明力の「割合」を直接示すという点が最大の違いです。
目的によってどちらを使うか選択することが重要です。
決定係数の注意点と誤解されやすいポイント
続いては、決定係数を使う際に気をつけるべき注意点を確認していきます。
R²は便利な指標ですが、使い方を誤ると誤った解釈につながることがあります。
説明変数を増やすとR²が必ず上がる問題
重回帰分析において、説明変数の数を増やすとR²は必ず上がる(または変わらない)という性質があります。
これは、たとえ無意味な変数を追加しても、偶然の一致によって少しだけ当てはまりが改善されるためです。
この問題に対処するために、説明変数の数を考慮して補正した自由度調整済みR²(Adjusted R²)が使われます。
自由度調整済みR² = 1 – (1 – R²) × (n – 1) / (n – k – 1)
n:データの件数
k:説明変数の数
無意味な変数を追加した場合、自由度調整済みR²は低下することがあるため、変数選択の判断に有効です。
重回帰分析の結果を報告・評価する際は、R²と合わせて自由度調整済みR²も確認する習慣をつけましょう。
R²が高くても因果関係を示さない
R²が高いことは「モデルの当てはまりが良い」ことを示しますが、説明変数が目的変数の原因であることを保証するものではありません。
たとえば、アイスクリームの販売量と熱中症患者数の間にはR²が高い相関関係が見られますが、アイスクリームが熱中症の原因なわけではなく、背後に「気温」という交絡変数が存在しています。
相関関係と因果関係を混同することは、データ分析における最も典型的な誤謬のひとつです。
R²が高くても、モデルの背後にある因果構造を別途検討することが重要です。
R²がマイナスになる場合
通常、R²は0以上の値を取りますが、一部の場面ではR²が負の値をとることがあります。
これは、モデルの予測が平均値よりも悪いという、極めてモデルの当てはまりが悪い状況を意味します。
機械学習で学習データ以外のテストデータにモデルを適用した場合や、制約付きの回帰モデルを使った場合などに発生することがあります。
R²が負の場合は、モデルの設計や特徴量の選択を根本から見直す必要があるサインです。
決定係数と統計学・データ分析全体における位置づけ
続いては、決定係数が統計学・データ分析の全体像においてどのような位置づけにあるかを確認していきます。
モデル評価指標としてのR²の比較
回帰モデルの評価には、R²以外にもさまざまな指標が使われます。
| 指標名 | 計算方法(概略) | 特徴 |
|---|---|---|
| R²(決定係数) | 1 – SS_res/SS_tot | 説明力の割合、解釈しやすい |
| 自由度調整済みR² | 変数数で補正したR² | 説明変数が多い場合に有効 |
| MAE(平均絶対誤差) | Σ|yᵢ − ŷᵢ| / n | 外れ値の影響を受けにくい |
| RMSE(二乗平均平方根誤差) | √(Σ(yᵢ − ŷᵢ)² / n) | 大きな誤差を強調、単位が目的変数と同じ |
| AIC(赤池情報量基準) | −2logL + 2k | モデル複雑性と当てはまりのバランスを評価 |
R²は解釈のしやすさが最大の利点ですが、目的・データの性質に応じて複数の指標を組み合わせて使うことがベストプラクティスといえます。
機械学習における決定係数の活用
機械学習の回帰タスクにおいても、決定係数は標準的な評価指標のひとつとして広く使われています。
Pythonのscikit-learnでは、回帰モデルの評価関数 r2_score() として実装されており、手軽に計算できます。
Pythonでの計算例(sklearn使用):
from sklearn.metrics import r2_score
r2 = r2_score(y_true, y_pred)
print(r2) # 例: 0.85
機械学習では訓練データとテストデータの両方でR²を確認することが重要です。
訓練データのR²が高くテストデータのR²が低い場合、過学習(オーバーフィッティング)が起きている可能性が高いです。
決定係数と統計的有意性検定の関係
決定係数はモデルの当てはまりの良さを表しますが、それだけではモデルが統計的に意味のある結果を出しているかどうかはわかりません。
F検定は、回帰モデル全体の統計的有意性を検定するために使われる手法であり、R²の値と密接に関わっています。
統計ソフトの出力では、R²とともにF値とp値が示されることが多く、これらを合わせて確認することでモデルの妥当性をより総合的に評価できます。
R²が高くてもp値が大きい(有意でない)場合はモデルの信頼性に疑問が生じるため、両方の指標を常にセットで確認する習慣が大切です。
まとめ
この記事では、決定係数(R²)の意味・定義・相関係数との違い・注意点・統計学・データ分析における活用方法を解説しました。
決定係数とは、回帰モデルが目的変数の変動をどれだけ説明できているかを示す指標であり、0〜1の値をとります。
相関係数rとは異なり、モデルの当てはまりの「割合」を直接示す点が特徴です。
説明変数を増やすとR²が上がるという性質に注意し、重回帰分析では自由度調整済みR²も合わせて確認することが重要です。
決定係数はあくまでもモデル評価の一指標であり、因果関係の証明にはならないことも忘れないようにしましょう。
MAEやRMSEなど他の評価指標と組み合わせて使うことで、より正確なモデル評価が可能になります。
データ分析や機械学習の実務において、決定係数を正しく理解・活用することが精度の高い分析への第一歩となるでしょう。