作者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/cn.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