作者celestialgod (天)
看板Statistics
標題Re: [問題] WLS的SST, SSR, SSE計算
時間Mon Mar 11 10:38:14 2019
※ 引述《iphone2003 (307)》之銘言:
: 大家好
: 我最近在練習把各種迴歸提到的東西實作出來
: 使用的是python
: 然後使用statsmodels來驗證我的結果
: 那我正在寫WLS
: 作法是令一個矩陣W,其中它的各個對角線元素為weighted值
: 然後把原本的矩陣X,轉變為Xw= W^0.5 * X
: 向量y也做一樣的轉換:yw = W^0.5 *y
: 然後利用Xw和yw去做一般的OLS計算
: 所以這時候算的係數向量會是
: b = (Xw' * Xw)^(-1) * Xw' * yw
: = (X' * W * X)^(-1) * X' * W * y
: 那我現在遇到的問題是
: 我在計算SST SSR SSE時
: 一開始想說應該和一般的計算方法一樣
: 就是像是SSE=(y-yhat)' * (y-yhat)
: 其中yhat是X * b
: 結果算出來好像怪怪的
: 後來改成這樣算
: SSE = (yw-ywhat)' * (yw-ywhat)
: 其中ywhat是Xw * b
: 這樣結果就對了
: 但是我不懂為什麼這裡要改用yw去算?
: 另外同樣的改法,用在SST和SSR卻失敗
: 算出來的答案不太對
: 因此想問,是否WLS中,計算SSR、SSE和SST的方法和一般OLS的不太一樣呢?
: 是的話,又是為什麼要這樣計算呢?
: 謝謝!
: (這裡我的SSR SSE SST分別代表迴歸變異量、誤差變異量和總變異量)
WLS的optimization problem是 min (y-XB)^T W (y-XB)
這個量是什麼意思? 你一般在做optimization就是在最小化SSE
所以SSE = (y-XB)^T W (y-XB) = sum_i w_i (y_i-X_i B)^2
自己拆一下就跟你那個式子一樣了
那SST是什麼? SST是總變異量,在OLS是 sum_i (y_i-y bar)^2
WLS因為多了weight 所以變成 sum_i w_i (y_i - y bar)^2
寫成矩陣就是 (y-y bar)^T W (y-y bar)
SST = SSR + SSE,那SSR就自己推導吧
我看你現在只是在練習把演算法做出來而已
不是真的在理解它到底為何這樣做,跟背後的概念
這樣是無助於你學習的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.170.73
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Statistics/M.1552271897.A.624.html
1F:推 iphone2003: 感謝你!這樣看就懂了,本來把W併進Xy所以搞不太清楚 03/11 16:30
2F:→ iphone2003: ,不過分開來看就能理解了 03/11 16:30
※ 編輯: celestialgod (119.14.59.166), 03/11/2019 21:06:26