生物科学研究所のロゴマーク
生物科学研究所 井口研究室
Laboratory of Biology, Okaya, Nagano, Japan

EXCEL回帰分析のバグ?定数項なしの回帰分析: 決定係数R2が負になるケース

原点を通る(y 切片ゼロ)回帰直線を考える

井口豊 (生物科学研究所
最終更新:

1. はじめに

群馬大学の青木氏が Excel の回帰分析に関してバグを報告した。そのウェブページは現在は存在しないが,バグだけでなく,定義の違いに起因する誤解もあるので,ここでその問題を再検討してみる。

2.補正Rが負になる場合

Excel の補正 R2 とは,通常は,自由度調整済み R2adjusted R2,記号R*2)と呼ばれるものである。これが負になる場合もあるので注意しよう。

例えば,次のようなデータを考える。

表1. 分析データ.
    -------------
       x     y
    ------------- 
       1    1
       2   300
       3    5
       4   300
   --------------

これを Excel 分析ツールの回帰分析で,定数項ありのモデル,つまり
y = ax + b
で分析すると,以下のようになる。

表2. 定数項あり,y = ax + b モデルの回帰分析.
Excel分析ツールの回帰分析,定数項あり

ここで,合計分散は出力されないので,
合計分散 = 合計変動 / 合計自由度
    = 88217 / 3
    = 29405.6666666667
と計算する。

表2で,補正 R2 が -0.191892719 と負になっていることに注意してほしい。

私が,「回帰と相関,知っているようで知らない,その本質」の第7章でも示したように,補正 R2 (R*2)は残差分散と合計分散の比を1から引いたものである。

補正R2の計算式

このように,残差分散が合計分散より大きくなると,
(残差分散 ⁄ 合計分散) > 1
すなわち,
補正 R2 = 1 - (残差分散 ⁄ 合計分散)> 0
となり,補正 R2 は負になる
この場合バグではない。

3. 原点通過関数での Excel の R2

次に, Excel の回帰分析で,定数項なし,つまり,原点を強制的に通すモデル
y = ax
で分析すると,以下のような結果となる。

表3. 定数項なし(原点を強制的に通す),y = ax モデルの回帰分析.
Excel分析ツールの回帰分析,定数項なし

ここでも,合計分散は出力されないので,
合計分散 = 合計変動 ⁄ 合計自由度
    = 180026 ⁄ 4
    = 45006.5
として計算する。

回帰と相関,知っているようで知らない,その本質」の第7章でも示したように,決定係数 R2 (重決定 R2)は,回帰変動と合計変動の比である。

決定係数R2(重決定R2)の計算式

これは,上記の表3の重決定 R2 と一致する。

一方,前述の定義に従って,補正 R2 (R*2)を計算してみよう。

補正R2の計算式

これは表3の補正 R2 とは全く異なる。

実は,この補正 R2 は,次のように重決定 R2 (R2)を使っても計算できる。

重決定R2を使った補正R2の計算式

ここで,(1 - R2) を展開するときに間違えて

Excelの補正R2の計算式バグ

とやったのが,表の数値の正体のようである。
この補正 R2 (R*2)はバグである。

4. Excel 分析ツールとグラフにおける決定 R2 の定義の違い

前章の,原点を強制的に通すモデル y = ax をグラフ表示させてみる。

Excelグラフにおける原点通過,定数項なしの回帰直線

図1. Excel グラフにおける原点通過(定数なし) y = ax モデル.

このグラフの決定 R2 (R2)は,分析ツール表3の重決定 R2 の値と全く異なっている。これもバグのように見えるが,そうではない。

その説明の前に,まず前章の表2表3の合計変動を見てほしい。

表2: 定数項あり,つまり, y = ax + b モデル
合計変動 88217

表3: 定数項なし(原点通過),つまり, y = ax モデル
合計変動 180026

両者の合計変動がなぜ異なるのだろうか?実は,定義,つまり,計算方法が異なるのである。

通常の,定数項ありモデルでは,「回帰と相関,知っているようで知らない,その本質」第7章で解説したとおり,必ず重心(x, y の平均)を通る。これを利用して,合計変動はy平均からの平方和を取る。

今回のデータでは, y の平均は
my = 151.5

したがって

合計変動 = Σ(y - my)2
= (1-151.5)2 + (300-151.5)2 + (5-151.5)2 + (300-151.5)2
= 88217

となる。

一方,定数項なしモデルは,必ずしも重心を通過しないが,必ず原点は通る。それで,合計変動は y = 0 からの平方和を取るのである

すなわち,

合計変動 = Σ(y - 0)2
= (1-0)2 + (300-0)2 + (5-0)2 + (300-0)2
= 180026

結局, Excel 分析ツールによる回帰分析で,決定係数は以下のように計算されるのである。

Excel分析ツール定数項ありの回帰直線の決定係数

Excel分析ツール定数項なしの回帰直線の決定係数

