Engineering Skills

製品開発エンジニアがデータ解析のノウハウを垂れ流します

回帰分析と決定係数

回帰分析において決定係数R2(coefficient of determination)とはパラメータ(独立変数、説明変数、設計変数)が応答(従属変数、目的変数)をどのくらい説明できるかを表します。通常の回帰分析はR2の値を見ながら、必要な調整を行います。

決定係数については通常0~1の値をとり、1なら誤差ゼロです。線形回帰の場合は、基本的には相関係数の二乗になります。

実はちょっと困ったことに、実は決定係数の定義はいくつかあります。Tarald O. Kvalsethによれば、8種類の定義があり注意が必要とのこと*1。本稿では最も一般的と思われる決定係数の定義と、相関係数との関係を書き下します。

決定係数の定義

線形回帰の場合、モデル式

f:id:OceanOne:20200309013946j:plain

に対し

f:id:OceanOne:20200309014018j:plain

と決定係数を定義することが最も一般的なようです。データとモデル式との差分について二乗(RSS, Resisudal Sum of Squares=残差変動)をyの全変動で割り、これを1から引きます。モデル式で表せない残差が全体に対してどの程度の割合であるかを計算し、1と差分をとることでモデル式でどの程度データを説明できているか示すものです。

上式と等価な式として下記による決定係数の定義もあります。

f:id:OceanOne:20200309022156j:plain

データ平均値からの変動と、モデル式での平均値からの変動の比です。表式的にはこちらの方がわかりやすいように思います。

決定係数と相関係数

繰り返しになりますが、決定係数の定義は下記です。

f:id:OceanOne:20200309014018j:plain

右辺第2項分母は実データとモデル式の差分を二乗したものでRSS(Resisudal Sum of Squares=残差変動)とも呼ばれます。

f:id:OceanOne:20200309023117j:plain

モデル式は

f:id:OceanOne:20200309023234j:plain

ですから、下記のようになります。

f:id:OceanOne:20200309023620j:plain

回帰分析で示したように

f:id:OceanOne:20200309024407j:plain

f:id:OceanOne:20200309024416j:plain

となり、分散公式を使うと

f:id:OceanOne:20200309024932j:plain

f:id:OceanOne:20200309024946j:plain

f:id:OceanOne:20200309025105j:plain
なので

f:id:OceanOne:20200309023909j:plain

f:id:OceanOne:20200309024012j:plain

f:id:OceanOne:20200309025704j:plain

f:id:OceanOne:20200309025729j:plain

f:id:OceanOne:20200309030116j:plain

f:id:OceanOne:20200309030259j:plain

f:id:OceanOne:20200309030401j:plain

一方、決定係数定義式第2項分母は、

f:id:OceanOne:20200309030621j:plain

となり、決定係数の定義式に当てはめていくと

f:id:OceanOne:20200309030832j:plain

f:id:OceanOne:20200309031354j:plain

f:id:OceanOne:20200309031420j:plain

f:id:OceanOne:20200309031438j:plain

f:id:OceanOne:20200309031453j:plain

f:id:OceanOne:20200309031507j:plain

f:id:OceanOne:20200309031531j:plain

決定係数(R2)は、相関係数(R)の二乗となります。

もう一つの定義式

通常の回帰分析におけるもう一つ決定係数の定義は下記です。

f:id:OceanOne:20200309032406j:plain

右辺分母を変形していきます。

f:id:OceanOne:20200309032857j:plain

f:id:OceanOne:20200309032908j:plain

f:id:OceanOne:20200309033804j:plain

f:id:OceanOne:20200309033634j:plain

f:id:OceanOne:20200309234851j:plain

f:id:OceanOne:20200309235101j:plain

f:id:OceanOne:20200309235224j:plain

f:id:OceanOne:20200309235239j:plain

定義式の分母は前節と同様に

f:id:OceanOne:20200309030621j:plain

なので、定義式に代入すると

f:id:OceanOne:20200309032406j:plain

f:id:OceanOne:20200309235829j:plain

f:id:OceanOne:20200309031507j:plain

f:id:OceanOne:20200309031531j:plain

やはり決定係数(R2)は、相関係数(R)の二乗となります。

全変動、回帰変動、残差変動

決定係数の二つの定義式を並べると

f:id:OceanOne:20200310000633j:plain

分数項の分母で各々割ると

f:id:OceanOne:20200310000703j:plain

f:id:OceanOne:20200310000719j:plain

となります。

左辺は平均値からの変動(全変動)、右辺第1項はモデル式で表せた平均値からの変動(回帰変動)、右辺第2項はデータとモデル式の残差による変動(残差変動)と呼ばれます。つまり下記のようになります。

f:id:OceanOne:20200310001800j:plain

考えてみれば当たり前で、モデルで表せた分と誤差分を足すと全体になりますよ、という事です。

さいごに

今回は決定係数の定義を追って、ついでに回帰変動、残差変動について述べました。決定係数が相関係数の二乗であるというのは少し不思議な感じがします。しかし式を追うと、データをどの程度説明できているか示す指標になっていることがわかります。