「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?そんなモデルじゃあダメだ」などとドヤ顔で言われても、
「あなたのその顔をエンライトメントしてやんよ」と切り返すことができるようになりました◎