最小二乘法

2023-09-22 13:42:56

最小二乘法(Least Squares Method)是一种用于拟合数学模型或估计模型参数的数学和统计方法。它的主要目标是找到模型参数的估计值,以使模型预测的值与观测数据之间的平方差尽量小。最小二乘法通常用于处理回归分析和曲线拟合问题。

最小二乘法的基本思想是将观测数据视为模型的样本,并尝试找到模型参数,使得模型的预测值与实际观测值之间的残差平方和最小化。残差是每个观测值与模型预测值之间的差异,平方残差的和称为残差平方和。最小二乘法的数学形式如下:

对于线性回归: min ⁡ ∑ i = 1 n ( y i − ( a + b x i ) ) 2 \min \sum_{i=1}^n (y_i - (a + bx_i))^2 mini=1n(yi(a+bxi))2

其中, y i y_i yi 是观测到的因变量(实际观测值), x i x_i xi 是对应的自变量(特征或解释变量), a a a b b b 是模型参数,需要通过最小二乘法来估计。最终的目标是找到合适的 a a a b b b,以使平方差最小化。

最小二乘法广泛应用于各种领域,包括统计学、工程、经济学、物理学和机器学习等。它不仅用于线性模型,还可以扩展到非线性模型的参数估计。这个方法的优点是它提供了一种可解析求解的优化问题,有明确的解析解,因此在实际应用中非常有用。

让我们通过一个简单的线性回归示例来演示如何使用最小二乘法来估计模型参数。假设有以下一组观测数据,其中 x 是自变量,y 是因变量:

x: 1, 2, 3, 4, 5
y: 2, 3, 3.5, 4.5, 5

我们的目标是拟合一个线性模型 y = a + bx,其中 a 和 b 是我们要估计的参数。

首先,我们可以使用最小二乘法的公式来计算参数 a 和 b。这些参数可以通过以下方程来计算:

b = n ∑ ( x y ) − ∑ x ∑ y n ∑ ( x 2 ) − ( ∑ x ) 2 b = \frac{n\sum(xy) - \sum x\sum y}{n\sum(x^2) - (\sum x)^2} b=n(x2)(x)2n(xy)xy

a = ∑ y − b ∑ x n a = \frac{\sum y - b\sum x}{n} a=nybx

其中,n 是观测数据的数量,Σ 表示求和符号。

计算步骤如下:

  1. 计算 x 和 y 的总和:
Σx = 1 + 2 + 3 + 4 + 5 = 15
Σy = 2 + 3 + 3.5 + 4.5 + 5 = 18
  1. 计算 x*y、x^2 的总和:
Σxy = (1*2) + (2*3) + (3*3.5) + (4*4.5) + (5*5) = 2 + 6 + 10.5 + 18 + 25 = 61.5
Σ(x^2) = (1^2) + (2^2) + (3^2) + (4^2) + (5^2) = 1 + 4 + 9 + 16 + 25 = 55
  1. 计算参数 b:
b = (5 * 61.5 - 15 * 18) / (5 * 55 - 15^2) = (307.5 - 270) / (275 - 225) = 37.5 / 50 = 0.75
  1. 计算参数 a:
a = (18 - 0.75 * 15) / 5 = (18 - 11.25) / 5 = 6.75 / 5 = 1.35

所以,通过最小二乘法,我们得到了线性模型 y = 1.35 + 0.75x 的参数估计值。这个模型可以用来进行预测和数据拟合。

更多推荐

