线性回归——最小二乘法_实例(二)

上篇文章介绍了最小二乘法矩阵形式的理论与证明、计算过程,这里使用程序代码的方式计算出矩阵形式的解,并给出线性拟合;

Octave代码

clear all;close all;
% 拟合的数据集
x = [1,2;1,6;1,9;1,13];
y = [4;8;12;21];
% 根据公式 w = (x'x)^-1 * x' * y
% 与上篇文章一样一步步分解如下,其实这里可以不用分解,上篇文章分解时为了好计算
x_t =x'
x;

%% (x'*x)^-1或inv(x' * x)
x_i = x_t^-1;

x_i_t = x_i*x';

% 求出w
w = x_i_t * y;

%% 在画板上绘制出数据集的点
figure(1);hold off
plot(x(:,2),y,'bo','markersize',5,'linewidth',2)
set(gca,'xtick',0:1:25)

% 画布大小为2525
xplot = [0 25];
yplot = [0 25];
xlim(xplot)
ylim(yplot)
hold on
% 打印出拟合的线段
plot(xplot,w(1,:)+w(2,:)
xplot,'r','linewidth',2)
set(gca,'yTick',1:1:25)
set(gca,'xTick',1:1:25)
xlabel('x');
ylabel('y');

运行结果

文章首发地址:Solinx
http://www.solinx.co/archives/753

posted @ 2016-10-30 22:06  AiFly  阅读(1740)  评论(0)    收藏  举报