一見すると,定数項なしモデルの適合度が高いように見える。しかし,計算過程が両者で異なるので,重決定 R2 (決定係数R2)は比較できないのである。この点を見過ごしがちである。

これは,決定係数の定義を変形して,

決定係数の定義式の変形

としても同じことである。残差変動の定義(回帰直線からのデータのズレの平方和)は両モデル共通であるが,合計変動の定義が異なるので,やはり上記と同じ結果が出てくる。

逆に言えば,回帰式の適合度を調べるならば,両モデルで定義が共通の残差変動に焦点を当てるべきなのである。例えば, 赤池情報量規準 AIC (Akaike Information Criterion) の利用は,最もポピュラーな方法と言え,以下のページの補遺1で,それを用いて回帰式の適合度を調べている。

決定係数 R2 の違い: Excel, OpenOffice, LibreOffice および統計解析ソフト R を用いて 補遺 1

次の図2に,表1データに対する定数項有り,無しの Excel グラフを並べてみた。

Excelグラフの回帰式と決定係数

図2. 表1データに対する定数項有り(左)と定数項無し(右)の回帰式と決定係数の比較。

この図を見ると, Excel グラフの決定係数は,定数項有りでも,無しでも,ほとんど同じであることに気づく。

次の表4に,表1データに対する分析ツールとグラフによる回帰分析の結果をまとめた。

表4. 表1データに対する Excel 分析ツールとグラフによる回帰分析
Excel分析ツールとグラフによる回帰分析

定数項有りと無しのモデルにおいて,回帰式も残差変動(平方和)も似たような数値が出ている。

その結果に対応して,Excel グラフの決定係数も類似している。両モデルで同じ定義式を使うので当然である。

しかしながら,分析ツールの決定係数は,両モデルで異なる定義式を使うので,全く異なる数値を与える

すなわち,分析ツールにおいて,決定係数に複数の定義が使われることを知らずして,その数値を鵜呑みにすることは非常に危険なのである

定数項無しのモデルで,決定係数 R2 をどのように計算するか,つまり,平均を基準とするか,原点を基準とするかという問題に関しては,次の論文も参照してほしい。

JG Eisenhauer (2003)
Regression through the Origin.
Teaching Statistics. 25: 75-80.

この論文では,定数項有る無しのモデルのどちらかを選択するときは,回帰の標準誤差を見て,それぞれのパラメータの検定結果から判断すべき,と主張している。私も,モデル選択なら,そうするのが良いと思う。

なお,統計解析ソフト R においても,切片無し(原点通過)の回帰直線の決定係数に,合計変動を y = 0 からの平方和とした値が使われている。そのため,上述の Excel 分析ツールと同じ問題が生じている。その点も,以下のウェブページを参照して欲しい。

決定係数 R2 の違い: Excel, OpenOffice, LibreOffice および統計解析ソフト R を用いて

Yahoo!知恵ノート
決定係数R2の誤解:  必ずしも相関の2乗という意味でなく,負にもなるし,非線形回帰には使えない

(注1)

外国の大学の講義では,このような原点通過(through the origin),あるいは,定数項無し(without an intercept)と呼ばれる回帰直線は,むやみに使われるべきではないと教えているところもある。

例えば,ワシントン大学 John Perez-Garcia 教授の統計学の講義
Lecture 20: Regression through the Origin and Its Pitfalls
このタイトル「落とし穴(Pitfalls)」というのが,原点通過回帰の危険性を上手く言い表している。

あるいは,ミネソタ大学の回帰分析の講義
Simple Linear Regression - Regression Through the Origin
"Regression through the origin should not be used indiscriminately" という警告がある。

日本の大学でも,このような注意点をきちんと教えるべきだろう。

(注2)

決定係数 R2 が負になる場合もある。それは定義によっては,そうなるのである。インターネット上の質問回答サイト,例えば,マイクロソフト コミュニティ(Microsoft Community)のなどを見ると, R2 は絶対負にならない,という回答がある。

線形近似のR2がマイナスの値になる

「決定係数は相関係数の二乗だから負(マイナス)にならない」というのである。しかしながら,これは決定係数の定義を十分に理解していない,明らかな誤解である。その点も,以下のウェブページを参照して欲しい。

Yahoo!知恵ノート
決定係数R2の誤解:  必ずしも相関の2乗という意味でなく,負にもなるし,非線形回帰には使えない

(注3)

決定係数 R2 の定義が複数あるために,特に,原点通過の回帰直線で,統計ソフトによって R2 の値が異なる問題に関しては,次の論文でも指摘されている。

J. G. Eisenhauer (2003)
Regression through the Origin
Teaching Statistics 25: 76-80.

また,次の論文では,調査した文献の中で8種類の異なる定義の R2 が使われてきたことを紹介している。

T. O. Kvalseth (1985)
Cautionary Note about R2
The American Statistician 39: 279-285.
First page preview