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

上篇文章介绍了最小二乘法的理论与证明、计算过程,这里给出两个最小二乘法的计算程序代码;

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

时间: 2024-11-03 00:04:18

线性回归——最小二乘法_实例(一)的相关文章

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

上篇文章介绍了最小二乘法矩阵形式的理论与证明.计算过程,这里使用程序代码的方式计算出矩阵形式的解,并给出线性拟合: 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 =

函数_实例2_计算器

#!/bin/bash compute() {         if [ $# != 3 ];then                 echo "Your input num is not enough!"         fi         let "s=0"         case $2 in                 +)                         let "s=$1+$3"                

函数_实例4_使用位置参数和函数返回结果

#函数中也可以使用位置参数! #函数是有返回结果的! #!/bin/bash show_week() {         echo -n  "your input is :"          echo "$1"         case $1 in      #变量是$1                 1)                         echo "Today is Monday"                      

[基础] AHK函数对象初窥 ① _实例2_实际可用版

;# 母文章 https://zhuanlan.zhihu.com/p/48977298;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 脚本名称:函数对象初窥①_实例2 [直接可用版本] ; 脚本版本号 v0.2 ; AHK版本: 1.1.30 ; 语言:中文 ; 作者:心如止水<QQ:2531574300> <Autohotkey高手群(34

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

上篇文章中介绍了单变量线性回归,为什么说时单变量呢,因为它只有单个特征,其实在很多场景中只有单各特征时远远不够的,当存在多个特征时,我们再使用之前的方法来求特征系数时是非常麻烦的,需要一个特征系数一个偏导式,而却最要命的时特性的增长时及其迅猛的,几十.几百.几千-- 单变量线性回归:多变量线性回归: 所以从这里我们开始将介绍线性回归的另一种更方便求解多变量线性回归的方式:最小二乘法矩阵形式: 模型变换 线性回归的标量形式: 这里把上诉式子中的系数m与误差c转换为向量(为了统一从下面开始使用表示c

线性回归——最小二乘法(一)

相信学过数理统计的都学过线性回归(linear regression),本篇文章详细将讲解单变量线性回归并写出使用最小二乘法(least squares method)来求线性回归损失函数最优解的完整过程,首先推导出最小二乘法,后用最小二乘法对一个简单数据集进行线性回归拟合: 线性回归 线性回归假设数据集中特征与结果存在着线性关系: 等式:y = mx + c y为结果,x为特征,m为系数,c为误差 在数学中m为梯度c为截距 这个等式为我们假设的,我们需要找到m.c使得mx+c得到的结果与真实的

机器学习--线性回归 最小二乘法

机器学习第1天 欢迎转载,请标明出处(http://blog.csdn.net/tonyshengtan),尊重劳动,尊重知识,欢迎讨论. 开篇废话 话说在高中数学统计的部分就有学过最小二乘法,现在想想,当时没有严格的推倒和实用背景,单纯的给了公式然后做应用题,不过也印证了乔布斯的一句话,不管你现在在做什么,你都无法预料到这对你以后是否有影响,你只能看到过去,无法看到未来. 最小二乘法(Least squares) 为什么叫最小二乘法,首先最小明确的告诉你,俺们求出来的是全局的最值,不是极值,就

004_备份恢复作业_实例

/* 利用T-SQL语句,实现数据库的备份与还原的功能 体现了SQL Server中的四个知识点: 1.   获取SQL Server服务器上的默认目录 2.   备份SQL语句的使用 3.   恢复SQL语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理 4.   作业创建SQL语句的使用 */ /*1.--得到数据库的文件目录 @dbname 指定要取得目录的数据库名 如果指定的数据不存在,返回安装SQL时设置的默认数据目录 如果指定NULL,则返回默认的SQL备份目录名 --邹建 20

Objective-C学习笔记_实例变量可?度及方法

? 实例变量可?度 可见度 特点 public(公有的) 实例变量可以在类的外部和内部操作 protected(受保护的,默认的) 实例变量只能在本类和其?类内部操作 private(私有的) 实例对象只能在本类内访问 所谓的内部,指的是相应类的@implementation和@end之间. 示例代码如下: #import <Foundation/Foundation.h> @interface Person : NSObject { @public NSString *_hobby; /**