サンプルRの2乗を計算する方法は?


10

これはおそらくどこかで議論されたと思いますが、明確な答えを見つけることができませんでした。式を使用して線形回帰モデルのサンプル外を計算しようとしていますは残差の2乗の合計で、は2乗の合計です。トレーニングセットについては、R2=1SSR/SSTR2SSRSST

SST=Σ(yy¯train)2

テストセットはどうですか?サンプル外にを使い続けるべきですか、それともを使うべきですか?y¯trainyy¯test

を使用すると、結果のが負になることがあります。これは、使用したsklearnの関数の説明と一致しています(サンプルをテストするためのlinear_modelの関数でも使用されます)。彼らは、「入力フィーチャを無視して、yの期待値を常に予測する定数モデルは、R ^ 2スコアが0.0になる」と述べています。y¯testR2r2_score()y¯testscore()

ただし、他の場所では、ここここ(dmi3knoによる2番目の回答)のようにを使用しています。だから私はどちらがもっと理にかなっているのだろうと思っていましたか?コメントは大歓迎です!y¯train

回答:


3

あなたは正しいです。

OSR残差はテストデータに基づいていますが、ベースラインはトレーニングデータである必要があります。つまり、SSTはです。でも同じです。2SST=Σ(yy¯train)2R2


3
以前の編集からの明らかなエラーと明らかなエラーの一部を修正しましたが、表記の一部と意図された意味の一部はまだ不明です。
Nick Cox

答えてくれてありがとう!これについての言及はありますか?統計ソフトウェアはy_testで一般的に代替定義を使用しているようです?
Matifou
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.