「R二乗値なんて信仰にすぎない!」について(F統計量のお話)

「R二乗値なんて神話・信仰の類ですよ!」と先生が仰るものだから、われわれは啓蒙されなければならない、と思い、ちょっと覚書を残しておこうと思います。
本当は、重回帰モデルの診断の話まで書きたかったのですが、それはまた後日…。

(修正済み)R二乗値だけを見て「こんな小さいR二乗値じゃ、駄目だよ」と言う人はたくさんいるらしい。
しかし、そうではない、R二乗値がいくつであれば回帰モデルは妥当か?を、F統計量から判断する、という話です。

これは、R二乗値をF統計量に変換し、それが有意か調べるという方法をとります。
使用するソフトはRです。

F統計量は定数項以外の係数が全て0という帰無仮説のもとで分子の自由度がn-1、分母の自由度がn-KのF分布に従う。
nがKに対して大きいとき、F分布の期待値はほぼ1。

今回、この重回帰モデルを例にみてみます。

修正済みR二乗値が0.335です。なんか小さい気がする…大丈夫かな…という不安がよぎります。
まだ啓蒙されてないぼくには、この値は心を不安にさせます。

サンプル数と説明変数の数(定数項含む)を指定

> n=275
> K=4

まずは、このn, KのもとでのF分布を描画する。

> x=seq(0, 10, by=0.01)
> y=df(x,K-1,n-K)
> plot(x,y,type="l")

次に、95%点を計算します。

> qf(0.95,K-1,n-K)
[1] 2.637913

そしてそれを描画。

> abline(v=F95, col="red")

帰無仮説のもとではこの分布にF統計量が従うわけです。
ということは、この赤線の右側にF統計量があれば「やった!」となる。

それで、その「やった!」となるF統計量に対応するR二乗値はいくつか、計算します。

> F95=qf(0.95,3,271)
> F95/(F95+(n-K)/(K-1))
[1] 0.02837343
>

なんとまぁ、R二乗値が0.028より大きければ回帰モデルには意味がある!ということになりました。わぁ♪

というわけでこれで、「修正済みR二乗値が0.335?そんなモデルじゃあダメだ」などとドヤ顔で言われても、
「あなたのその顔をエンライトメントしてやんよ」と切り返すことができるようになりました◎