線性回歸——最小二乘法_實例(一)


上篇文章介紹了最小二乘法的理論與證明、計算過程,這里給出兩個最小二乘法的計算程序代碼;
#Octave代碼 clear all;close all; % 擬合的數據集 x = [2;6;9;13]; y = [4;8;12;21]; % 數據長度 N = length(x); % 3 %% 計算x平均值 m_x = sum(x)/N; %% % 計算t的平均值 m_t = sum(y)/N; %% % 計算t*x的平均值 m_xt = sum(y.*x)/N; %% % 計算x平方的平均值 m_xx = sum(x.*x)/N;

 %% 根據公式計算出f(x;m,c)=mx+c中m的值
 w_1 = (m_xt - m_x*m_t)/(m_xx - m_x^2);
 %% 計算出f(x;m,c)=mx+c中c的值
 w_0 = m_t - w_1*m_x;
 
 %% 在畫板上繪制出數據集的點
 figure(1);hold off
 plot(x,y,'bo','markersize',5,'linewidth',2)
 set(gca,'xtick',0:1:25) 
 
 % 畫布大小為25*25
 xplot = [0 25];
 yplot = [0 25];
 xlim(xplot)
 ylim(yplot)
 hold on
 % 打印出擬合的線段
 plot(xplot,w_0+w_1*xplot,'r','linewidth',2)
 set(gca,'yTick',0:1:150) 
 xlabel('x');
 ylabel('y');
 

#運行結果

文章首發地址:Solinx
http://www.solinx.co/archives/717


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM