How to implement weighted Linear Regression
66 次查看(过去 30 天)
显示 更早的评论
I am trying to reproduce the results of a paper. It is mentioned that they used weighted linear regression with three different weights.
Is Weighted least square regression is same as weighted linear regression?
How can i implement weighted linear regression in matlab?
0 个评论
回答(2 个)
John D'Errico
2016-11-12
"Is Weighted least square regression is same as weighted linear regression?" Yes.
Given the problem
A*x = y
where x is the vector of unknowns, and a weight vector w. w must have the same number of elements as y. I'll assume that w and y are column vectors.
W = diag(W);
x = (W*A)\(w.*y);
If there are many data points, then creating W as a diagonal matrix (that is not sparse) and multiplying by W will be less efficient that you may want. If you are using R2016b (or later) then you need not create W at all.
x = (w.*A)\(w.*y);
Again, this presumes that w and y are column vectors, and that you have R2016b.
1 个评论
Paul Safier
2024-2-6
Also, @John D'Errico, do you know why the formula for beta above differs from the one here (taken from documentation online as well as the WLS wiki page)?
A = [1;2;3;4]; Y = [1.1;2.3;2.9;10]; W = [1;1;1;0.4];
A1 = [ones(size(A)) A];
Beta1 = (W.*A1)\(W.*Y) % The one you show above.
Beta2 = (A1'*diag(W)*A1)\(A1'*diag(W)*Y) % Eqn 7 from: https://www.stat.cmu.edu/~cshalizi/mreg/15/lectures/24/lecture-24--25.pdf
Paul Safier
2024-2-6
@John D'Errico do you know how to compute the R^2 value in this weighted case?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear Regression 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!