【2023华为杯B题】DFT类矩阵的整数分解逼近(思路及代码下载)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋📋📋本文目录如下:🎁🎁🎁目录💥1概述📚2详细数学模型及题目、数据🎉3参考文献🌈4Matlab代码及思路实现💥1概述离散傅里叶变换(Discre

爬虫逆向实战(34)-某视综数据(MD5、AES)

一、数据接口分析主页地址:某视综1、抓包通过抓包可以发现数据接口是/rank/waiting/fans2、判断是否有加密参数请求参数是否加密?通过查看“载荷”模块可以发现有一个sign参数请求头是否加密?无响应是否加密?通过查看“响应”模块可以发现数据是加密的cookie是否加密?无二、加密位置定位1、sign(1)看

c++八股day3-c++什么时候生成默认拷贝构造函数

背景:如果不提供,就是浅拷贝,即位拷贝(把值按字节复制过去)位拷贝的危害:1、比如某个类的对象当中有堆上的资源(里面有一个指针指向了堆上的资源)2、文件句柄、socket3、虚函数表指针可能会丢失。。。如果是位拷贝,就会出现两个对象持有相同的堆上资源、文件句柄如果有一个对象释放,释放时会把堆上资源进行释放,把文件句柄进

App测试中ios和Android有哪些区别呢?

App测试中,大家最常问到的问题就是:ios和Android有什么区别呢?在Android端,我们经常会使用JavaScript、HTML、CSS等技术来编写一些简单的UI界面。而iOS端,我们经常会使用到UI设计、界面布局、代码结构、API等技术来开发一款App。那究竟有什么区别呢?作为一名开发者,应该了解一些基础知

JVM——4.垃圾回收

这篇文章我没来讲一下JVM中的垃圾回收。这是比较重要,内容也比较多的一篇文章。目录1.垃圾回收概述2.如何判断对象可以回收2.1引用计数法2.2可达性分析算法2.2.1GCRoot的选取2.3再谈引用2.3.1强引用2.3.2软引用2.3.3弱引用2.3.4虚引用2.3.5终结器引用2.3.6引用小结3.垃圾回收算法3

uniapp——实现二维码生成+保存二维码图片——基础积累

最近在做二维码推广功能,自从2020年下半年到今天,大概有三年没有用过uniapp了,而且我之前用uniapp开发的程序还比较少,因此很多功能都浪费了很多时间去查资料,现在把功能记录一下。这里写目录标题效果图1.根据接口返回的链接生成二维码——`uv-Qrcode`的用法1.1插件市场导入`uv-qrcode`插件1.

优思学院|为什么六西格玛团队不能忽视DMAIC中的C?【案例分享】

在DMAIC(即Define(定义)、Measure(测量)、Analyze(分析)、Improve(改进)和Control(控制))过程中,控制阶段扮演着至关重要的角色,有助于维护六西格玛项目所带来的改进效益。如果按照正常程序执行,它还有助于进一步提高结果。什么是DMAIC过程?在深入探讨DMAIC控制阶段的重要性之

KVM嵌套虚拟化实现

KVM嵌套虚拟化实现理论Libvirt主要支持三种CPUmodehost-passthrough:libvirt令KVM把宿主机的CPU指令集全部透传给虚拟机。因此虚拟机能够最大限度的使用宿主机CPU指令集,故性能是最好的。但是在热迁移时,它要求目的节点的CPU和源节点的一致。host-model:libvirt根据当

【建造者模式】

🏅我是默,一个在CSDN分享笔记的博主。📚📚🌟在这里,我要推荐给大家我的专栏《20种Java设计模式》。🎯🎯🚀无论你是编程小白,还是有一定基础的程序员,这个专栏都能满足你的需求。我会用最简单易懂的语言,带你走进Java的世界,让你从零开始,一步步成为JAVA大师。🚀🏆🌈让我们在Java的世界里畅游吧

竞赛 基于深度学习的人脸专注度检测计算系统 - opencv python cnn

文章目录1前言2相关技术2.1CNN简介2.2人脸识别算法2.3专注检测原理2.4OpenCV3功能介绍3.1人脸录入功能3.2人脸识别3.3人脸专注度检测3.4识别记录4最后1前言🔥优质竞赛项目系列,今天要分享的是🚩基于深度学习的人脸专注度检测计算算法该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!🥇学长这

slueth+zipkin 使用

目录背景过程(安装zipkinEureka提供方服务)ZipKin服务端安装微服务项目搭建1、搭建Eureka项目2、搭建消费者项目3、搭建提供者项目总结背景原因传统单机系统在使用过程中,如果某个请求响应过慢或是响应出错,开发人员可以清楚知道某个请求出了问题,查看日志可以定位到具体方法。但是在分布式系统中,倘若客户端一

热文推荐