How to make a linear regression coefficient algorithm
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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

1 commentaire
Rik
le 21 Mar 2023
Only the definition for alpha is missing. What exactly is your question, and how exactly is this a Matlab question?
Réponses (3)
Sugandhi
le 21 Mar 2023
Modifié(e) : Sugandhi
le 21 Mar 2023
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 commentaires
KSSV
le 21 Mar 2023
Modifié(e) : KSSV
le 21 Mar 2023
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 commentaires
John D'Errico
le 21 Mar 2023
Modifié(e) : John D'Errico
le 21 Mar 2023
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 commentaires
Voir également
Catégories
En savoir plus sur Linear Regression dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!