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

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


更新:

決定係数は,回帰直線からのデータのバラツキの指標ではない。この点を誤解する人がいるようだ。この問題に関しては,次の Yahoo! 知恵ノート参照。

決定係数R2は回帰のバラツキ指標ではない

そのようなバラツキは,例えば,残差平方和(残差の2乗和, residual sum of squares)を自由度 n-2 で割った残差分散(residual variance) σ2 で表される。

残差分散,residual variance


原点通過(定数項,y切片ゼロ)の直線回帰における決定係数

Differences in the R2 (R-squared, coefficient of determination) between Excel,OpenOffice, LibreOffice and the statistical software R

How should we interpret R-squared in linear regression through the origin?
Negative R-squared quantifies badness of fit.

井口豊 (生物科学研究所

注意事項

決定係数の算出において,群馬大・青木繁伸氏が Excel のバグとして紹介したウェブページ,および,産総研の工藤祐揮氏が「Excel のバグを確認してみる」として書いたウェブページは,現在では存在しない。しかしながら,決定係数の定義を検討する上で,これらのページのデータや考察は重要な問題を提起しているので,ここで改めて取り上げている。

1. はじめに

Excel 回帰分析のバグ?や Yahoo! 知恵ノート決定係数 R2 の誤解でも解説したが, Excel 回帰直線の原点通過 (y 切片 0) グラフで,負の決定係数 R2 が表示されることがある。

決定係数は寄与率とも呼ばれ,目的変数(従属変数) y の全変動に対する回帰変動の割合,すなわち,回帰式の適合度とも解釈される。それゆえ,マイナスになることは,一見おかしな結果である。

このように負の決定係数が表示されることを,群馬大・青木氏は EXCEL のバグとして紹介した。そのため,ネット上でも話題を呼んだようであるが,この「バグ」という意味を誤解している人もまた多いようである。青木氏に伺ったところ,計算ミスとかプログラムエラーというよりも,決定係数で負の値が出る定義を採用していることを「バグ」と呼んだようなのである。つまり,統計学の専門家全てが,それを誤りとみなすようなものではなく,青木氏としては,そのような定義を支持しないという意味なのである。ところが,この記述を見た多くの人は,それを計算ミスとかプログラムエラー捉えてしまったようなのである。私個人としては,これをバグと呼ぶのも妥当ではないと思っている。

この問題に関連し,マイクロソフト コミュニティ (Microsoft Community) の Q&A でも,線形近似の R2 がマイナスの値になるのはなぜか?という質問に対し,「誤った結果を出力」とか,「決定係数は相関係数の2乗だから絶対に負にならない」といった,これまた誤解した回答が見られた。

また,産総研の工藤祐揮氏も,「Excel のバグを確認してみる」というページで,決定係数の定義の区別せずに,単に, Excel グラフの決定係数が正しくない,と結論づけていたが,現在,そのページは存在しない。

この問題に関しては,マイクロソフト コミュニティの Q&A でも私は指摘したが,決定係数 R2 には,複数の異なる定義が存在するのである。しかも,特に断り無く,統計ソフトによって使われる定義が異なってくるので困ったことになる (Eisenhauer, 2003)。

Kvalseth (1985) によれば,少なくとも 8 種類の異なる決定係数 R2 があり,しかもその違いに利用者が気づいてない。

本来,バグ(bugとは,修正が必要なプログラム・エラーの意味合いが強い。しかし後述するように,定義によっては決定係数が負になる場合もあり,しかもそれを承知の上で,負になる定義を用いている場合さえある(例えば, Motulsky and Christopoulos, 2004)。したがって,決定係数が負になるからという理由だけで,バグと呼ぶのは不適当だろう。

ここでは,青木氏が指摘した以下のデータを取り上げて,原点通過(y 切片 0)回帰直線の決定係数に関して,三つのソフトの計算結果を比較検討してみる。

Table 1. Data from Aoki's web page.
    -------------
       x     y
    -------------
       1      1
       2      2
       3      2
       4      4
       5      3
       6      3
       7      2
       8      2
       9      3
      10      4
   --------------

2. Excel の決定係数

x と y のデータを,次の Table 2 のように, A2 - A11 と B2 - B11 のセルに入力したとする。

Table 2. Data in a worksheet.

Data from Aoki

まず, Excel グラフを用いて決定係数を表すと,次の図1のようになる。

Excel 回帰直線グラフ

図1. y 切片無し(定数項ゼロ)の直線回帰.
Fig. 1. Linear regression with no intercept in Excel with the data shown in Table 1.

一方, LINEST 関数を用いても,決定係数を求めることができる。ただし, LINEST 関数は,配列型の結果を返すので,その中から決定係数のみ取り出すなら, INDEX 関数を使って,3行1列目の要素として,それを取り出す。

= INDEX(LINEST(B2:B11, A2:A11, 0, 1), 3, 1)

0.8424 ---- R-Squared using the LINEST function in Excel

もちろん関数の使い方が面倒なら, LINEST 関数だけ使い,配列要素全てを見ると良い。しかしながら,特定の数値結果を転用するときに役立つので,このような数値の取り出し方も是非覚えておくべきである。

3. OpenOffice Calc の決定係数

OpenOffice Calc の,今回使用した ver. 3.3.0 では, Excel と異なり,グラフで原点通過の回帰直線を求めることはできない。したがって, LINEST 関数のみの利用となる。

=INDEX(LINEST(B2:B11; A2:A11; 0; 1); 3; 1)

0.2828 ---- R-Squared using the LINEST in Calc

よく見ると分かるが,LINEST 関数の利用にあたって注意すべき点は, Excel では引数を ,(カンマ) で区切るのに対し, OpenOffice Calc では ; (セミコロン) で区切るということである。

4. 統計ソフト R の決定係数

統計ソフト R での,データ入力と,原点通過の直線回帰における決定係数の算出プログラムは以下の通りである。ここでは, lm 関数を用いて,通常最小二乗法(Ordinary Least Square, OLSによって,回帰直線を求めた。

x<- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
y<- c(1, 2, 2, 4, 3, 3, 2, 2, 3, 4)
reg<- lm(formula = y ~ x-1)
summary(reg)$r.squared

0.8424 ---- R-Squared using the statistical software R

5. 決定係数の比較

以上の決定係数の出力結果とピアソン積率相関係数(Pearson product-moment correlation coefficient)をまとめたのが,次の表3である。

Table 3.    R-Squared depending on softwares
決定係数
R-Squared
相関係数の2乗
Square of the Pearson correlation coefficient
Excel graph -0.4258 0.2828
Excel Linest 0.8424 0.2828
Calc Linest 0.2828 0.2828
Software R 0.8424 0.2828

この表から,以下のことが容易に分かる。

では,Excel グラフと Linest 関数,および統計ソフト R の決定係数は,どのように算出されるのだろうか?

それを明らかにするためには,まず回帰分散分析として,y 観測値を,以下のような3種類の変動として捉えてみることが必要になる。

全変動は回帰変動と残差変動の和になる。

TSS = RSS + SSR

この中で,特に SSR と TSS に焦点を当てて,以下に解説する。

6. 残差平方和 SSR (Sum of Squared Residuals) の算出

回帰直線の式自体は,どのソフトを使っても同じになるので, SSR も同じになる。すなわち,y の実測値と回帰による計算値(予測値)の差の2乗の和(平方和)である。

In any of the Excel graph, LINEST function, and statistical software R,
残差平方和 Sum of Squared Residuals
where y-hat is the calculated (predicted) y value in the regression

6.1 Excel による SSR

Excel では, LINEST 関数が返す配列の中で, SSR は5行2列目にあるので,決定係数のとき同様, INDEX 関数を使って

= INDEX(LINEST(B2:B11,A2:A11,0,1),5,2)

11.9766  ---- SSR using Excel

6.2 統計ソフトRによるSSR

sum(reg$residuals^2)

11.9766  ---- SSR using the statistical software R

7. 全平方和 TSS (Total Sum of Squares) の算出

問題は,こちらの算出法である。

7.1 Excel グラフにおける TSS

In Excel graphs as in Fig. 1,
全平方和 Total Sum of Squares
TSS is the sum of the squared differences between the y values ( yi)and the mean of the y values ( y-bar).

これは, Excel グラフ(図1)では, TSS が y 観測値とその平均の差の2乗和(平方和)であることを意味する。

この値を求めるには, ExcelDEVSQ 関数を使えば良い。

=DEVSQ(B2:B11)

8.4  ---- TSS in the Excel graph (Fig. 1)

7.2 ExcelLINEST 関数における TSS

In the LINEST function,
Total sum of squares by the LINEST
TSS is the sum of the squared y values.

LINEST 関数では, TSS が y 観測値の2乗和(平方和)であることを意味する。

EXCEL回帰分析のバグ?で述べたように, Excel グラフでは, TSS の変動基準を y 平均値としているの対し, LINEST 関数では,それを y=0 としているのである。

この値を求めるには, ExcelSUMSQ 関数を使えば良い。

=SUMSQ(C72:C81)

76  ---- TSS in the LINEST function

これは, LINEST 関数の配列要素を使って求めることもできる。

すなわち, LINEST 関数5行1列に回帰平方和(RSS),5行2列に残差平方和(SSR)があるので, TSS は両者の和として求めれば良い。

TSS = RSS + SSR
= INDEX(LINEST(B2:B11,A2:A11,0,1),5,1) + INDEX(LINEST(B2:B11,A2:A11,0,1),5,2)

76 ---- TSS in the LINEST function

7.3 統計ソフト R における TSS

In the statistical software R as well as in the LINEST function,
全平方和 TSS (Total Sum of Squares)

統計ソフト R も, LINEST 関数と同じく,TSS が y 観測値の2乗和(平方和)であることを意味する。

TSS を具体的に求めるには,最小二乗法による直線回帰の結果に対し,分散分析(ANOVA)を行うと,平方和を表す Sum の1列目に回帰平方和(RSS),2列目に残差平方和(SSR)があるので, TSS は両者の和として求めれば良い。

anova(reg)$Sum[1]+anova(reg)$Sum[2]

76 ---- TSS in the statistical software R

8. 決定係数 R2 (R-Squared) の算出

上述のことから推察できるだろうが,実は, Excel グラフも, ExcelLINEST 関数も,そして統計ソフト R も,基本的には,決定係数に同じ式を使っている。すなわち,

決定係数 R2 (R-Squared)

この式で, TSS(全変動)の定義が異なるために,異なる R2 が算出されるのである。

以下に, Excel グラフ, LINEST 関数,統計ソフト R における決定係数の算出法を示すとともに,それぞれが, Kvalseth (1985) が紹介した8種類の異なる決定係数の定義の中で, R21 と R27 に当たることも示した。

ExcelとRにおける決定係数

where R21 and R27 are two of the eifght different definitions of R2 introduced by Kvalseth (1985).

なお, Table 3 に示した OpenOffice calc の決定係数,すなわち相関係数の2乗という定義は, Kvalseth (1985) の R25 に相当する。

R2 provided by OpenOffice calc corresponds to R25 defined by Kvalseth (1985).

OpenOffice calc は, Excel との互換性を追及しているはずだが,決定係数の算出に関して,なぜか全く異なる定義を採用している点が興味深い。

一方, LibreOffice で, LINEST関数から算出される決定係数は, Excel のそれと同じく R27 になっている。

R2 provided by LibreOffice calc corresponds to R27 defined by Kvalseth (1985).

また,医療統計解析ソフトウェア GraphPad Prism を使うと,原点通過(y 切片ゼロ,定数項なし)の回帰直線に対して,デフォルトでは決定係数を表示しない 。解説書 Prism Regression Guide の p.41 で, R21 と R27 の定義を挙げ,どちらも問題点があることを指摘している。この点は確かにその通りであり,後述するような問題点が両者に現れる。

それでも Prism でこの決定係数を求めたい場合は,非線形回帰のオプションで求めるようになっている。その場合, R21 を使うので, Excel グラフと同じく,負の決定係数も出てくる。

また,古生物学や生態学の分野では有名なフリーの表計算・統計分析ソフト PAST では,原点通過直線の決定係数で, OpenOffice calc と同じく,相関の2乗となる定義 R25 を採用している。

ソフトごとの決定係数の定義をきちんと知り,自分でその定義式を使って算出してみないと,単純にプログラムエラーだと思ってしまうので注意が必要である。

余談だが, PAST は, Excel のようなセルにデータを入力し,ヒストグラムや散布図も出力でき,かつ,数十種類の統計分析ができる優れたフリーソフトである。しかも,インストールせずに,実行ファイルをクリックするだけで使えるので,非常に動作が軽快である。

9. 決定係数 R21 (R-Squared 1) は間違いか?

上述のとおり,歴史的には少なくとも8種類の異なる決定係数が用いられてきたのである(Kvalseth, 1985)。だから,原点通過(定数項無し)の直線回帰モデルに対して,R21の定義は間違いだ,とは単純には言えない。

例えば, Yahoo! 知恵ノート「 決定係数R2の誤解」で扱ったデータに回帰直線を当てはめてみる。

Table 4. Data from Yahoo! Chie-note

    ------------
      x      y
    ------------
      10     30
      20     10
      30     30
      40     50
      50     30
      60     60
      70     90
      80    110
      90     90
     100    110
   --------------

実は,このデータに対しては,回帰直線は元々,原点を通過するのである。

すなわち,以下のように,定数項有り (1) と,定数項無し (2) で,回帰式が完全に一致する。

The model with an intercept, y = a x + b
y = 1.109 x + 0     (1)
The model with no intercept, y = a x
y = 1.109 x           (2)

For the data of Table 4, we obtain the same regression lines, using either eq. 1 or eq. 2.

ここで, Excel グラフを利用すると,どちらにも R21 を使うので,両者の決定係数もまた一致する。

In the Excel graph,
R2 = 0.8394 for eq. 1
R2 = 0.8394 for eq. 2

The Excel graph provides the same R2 for the same regression eq. 1 and eq. 2, using the R21.

ところが,統計ソフト R では,原点通過するかどうか,つまり,定数項の有無で,異なる定義の決定係数を使うので,両者の決定係数は異なってしまうのである。

In the statistical software R,
R2 = 0.8394 for eq. 1
R2 = 0.9606 for eq. 2

The statistical software R provides two different R2 for the same regression eq. 1 and eq. 2, using the R21 and the R27 respectively.

つまり,統計ソフト R では,全く同じ回帰直線が得られたとしても,原点通過するかどうか,つまり,定数項の有無で,それぞれ R21 と R27 を使い分けるので,決定係数が異なってしまうのである。

もちろん,推定したパラメータ数は,定数項有りでは a と b の二つ,定数項無しでは a の一つと異なるので,自由度を補正した決定係数ならば,それが両者で異なるのが当然である。しかし,ここで問題にしているのは,その補正をしない,通常の決定係数なのである。

以上の計算例を見れば, Excel グラフの決定係数が間違いと一概には言えない,と分かる。

少なくとも,青木氏のバグという言葉に引きずられて,多くの人が誤解してしまったようであるが, Excel グラフの決定係数が,単なる計算ミスとかプログラムミスでではないことが分かる。

青木氏は,メールの中で,結局は,「個人個人がどう考えるかということ」,と述べていたが,原点通過モデルでどの定義を採用するかは,まさに,そういった主義主観の問題であるような気がする。

10. 本質的な問題は何か?

The most serious problem is the validity of fitting the model with no intercept.

ここまでの問題は,原点通過の回帰直線を考える時,決定係数が負になるような定義 R21 は間違いなのか,という点であった。しかしながら,この問題が取り上げられるとき,多くの場合,そもそも原点通過モデルを設定するのが正しいのか,という議論が,すっぽり抜け落ちているのである。これこそ,むしろ本質的に重要な問題である。

この点をまさに突いているのが, Motulsky and Christopoulos (2004) p. 35 の指摘である。

R2 will be negative when the best-fit curve fits the data worse than a horizontal line at the mean Y value. This could happenn if you pick an inappropriate model.

逆に言えば,決定係数が負になることも承知の上で,定義 R21 が使われることを示している。

冒頭でも述べたが,青木氏のバグと言う言葉を,単純に Excel グラフの計算ミスとかプログラムエラーと考えてしまった人々は,再考すべきだろう。

では,青木氏が示したデータ(Table 1)を実際に検討してみよう。それには,定数項有りのモデルを考えて,定数項がゼロである,という帰無仮説を検定すれば良い。

y = a x + b
Null hypothesis H0: The constant b of the regression line is equal to zero.

厳密に言えば, b は標本の傾きであり,検定は推定された母集団の定数項に対して行われるのであるが,ここでは,そういった表現上の厳密さは問題にしない。

統計ソフトRを使えば,以下のようなプログラムになる。

x<- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
y<- c(1, 2, 2, 4, 3, 3, 2, 2, 3, 4)
reg<- lm(formula = y ~ x)
summary(reg)$coefficients

その結果を示す。

Table 5.
Estimate Pr(>|t|)
Intercept 1.666667 0.02279009
x 0.169697 0.11360499

H0 is rejected. We can not conclude that the constant b of the regression line is equal to zero.

定数項は有意にゼロと異なることが分かる。すなわち,青木氏の場合,元々,原点を通過しない,定数項ゼロとは言えない回帰直線を,強制的に原点通過させて論じているのである。まさに,前述の Motulsky and Christopoulos (2004) の指摘どおりの結果なのである。

決定係数が負になるのは変だ,という意見自体は理解できるものの,それがどのような条件下で起こるのか,という本質的に重要な問題が,ここに存在する。

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

Table 6. Data

    -------------
      x      y
    -------------
     110    180
     120    170
     130    180
     140    170
     150    160
     160    160
     170    150
     180    145
     190    140
     200    145
   --------------

Excel グラフを用いて決定係数を表すと,次の図2のようになる。

表5データに対するy切片無し(定数項ゼロ)の直線回帰

図2. 表5データに対するy切片無し(定数項ゼロ)の直線回帰.
Fig. 2. Linear regression with no intercept for the data of Table 6 in the Excel graph.

Excel グラフの決定係数は,負になるどころか,絶対値で1を大きく上回るのである。 /

一方,統計ソフト R を用いて,このデータに対する y 切片無しの回帰直線の決定係数を求めてみる。

x<- c(110, 120, 130, 140, 150, 160, 170, 180, 190, 200)
y<- c(180, 170, 180, 170, 160, 160, 150, 145, 140, 145)
reg<- lm(formula = y ~ x-1)
summary(reg)$r.squared

0.9303 ---- R-Squared using the statistical software R

なんと,統計ソフト R の決定係数では,この y 切片無しの回帰直線は非常に良く適合している,という結果が出るのである。

こんなデータに y 切片無しのモデルは考えない,と言うかもしれない。しかしそれを言うなら,前述のように, y 切片がゼロとは有意に異なる青木氏のデータに, y 切片ゼロのモデルを適用したことと,五十歩百歩の議論である。

もう一度,Motulsky and Christopoulos (2004) の指摘を思い出してみよう。 Excel グラフの決定係数の定義,すなわち R21 が,負になるのは不適当なモデルを選んだときだ,と言うのである。その意味からすれば, Table 6 のデータに対して, R21 がマイナス8にもなったのは,より不適当なモデルだからこそなのである。

つまり,負の決定係数は当てはまりの悪さの指標,と言えるのである。
Negative R2 (R-squared) quantifies badness of fit.

いずれにせよ,決定係数に複数の定義があることは事実であり,それぞれ一長一短の性質を持つと言える。その考察なしに,負の決定係数が出る,というだけで,そのプログラムを正しくないとか,バグであるとか結論するのは,拙速だと言えよう。

補遺 1

Table 1 のデータ(青木氏のデータ)と Table 6 のデータに対して,定数項ありの回帰直線モデルと定数項なし(y 切片ゼロ,原点通過)の回帰直線モデルの適合度を,実際に調べてみた。

前述のように,両者では推定されたパラメータの数が異なるので,決定係数 R2 でなく,補正済み(自由度調整済み)決定係数 R*2 (adjusted R-squared) 赤池情報量規準 AIC (Akaike Information Criterion)を用いて,適合度を評価した。 AIC に関しては,補遺 2も参照して欲しい。

統計ソフト R で AIC を算出する時は,例えば,このウェブページのデータに対して,以下のようにすれば良い。

reg<- lm(formula = y ~ x)
AIC(reg)

まず, Table 1 のデータに対して,定数項ありの回帰直線と,定数項なし(y 切片ゼロ,原点通過)の回帰直線を当てはめたグラフが次の Fig. 3 であり,その分析結果が,その下の Table 7 である。

定数項の有無による回帰式の違い

Fig. 3. Linear regressions with and without an intercept for the data of Table 1.

Table 7. Comparison of fit between the linear regressions shown in Fig. 3
Comparison of fit between the linear regressions with and without an intercept.
R*2 and AIC stand for corrected (adjusted) R-squared and Akaike information criterion respectively.

ここで注意すべきは以下の点である。

すると, AIC で見ると,定数項ありのモデルのほうが適合度が高い,と言える。この傾向は, Excel グラフも同様である。

しかしながら,統計ソフト R の決定係数では,定数項なしのモデルのほうが,かなり適合度が高いと結果が出るのである。

つまり,定数項の有無のモデル間で適合度を比較すると,奇妙な結果を出すのは,むしろ統計ソフト R のほうである。青木氏の解説を見るとわかるように, SPSS も統計ソフト R と同じ定義の決定係数を利用するので, Excel グラフよりも,むしろ,統計ソフト R や SPSS のほうが奇妙な結果になると言える。

これは,次の Table 6 のデータについてのグラフ Fig. 4 と分析結果 Table 8 を見ると,もっとはっきりする。

Comparison of fit between the linear regressions with and without an intercept.
Fig. 4. Linear regressions with and without an intercept for the data of Table 6.

Table 8. Comparison of fit between the linear regressions shown in Fig. 4
Comparison of fit between the linear regressions with and without an intercept.
R*2 and AIC stand for corrected (adjusted) R-squared and Akaike information criterion respectively.

Fig. 4 を見れば,どちらが適合度が高いか,分析するまでもなく,一目瞭然だろう。

Table 8から,確かに, AICExcel グラフの決定係数では,定数項ありのモデルのほうが適合度が高い,と分かる。

ところが,統計ソフト R では,定数項なしのモデルのほうが,適合度が高いのである。

この例でもまた, Excel グラフよりも,むしろ,統計ソフト R や SPSS のほうが奇妙な結果を出すと言える。

もちろん,あらゆるデータで,このような傾向が認められるとは限らない。しかし少なくとも, Excel グラフでは決定係数がマイナスになるから正しくない,という意見は短絡的と言えるだろう。ましてや,それが修正が必要なバグとは単純には言えない。

では, Excel グラフの決定係数が正である場合はどうなのだろうか?

産総研の工藤祐揮氏が,かつて「Excelのバグを確認してみる」というページで示したデータを取り上げて調べてみよう。現在では,このページは存在しないが,決定係数の計算を考える上で,興味深いデータであるので,敢えてここで再掲する。小数点以下の細かい数字は省略してある。

Table 9. Data from Dr Kudo, Researcher of National Institute of Advanced Industrial Science and Technology.
    ------------------
       x       y
    ------------------
     1875    9.6036
     1240    6.1353
     1220    5.2843
      855    4.7610
      825    4.2004
   -------------------

定数項ありの回帰直線と,定数項なし(y 切片ゼロ,原点通過)の回帰直線を当てはめたグラフが,次の Fig. 5 である。

Comparison of fit between the linear regressions with and without an intercept.
Fig. 5. Linear regressions with and without an intercept for the data of Table 9.

工藤氏が取り上げたデータでは,定数項ありの直線と定数なしの直線が,ほとんど一致し,この図では見分けがつかない。

まず,通常の決定係数と残差を見てみよう。

Table 10. Comparison of fit between the linear regressions shown in Fig. 5.
Comparison of fit between the linear regressions with and without an intercept.
SSR stands for the sum of squared residuals.

単純に考えると(自由度を考慮しないと),パラメータを増やせば適合度が良くなり,したがって,残差 SSR は減少し,決定係数 R2 は大きくなる。

Table 10 では,定数項ありの直線は,定数項なしの直線に比べて, SSR は,わずかながらではあるが確かに減少している。それに対応し, Excel グラフの R2,すなわち R21 も,わずかながら増加している。

ところが,統計ソフト R の R2,すなわち R2 は減少してしまっているのである。ここでも,むしろExcel グラフの決定係数のほうが,自然な変化を示しているのである。

R2 の奇妙な変化は,その全変動 TSS の定義が, y=0 を基準としていることに由来する。つまり,この定義は,回帰式が原点を通る,ということだけに注目し,データがどのように分布しているかは十分考慮していないのである。

工藤祐揮氏の決定係数も,この R2 の定義であり, Table 10 と同じ結果であった。

繰り返しになるが,決定係数には様々な定義,すなわち, Kvalseth (1985) によれば8種類もの定義がある。そのうち,原点通過(定数項なし,y 切片ゼロ)の回帰でどれを採用するかは,一意的に決められていない。その点を,工藤氏は見落としていたのかもしれない。

引き続き,工藤氏のデータで,今度は補正済み(自由度調整済み)決定係数 R*2AIC を調べてみる。前述の通り,パラメータを増やせば,残差 SSR が減少し,見かけ上は適合度が高くなる。そのパラメータ増加分を補償(補正)しようというのが, R*2 である。

Table 11. Comparison of fit between the linear regressions shown in Fig. 5
Comparison of fit between the linear regressions with and without an intercept.
R*2 and AIC stand for corrected (adjusted) R-squared and Akaike information criterion respectively.

Excel グラフ,統計ソフト R, AIC,いずれもが自由度を考慮すれば,原点通過(定数項なし,y 切片ゼロ)の回帰直線のほうが適合度が高い,という結果になる。

このデータの回帰分散分析の結果も見てみる。

Table 12.
Estimate Pr(>|t|)
Intercept 0.0830201 0.92760
x 0.0049160 0.00516

定数項は有意にゼロと異ならないことが分かり,定数項なしの回帰式の適合度が高いという Table 11 の結果を支持する。

以上のことは,工藤氏のデータにおいても,Excel グラフの決定係数 R21 が,実用上問題無いことを示している。工藤氏は, R2 は正しく, R21 は正しくない,と結論したが,その理論的根拠は示さなかった。

もちろん,定数項の有無で,異なる定義の決定係数を用いる場合は,それらを比較できない,と考えることも可能である。しかしそれなら,比較不可能な決定係数の意義は何だろうか,と考えてしまう。仮に,決定係数を単独で使うとしても,図2のような回帰直線の R2 を 0.93 と高く出すような定義が妥当なのかは疑問である。少なくとも, R2 は正しく, R21 は正しくない,と単純には割り切れないであろう。

補遺 2

赤池情報量規準 AIC (Akaike's Information Criterion)は,故・赤池弘次が残した情報理論に関する,日本が世界に誇る業績である。しかしながら,大学で統計学を学んだ学生でも, AIC の理論や用法,さらには赤池のことを知らない人も多い。

統計数理研究所のウェブサイトには,赤池の業績を紹介した赤池記念館があるが,これもあまり知られていない。大学の統計学の授業では,少しでも良いので,赤池氏のことに是非触れて欲しいものだ。

赤池が,2006年に第22回京都賞を受賞したときのメッセージYouTube に残されている。

放送大学「統計学」(藤井良宜)は,初歩的な科目ではあるが,第1回の講義からAICに触れ,赤池が京都賞を受賞したことにも触れている。放送大学の講義内容には感心するものが多い。

なお,私が発表したクワガタムシの形態変異(三型)に関する論文(Igichi, 2013)でも,不連続・線形回帰モデルと連続・非線形回帰モデルの適合度の評価に,AICを用いられている。

Wikipedia にも,赤池情報量規準の説明がある。この説明の中で, n を標本数と説明した部分があったので,標本サイズと訂正した。標本サイズは,多い少ないではなく,大きい小さいで形容する点も訂正した。

標本数と標本サイズは全く異なる用語であるが,しばしば混同されるし,きちんと理解していない人も多いので注意が必要である。この問題に関しては,例えば,私の Yahoo! 知恵ノート
カイ二乗検定(独立性検定)から残差分析へ:全体から項目別への検定
を参照して欲しい。

参考文献

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

Iguchi Y. (2013) Male mandible trimorphism in the stag beetle Dorcus rectus (Coleoptera: Lucanidae). European Journal of Entomology, 110: 159-163. PDF

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

Motulsky H. and Christopoulos A. (2004) Fitting models to biological data using linear and nonlinear regression. Oxford University Press. PDF

内容が一部重複するが, Yahoo! 知恵ノート
決定係数R2の誤解: 必ずしも相関の2乗という意味でなく,非線形回帰には使えない
も参照。

Home