How to make a linear regression coefficient algorithm
4 次查看(过去 30 天)
显示 更早的评论
I wrote this code and I don't know how to use the formulae
function [alpha, beta] = linreg( x, y )
beta = cov( x, y ) / var( x ) ;
% ...
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1331620/image.jpeg)
1 个评论
Rik
2023-3-21
Only the definition for alpha is missing. What exactly is your question, and how exactly is this a Matlab question?
回答(3 个)
Sugandhi
2023-3-21
编辑:Sugandhi
2023-3-21
Hi Karthik,
I understand that you want to make a linear regression coefficient algorithm by using the above formula.
function [alpha, beta] = linreg( x, y )
beta = cov( x, y ) / var( x ) ;
xbar=mean(x);
ybar=mean(y);
alpha = ybar+beta*xbar;
end
According to the formula provided, xbar and ybar are mean of x and y data respectively. Alpha is calculated using xbar,ybar and beta. Beta is ratio of covariance of x,y and variance of x data.
For more understanding, kindly go through following links-
- mean- https://www.mathworks.com/help/matlab/ref/mean.html?searchHighlight=mean&s_tid=srchtitle_mean_1
- Covariance- https://www.mathworks.com/help/matlab/ref/cov.html?searchHighlight=cov&s_tid=srchtitle_cov_1
- Variance- https://www.mathworks.com/help/matlab/ref/var.html?searchHighlight=var&s_tid=srchtitle_var_1
0 个评论
KSSV
2023-3-21
编辑:KSSV
2023-3-21
x = 1:10 ;
y = rand(1,10) ;
[a,b] = linreg(x,y) ;
% Check
p = polyfit(x,y,1) ;
[a b ; p(2) p(1)]
function [alpha, beta] = linreg( x, y )
n = length(x) ; % get the length of x and y
xbar = mean(x) ; % mean of x
ybar = mean(y) ; % mean of y
Sxy = 1/(n-1)*sum((x-xbar).*(y-ybar)) ;
Sx2 = 1/(n-1)*sum((x-xbar).^2) ;
beta = Sxy/Sx2 ;
alpha = ybar-beta*xbar ;
end
0 个评论
John D'Errico
2023-3-21
编辑:John D'Errico
2023-3-21
Why do you want to write your own linear regression code? This is generally a bad idea. Never write code to do what a professional will have done better, and has already been written for you.
ab = polyfit(x,y,1);
Alph = ab(2);
Bet = ab(1);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Descriptive Statistics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!