zoukankan      html  css  js  c++  java
  • 线性回归——最小二乘法_实例(二)

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

    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)  
    
     % 画布大小为25*25
     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

  • 相关阅读:
    GIL
    CRM2Stark组件
    Django图书管理系统(单表操作)
    Python(ATM机low版)
    Python(9-18天总结)
    Python(1-8天总结)
    Python习题(分页显示)
    Python文本操作2
    Python递归二分法
    Python文本操作
  • 原文地址:https://www.cnblogs.com/gaosheng-221/p/6133459.html
Copyright © 2011-2022 走看看