最小二乘法的推导可参考下面这个博客,推导非常详细.
https://my.oschina.net/keyven/blog/526010
首先画一个加入了噪声的散点图,函数是y=0.2x,加入噪声后如下图所示:


代码如下:

# -*- coding: utf-8 -*
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 30, num=50)
y = 0.2*x+[np.random.random() for _ in range(50)]
if __name__ == '__main__':plt.figure(figsize=(10, 5), facecolor='w')plt.plot(x, y, 'ro', lw=2, markersize=6)plt.grid(b=True, ls=':')plt.xlabel(u'X', fontsize=16)plt.ylabel(u'Y', fontsize=16)plt.show()

我将上面这个代码保存为paint_scatter_plot.py这个名字,方便其他地方调用.
接下来画出拟合直线:

代码如下:

from  paint_scatter_plot import x,y
import numpy as np
import matplotlib.pyplot as plt
def Least_squares(x,y):x_ = x.mean()y_ = y.mean()m = np.zeros(1)n = np.zeros(1)k = np.zeros(1)p = np.zeros(1)for i in np.arange(50):k = (x[i]-x_)* (y[i]-y_)m += kp = np.square( x[i]-x_ )n = n + pa = m/nb = y_ - a* x_return a,b
if __name__ == '__main__':a,b = Least_squares(x,y)print a,by1 = a * x + bplt.figure(figsize=(10, 5), facecolor='w')plt.plot(x, y, 'ro', lw=2, markersize=6)plt.plot(x, y1, 'r-', lw=2, markersize=6)plt.grid(b=True, ls=':')plt.xlabel(u'X', fontsize=16)plt.ylabel(u'Y', fontsize=16)plt.show()

代码运算结果: a = 0.19784577, b = 0.48503344 ,还是非常接近正确结果的.

python最小二乘法拟合直线相关推荐

  1. python最小二乘法--拟合直线

    最小二乘法实例------求出利用最小二乘法通过(1,1) (2,3) (3,3)拟合出的直线: ​ ##最小二乘法 import numpy as np import matplotlib.pypl ...

  2. python最小二乘法拟合直线_Python 实现最小二乘法拟合直线

    线性回归 线性回归是回归分析中最常见的一种建模方式.当因变量是连续的,自变量是连续的或者离散的,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析. 用方程 y = mx + c,其中 ...

  3. Python实现最小二乘法拟合直线(求斜率截距)

    利用最小二乘法拟合直线,实现了对一系列点拟合出其最接近的直线,并给出公式,包括斜率和截距.并且绘制出最终拟合线. 完整代码如下: # 核心代码,求斜率w,截距b def fit(data_x, dat ...

  4. 最小二乘法拟合直线簇交点及Ransac拟合

    最小二乘法拟合直线簇交点及Ransac拟合 最小二乘法的实现 Ransac优化 语言环境:Python 直线簇方程: y=p→+v→∗ty=\overrightarrow p+\overrightar ...

  5. C++:最小二乘法拟合直线

     原理: 代码: #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp>using names ...

  6. 最小二乘法拟合直线 C++/OpenCV

    问题: 我们在拥有一系列散列的点(x1,y1),(x2,y2)... (xm,ym),这些点在一条直线附近,通过点拟合直线. 我在工程中是要拟合一系列线段,其实一条线段就对应着两个要拟合的点,算法上稍 ...

  7. opencv学习——最小二乘法拟合直线

    最小二乘法拟合直线 概念:最小二乘法多项式直线拟合,根据给定的点,求出它的函数y=f(x),当然求得准确的函数是不太可能的,但是我们能求出它的近似曲线y=φ(x) 原理 假设有点  , I = 1,2 ...

  8. C++opencv实现最小二乘法拟合直线和平面

    使用opencv中的Mat实现用矩阵的方式根据最小二乘法拟合直线和平面方程,但是好像不能实现拟合斜率无穷大的直线和平面方程,后续再改进吧. 有关于原理部分,有时间再详细写一下. #include &q ...

  9. C++:最小二乘法 拟合直线

    分享给有需要的人,代码质量勿喷. 一.y = k * x + b bool xjLeastSquares::xjFitLineByLeastSquares( std::vector<double ...

最新文章

  1. mysql 主键 uniqo_项目总结,彻底掌握NodeJS中如何使用Sequelize
  2. Liststring里 每个元素重复了多少次
  3. signature=3ba70fa0be2ca50c615373e5495718b1,翻译文化观与翻译改写
  4. 马思伟:视频领域是个海洋,可以游泳、冲浪、潜水和远航
  5. 电信信息日志使用mapreduce统计的两种方式
  6. java移动接口发短信_天天都会写接口(interface),但它的用途和好处有多少人能说得清楚?
  7. Android之通过ContentResolver获取手机图片和视频的路径和生成缩略图和缩略图路径
  8. java二叉树算法_JAVA 二叉树算法 (遍历、深度、汇总求和)
  9. 海康威视第一季度营收165亿元 净利润22.84亿元
  10. hbase 二进制数据写入_HBase总结
  11. silverlight打开和保存文件
  12. ISO常见的17大体系介绍
  13. 快速排序qsort函数的compar参数
  14. 初学Spring Cloud踩得坑之Caused by: org.springframework.context.ApplicationContextException
  15. 利用sqlmap注入获取网址管理员账号密码
  16. tp5使用xunsearch
  17. Enter的使用计算机,Win7系统下键盘Enter回车键五大功能介绍
  18. word转换为html代码,如何将Word转换为网页html格式的方法(附代码清理方法)
  19. 2020中国高校计算机大赛网络技术挑战赛,风起云涌!2020 “中国高校计算机大赛-网络技术挑战赛”总决赛即将在浙南科技城开赛...
  20. 可用的 office2010下载

热门文章

  1. linux运维工程师培训课程_《Linux运维工程师必学技能》完整版视频课程专题(1.0)...
  2. 报错:Prop being mutated: “placement“found in---> <ElDatePicker> at packages/date-picker/src/picker
  3. 全国计算机b级试题及答案,全国计算机等级考试一级b模拟试题及答案
  4. 如何处理电脑插入耳机后无提示的问题
  5. mysql数据库关于中文符号的解决
  6. 什么是物联网,物联网未来几年的发展前景怎么样?
  7. 密码应用安全性评估实施要点之二密码技术应用要求与实现要点(3)
  8. 淘系技术-DDD-领域层设计规范
  9. 计算机毕业设计ssm古诗词知识学习系统q5697系统+程序+源码+lw+远程部署
  10. 微信小程序 ssm springboot 驾校报名系统#计算机毕业设计