Re: [問題] WLS的SST, SSR, SSE計算

看板Statistics作者 (天)時間6年前 (2019/03/11 10:38), 6年前編輯推噓1(101)
留言2則, 1人參與, 6年前最新討論串1/1
※ 引述《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://www.ptt.cc/bbs/Statistics/M.1552271897.A.624.html

03/11 16:30, 6年前 , 1F
感謝你!這樣看就懂了,本來把W併進Xy所以搞不太清楚
03/11 16:30, 1F

03/11 16:30, 6年前 , 2F
,不過分開來看就能理解了
03/11 16:30, 2F
※ 編輯: celestialgod (119.14.59.166), 03/11/2019 21:06:26
文章代碼(AID): #1SXSePOa (Statistics)