logo
生物科学研究所 井口研究室
Laboratory of Biology, Okaya, Nagano, Japan
Home

Excel 回帰分析のバグ?定数項なしの補正 R2

井口豊(生物科学研究所,長野県岡谷市)
最終更新:2024 年 6 月 13 日

1. はじめに

まず,回帰分析の決定係数 R2 には,複数の定義があり,ソフトによって,あるいは,同じソフトでもバージョンによって,計算方法が異なり,数値が変わってくるので,その点を念頭に置く必要がある。以下のページを参照してほしい。

ここでは Excel 2019 の分析ツールを使い,次のようなデータの回帰分析を実行する。

表1. データ
x y
11
230
35
430

2. 補正 R2 の計算

補正 R2 (自由度調整済み R2)を計算する。

まず,出力された最初の回帰統計の表を見る。

回帰統計
重相関 R0.837423
重決定 R20.701278
補正 R20.367945
標準誤差13.48415
観測数4

補正 R2 は 0.367945 である。

次に,分散分析表を見る。ここでは,決定係数の計算に必要な部分だけを示す。

分散分析表
自由度 変動 分散
回帰 11280.5331280.533
残差 3545.4667181.8222
合計 41826

ここで,合計分散は出力されないので,次のように計算する。

\begin{align} 合計分散&=\frac{合計変動}{合計自由度}\\ &=\frac{1826}{4}\\ &=456.5 \end{align}

別ページ, 回帰と相関,知っているようで知らない,その本質:Excel の回帰分析を例として,その中の 7.回帰分析とは で述べたように,補正 R2 は残差分散の合計分散に対する比を 1 から引いたものである。

\begin{align} 補正R^2&=1-\frac{残差分散}{合計分散}\\ &=1-\frac{181.8222}{456.5}\\ &=0.6017038 \end{align}

これは統計ソフト R で計算しても,そのような値になる。


# R スクリプト
x <- 1:4
y<- c(1, 30, 5, 30)	
summary(lm(y ~ x-1))

# 補正 R2	
summary(lm(y ~ x-1))$adj.r.squared
	
# 終了

これは前述の回帰統計表の補正 R2 の 0.367945 とは全く異なる。実は,この補正 R2 は,次のように重決定 R2 を使っても計算できる。

\begin{align} 補正R^2&=1-\frac{合計自由度}{残差自由度}(1-重決定R^2)\\ &=1-\frac{合計自由度}{残差自由度}+\frac{合計自由度}{残差自由度}\times重決定R^2\\ &=1-\frac{4}{3}+\frac{4}{3}\times0.701278\\ &=0.601704 \end{align}

前述の回帰統計表の補正 R2 の 0.367945 は,この計算過程が異なるようだ。

\begin{align} 補正R^2&=1-\frac{合計自由度}{残差自由度}+重決定R^2\\ &=1-\frac{4}{3}+0.701278\\ &=0.3679447 \end{align}

これはバグと言えそうだが,補正 R2 の定義が異なるというケースもありうるので注意が必要だ。

Home