R2とは

R2は、統計学や機械学習において、回帰モデルの性能を評価するための最も一般的に使用される指標の一つであり、モデルが目的変数(被説明変数)の分散のうち、どの程度の割合を説明できているかを示す値のことです。

R2の概要と回帰分析における役割

R2(アールスクエア)、正式には決定係数(Coefficient of Determination)と呼ばれ、回帰モデルの適合度(Goodness of Fit)を評価するために用いられます。回帰分析の目的は、説明変数(特徴量)を用いて目的変数の変動を予測することであり、R2はその予測がどれだけ元のデータの変動を捉えているかを示す指標となります。

R2の値は常に 0から1の範囲 を取り、値が1に近いほどモデルの適合度が高い、すなわちモデルがデータの変動をよく説明できていることを意味します。逆に、値が0に近い、または0を下回る場合は、モデルが目的変数の変動をほとんど説明できていないことを示唆します。

主な目的は、構築された回帰モデルが、ベースラインモデル(平均値のみで予測するモデル)と比較して、どの程度予測精度を向上させているかを定量的に評価することです。

R2の定義と計算式

R2は、目的変数の全変動(全平方和)のうち、モデルで説明できた変動(回帰平方和)が占める割合として定義されます。

1. R2の計算要素

R2の計算には、以下の3つの主要な平方和(Sum of Squares)が用いられます。

  1. 全平方和(Total Sum of Squares: SST):
    • 目的変数の実際の値 yi​ とその平均値 yˉ​ との差の二乗和です。目的変数の全変動を表します。

\text{SST} = \sum_{i=1}^{n} (y_i - \bar{y})^2

  1. 残差平方和(Residual Sum of Squares: SSE):
    • 目的変数の実際の値 yi​ とモデルによる予測値 y^​i​ との差の二乗和です。モデルで**説明できなかった変動(誤差)**を表します。

\text{SSE} = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2

  1. 回帰平方和(Regression Sum of Squares: SSR):
    • モデルによる予測値 y^​i​ と平均値 yˉ​ との差の二乗和です。モデルで説明できた変動を表します。

\text{SSR} = \sum_{i=1}^{n} (\hat{y}_i - \bar{y})^2

これらの平方和の間には、SST=SSR+SSE という関係が成り立ちます。

2. R2の計算式

R2は、この関係式を用いて、以下のいずれかの形で計算されます。

モデルで説明できた変動(SSR)が全変動(SST)に占める割合として:

R^2 = \frac{\text{SSR}}{\text{SST}}

または、誤差(SSE)が全変動(SST)に占める割合を1から引いたものとして:

R^2 = 1 - \frac{\text{SSE}}{\text{SST}}

R2の解釈と限界

解釈

  • R2=1: モデルがデータの変動を完全に説明できており、残差(誤差)がゼロであることを意味します。
  • R2=0: モデルの予測精度が目的変数の平均値で予測するベースラインモデルと同じであることを意味します。
  • R2<0: 非常に稀ですが、特に線形回帰以外のモデルにおいて、残差平方和 SSE が全平方和 SST よりも大きくなる場合(モデルが平均値で予測するよりも悪い場合)に発生します。

限界:説明変数の増加に伴う問題

R2には大きな限界があります。それは、モデルに説明変数を追加していくと、その変数が統計的に有意でなくても、R2の値は決して減少しないという性質です。

このため、モデルに無関係な特徴量を際限なく追加することで、R2を人為的に高く見せることができてしまいます(過学習の兆候)。

この問題を克服するため、統計学や機械学習では、**自由度調整済み決定係数(Adjusted R-squared)**という指標がしばしば利用されます。調整済みR2は、説明変数の数 p を考慮に入れ、変数の追加によってR2が向上したとしても、その増加がモデルの自由度を犠牲にするほど大きくない場合にのみ、その値を高く評価するように補正されます。

\text{調整済み} R^2 = 1 - \frac{(1 - R^2)(n - 1)}{n - p - 1}

ここで n はサンプルサイズ、p は説明変数の数です。実務においては、この調整済みR2の利用が推奨されます。

関連用語

深層学習 | 今更聞けないIT用語集
回帰モデル(線形・非線形) | 今更聞けないIT用語集
AIソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。