作者dreamson (做不完的事情)
看板Statistics
標題Re: [問題] negative R^2
時間Wed Sep 8 16:07:58 2010
R^2是在算迴歸模型中,自變數對應變數變異的解釋能力
因此你用70% data估計出迴歸參數後,算出來的R^2當然是用原本
70%的data去算出來的,你不能再拿另外30%data帶入去算R^2,那沒有
意義,要有意義的話,就是在用剩下30%的data再去估計出另一條回歸式
跑出來的R^2才是有意義的。
你也可以去看一下R^2的公式,他所帶入的實際資料一定就是估計出參數的那些資料
而不是另外在代資料
※ 引述《musicmen ()》之銘言:
: 如果是跟統計軟體有關請重發文章
: 如果跟論文有關也煩請您重發文章
: 文章類別是為了幫助大家搜尋資料與解答,造成不便之處請見諒
: 請各位幫忙, 想請教一個問題, 小弟統計真的很嫩
: 我在做multiple regression的model
: y = a0*x0 + a1*x1 + a2*x2 (a0 這項基本上就是intercept )
: 我把data 分作70% and 30%
: 利用70%的data去算a1和a2和intercept這些參數
: 算出來之後, R^2大概平均是0.12這樣
: 然後我把剩下的30%data套用算出來的參數, 然後再計算R^2
: 我用的是 residual = y - a*x (a = [a0 a1 a2], x是對應的矩陣)
: SSerr = sum(residual.^2)
: SStot = sum((y - mean(y)).^2)
: R^2 = 1 - (SSerr / SStot) 是負的, 因為 SSerr> SStot
: 為什麼會這樣呢? 為什麼在70%的data裡面 R^2就可以算的出來
: 而30%的data得到負的結果, 我看了一下數據, 也就是說
: y-mean(y) 的預測要比 model來的好.. 是不是我有弄錯的地方?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.110.233