普通最小二乘法的推导证明

普通最小二乘法的推导证明

1、什么是最小二乘思想

简单地说,最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小.这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。从这个上也可以看出,最小二乘也可用于拟合数据模型。

2. 最小二乘法推导

我们以最简单的一元线性模型来解释最小二乘法。什么是一元线性模型呢? 监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线性是一个超平面…

对于一元线性回归模型, 假设从总体中获取了 n n n 组观察值 ( X 1 , Y 1 ) , ( X 1 , Y 2 ) , ( X 3 , Y 3 ) , . . . , ( X n , Y n ) (X_1,Y_1), (X_1,Y_2), (X_3,Y_3),...,(X_n, Y_n) (X1Y1),(X1,Y2),(X3,Y3),...,(Xn,Yn)。对于平面中的这 n n n 个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。

选择最佳拟合曲线的标准可以确定为:使总的拟合误差(即总残差)达到最小。有以下三个标准可以选择:

  1. 用“残差和最小”确定直线位置是一个途径。但很快发现计算“残差和”存在相互抵消的问题。

  2. 用“残差绝对值和最小”确定直线位置也是一个途径。但绝对值的计算比较麻烦。

  3. 最小二乘法的原则是以“残差平方和最小”确定直线位置。用最小二乘法除了计算比较方便外,得到的估计量还具有优良特性。这种方法对异常值非常敏感。

最常用的是普通最小二乘法( Ordinary Least Square,OLS):所选择的回归模型应该使所有观察值的残差平方和达到最小。

3. 公式推导

1; 拟合曲线: y = a + b x y = a + bx y=a+bx

在此等式中,已经给定部分 ( x , y ) (x, y) (x,y) 用来求解 a , b a, b a,b,因此我们换一下表达式的顺序:

= = > > y = a + x b ==>>y = a + xb ==>>y=a+xb

2; 有任意观察点: ( x i , y i ) (x_i, y_i) (xi,yi)

3; 选取点的误差为: d i = y i − ( a + b x i ) d_i = y_i - (a + bx_i) di=yi(a+bxi)

4; 当 D = ∑ i = 1 n d i 2 = 0 D=\sum_{i=1}^n d_i^2 = 0 D=i=1ndi2=0 时取值最小,直线拟合度最高

5; D = ∑ i = 1 n d i 2 = ∑ i = 1 n ( y i − a − b x i ) 2 D = \sum_{i=1}^n d_i^2 = \sum_{i=1}^n(y_i -a - bx_i)^2 D=i=1ndi2=i=1n(yiabxi)2,分别对 a , b a, b a,b 求一阶偏导

∂ D ∂ a = 2 ∑ i = 1 n ( y i − a − x i b ) ∗ ( − 1 ) = − 2 ( ∑ i = i n y i − n a − ∑ i = i n x i b ) \frac{\partial D}{\partial a} = 2\sum_{i=1}^n(y_i -a -x_ib)*(-1) \\ = -2(\sum_{i=i}^ny_i-na-\sum_{i=i}^nx_ib) aD=2i=1n(yiaxib)(1)=2(i=inyinai=inxib)

∂ D ∂ b = 2 ∑ i = 1 n ( y i − a − x i b ( − x i ) = − 2 ( ∑ i = 1 n x i y i − ∑ i = 1 n x i a − ∑ i = 1 n x i 2 b ) \frac{\partial D}{\partial b} = 2\sum_{i=1}^n(y_i -a -x_ib(-x_i) \\ = -2(\sum_{i=1}^n x_iy_i -\sum_{i=1}^nx_ia -\sum_{i=1}^nx_i^2b) bD=2i=1n(yiaxib(xi)=2(i=1nxiyii=1nxiai=1nxi2b)

6; 令 ∂ D ∂ a = 0 , ∂ D ∂ b = 0 \frac{\partial D}{\partial a} =0, \frac{\partial D}{\partial b} = 0 aD=0,bD=0,求解 a , b a, b a,b。令 n x ‾ = ∑ i = 1 n x i , n y ‾ = ∑ i = 1 n y i n\overline{x}=\sum_{i=1}^nx_i, n\overline{y}=\sum_{i=1}^ny_i nx=i=1nxi,ny=i=1nyi,那么就有:

{ − 2 ( ∑ i = i n y i − n a − ∑ i = i n x i b ) = 0 − 2 ( ∑ i = 1 n x i y i − ∑ i = 1 n x i a − ∑ i = 1 n x i 2 b ) = 0 \begin{cases} -2(\sum_{i=i}^ny_i-na-\sum_{i=i}^nx_ib) = 0 \\ -2(\sum_{i=1}^n x_iy_i -\sum_{i=1}^nx_ia -\sum_{i=1}^nx_i^2b) = 0 \end{cases} {2(i=inyinai=inxib)=02(i=1nxiyii=1nxiai=1nxi2b)=0

进而有:

{ n y ‾ − n a − n x ‾ b = 0 n 2 x y ‾ − n x ‾ a − ∑ i = 1 n x i 2 b = 0 \begin{cases} n\overline{y} - na - n\overline{x}b = 0 \\ n^2\overline{xy} - n\overline{x}a - \sum_{i=1}^nx_i^2b = 0 \end{cases} {nynanxb=0n2xynxai=1nxi2b=0

求解得:

a = y ‾ − x ‾ b a = \overline{y} - \overline{x}b a=yxb

代入:

n 2 x y ‾ − n x ‾ ( y ‾ − x ‾ b ) − ∑ i = 1 n x i 2 b = 0 n 2 x y ‾ − n x y ‾ + n x ‾ 2 b − ∑ i = 1 n x i 2 b = 0 b = n 2 x y ‾ − n x y ‾ ∑ i = 1 n x i 2 − n x ‾ 2 = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 n ( x i − x ‾ ) 2 n^2\overline{xy} - n\overline{x}(\overline{y} - \overline{x}b) - \sum_{i=1}^nx_i^2b = 0 \\ n^2\overline{xy} - n\overline{xy} + n\overline{x}^2b - \sum_{i=1}^nx_i^2b = 0 \\ b = \frac{n^2\overline{xy} - n\overline{xy}} {\sum_{i=1}^nx_i^2 - n\overline{x}^2} \\ = \frac{\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sum_{i=1}^n(x_i-\overline{x})^2} n2xynx(yxb)i=1nxi2b=0n2xynxy+nx2bi=1nxi2b=0b=i=1nxi2nx2n2xynxy=i=1n(xix)2i=1n(xix)(yiy)

总而言之:

{ a = y ‾ − x ‾ b b = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 n ( x i − x ‾ ) 2 \begin{cases} a = \overline{y} - \overline{x}b \\ b = \frac{\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sum_{i=1}^n(x_i-\overline{x})^2} \end{cases} {a=yxbb=i=1n(xix)2i=1n(xix)(yiy)

看到这里,你如果不能一眼看出来花间结果,心里一定有🐎奔腾。别担心,下面一步一步的将 b b b解出来。 b b b的求解需要根据求和性质进行化简,分别求分子与分母。求和性质,具体可以参考 Introductory Econometrics A Modern Approach (Fourth Edition) 一书(计量经济学导论,第4版,杰弗里·M·伍德里奇 著)的附录A。详细推导过程如下:

{ n 2 x y ‾ − n x y ‾ = n 2 x y ‾ − n x y ‾ − n y x ‾ + n x y ‾ = ∑ i = 1 n x i y i − y ‾ ∑ i = 1 n x i − x ‾ ∑ i = 1 n y i + ∑ i = 1 n x y ‾ = ∑ i = 1 n ( x i y i − y ‾ x i − x ‾ y i + x y ‾ ) = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) − − − ∑ i = 1 n x i 2 − n x ‾ 2 = ∑ i = 1 n x i 2 − 2 n x ‾ 2 + n x ‾ 2 = ∑ i = 1 n x i 2 − 2 x ‾ ∑ i = 1 n x i + ∑ i = 1 n x ‾ 2 = ∑ i = 1 n ( x i 2 − 2 x ‾ x i + x ‾ 2 ) = ∑ i = 1 n ( x i − x ‾ ) 2 \begin{cases} n^2\overline{xy} - n\overline{xy} \\ = n^2\overline{xy} - n\overline{xy} - n\overline{yx} + n\overline{xy} \\ = \sum_{i=1}^nx_iy_i - \overline{y}\sum_{i=1}^nx_i - \overline{x}\sum_{i=1}^ny_i + \sum_{i=1}^n\overline{xy} \\ = \sum_{i=1}^n(x_iy_i - \overline{y}x_i - \overline{x}y_i + \overline{xy}) \\ = \sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y}) \\ \\ --- \\ \\ \sum_{i=1}^nx_i^2 - n\overline{x}^2 \\ = \sum_{i=1}^nx_i^2 - 2n\overline{x}^2 + n\overline{x}^2 \\ = \sum_{i=1}^nx_i^2 - 2\overline{x}\sum_{i=1}^nx_i + \sum_{i=1}^n\overline{x}^2 \\ = \sum_{i=1}^n(x_i^2 - 2\overline{x}x_i + \overline{x}^2) \\ = \sum_{i=1}^n(x_i-\overline{x})^2 \end{cases} n2xynxy=n2xynxynyx+nxy=i=1nxiyiyi=1nxixi=1nyi+i=1nxy=i=1n(xiyiyxixyi+xy)=i=1n(xix)(yiy)i=1nxi2nx2=i=1nxi22nx2+nx2=i=1nxi22xi=1nxi+i=1nx2=i=1n(xi22xxi+x2)=i=1n(xix)2

再次强调一遍前面得出的结论:

拟合曲线: y = a + b x y = a + bx y=a+bx 的最小二乘解为:

{ b = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 n ( x i − x ‾ ) 2 a = y ‾ − x ‾ b \begin{cases} b = \frac{\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sum_{i=1}^n(x_i-\overline{x})^2} \\ a = \overline{y} - \overline{x}b \end{cases} {b=i=1n(xix)2i=1n(xix)(yiy)a=yxb

一般形式

有了上述推导证明,普通最小二乘法一般形式可以写成(字母盖小帽表示估计值,具体参考应用概率统计): y = β 1 x + β 0 y = \beta_1 x + \beta_0 y=β1x+β0,其最小二乘解为:
{ β 1 ^ = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 n ( x i − x ‾ ) 2 β 0 ^ = y ‾ − β 1 ^ x ‾ \begin{cases} \hat{\beta_1} = \frac{\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sum_{i=1}^n(x_i-\overline{x})^2} \\ \hat{\beta_0} = \overline{y} - \hat{\beta_1}\overline{x} \end{cases} {β1^=i=1n(xix)2i=1n(xix)(yiy)β0^=yβ1^x

多元线性回归(Multiple Linear Regression)

在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。

多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已。前面谈到的是一个因变量 y y y与一个自变量 x x x之间的一元线性相关关系, y = β 1 x + β 0 y = \beta_1 x + \beta_0 y=β1x+β0;多元回归回归研究的是变量 y y y 与可控变量 x 1 , x 2 , x 3 , . . . , x k x_1, x_2, x_3,..., x_k x1,x2,x3,...,xk 之间的线性关系, y = β 1 x 1 + β 2 x 2 + . . . + β k x k + β 0 y = \beta_1 x_1 + \beta_2 x_2 +...+ \beta_k x_k + \beta_0 y=β1x1+β2x2+...+βkxk+β0

n n n 组样本分别为 ( x i 1 , x i 2 , . . . , x i k , y i ) , ( i = 1 , 2 , . . , n ) (x_{i1}, x_{i2},..., x_{ik},y_i), (i=1,2,..,n) (xi1,xi2,...,xik,yi),(i=1,2,..,n),令:

Y = ( y 1 y 2 . . . y n ) , X = ( 1 x 11 x 12 . . . x 1 k 1 x 21 x 22 . . . x 2 k . . . . . . . . . . . . . . . 1 x n 1 x n 2 . . . x n k ) , β = ( β 0 β 1 . . . β k ) , ϵ = ( ϵ 0 ϵ 1 . . . ϵ k ) Y = \begin{pmatrix} y_1 \\ y_2 \\...\\ y_n \\ \end{pmatrix}, X = \begin{pmatrix} 1 & x_{11} & x_{12} & ... & x_{1k} \\ 1 & x_{21} & x_{22} & ... & x_{2k} \\ ...&...&...&...&... \\ 1 & x_{n1} & x_{n2} & ... & x_{nk} \end{pmatrix}, \beta = \begin{pmatrix} \beta_0 \\ \beta_1 \\ ... \\ \beta_k \\ \end{pmatrix}, \epsilon = \begin{pmatrix} \epsilon_0 \\ \epsilon_1 \\ ... \\ \epsilon_k \\ \end{pmatrix} Y= y1y2...yn ,X= 11...1x11x21...xn1x12x22...xn2............x1kx2k...xnk ,β= β0β1...βk ,ϵ= ϵ0ϵ1...ϵk

那么,多元线性回归方程矩阵形式为: Y = X β + ϵ Y=X\beta + \epsilon Y=+ϵ。其中 ϵ \epsilon ϵ 代表随机误差, 其中随机误差分为:可解释的误差 和 不可解释的误差,随机误差必须满足以下四个条件,多元线性方程才有意义(一元线性方程也一样)

  1. 服成正太分布,即指:随机误差 ϵ \epsilon ϵ必须是服成正太分布的随机变量;
  2. 无偏性假设,即指:期望值为0;
  3. 同共方差性假设,即所有的随机误差变量方差都相等;
  4. 独立性假设,即指:所有的随机误差变量都相互独立,可以用协方差解释。

与普通最小二乘法推到相似,可以得到 β \beta β的最小二乘估计为:

β ^ = ( X T X ) − 1 X T Y \hat{\beta} = (X^TX)^{-1}X^TY β^=(XTX)1XTY

多元线性回归的基本原理和基本计算过程与一元线性回归相同,但由于自变量个数多,计算相当麻烦,一般在实际中应用时都要借助统计软件。这里只介绍多元线性回归的一些基本问题。

  • T O D O \color{#FF3030}{TODO} TODO:证明可参考:《应用概率统计 张国权 著》第九章 回归分析

多项式回归模型与多变量线性回归模型

  • 单变量线性回归: y ( x ) = β 0 + β 1 ∗ x y(x)=\beta_0 + \beta_1 * x y(x)=β0+β1x
  • 多变量线性回归: y ( x ) = β 0 + β 1 ∗ x 1 + β 2 ∗ x 2 + . . . + β k ∗ x k y(x)=\beta_0 + \beta_1 * x_1 + \beta_2 * x_2 +...+ \beta_k * x_k y(x)=β0+β1x1+β2x2+...+βkxk
  • 多项式回归: y ( x ) = β 0 + β 1 ∗ x 1 1 + β 2 ∗ x 2 2 + . . . + β k ∗ x k k y(x)=\beta_0 + \beta_1 * x_1^1 + \beta_2 * x_2^2 +...+ \beta_k * x_k^k y(x)=β0+β1x11+β2x22+...+βkxkk

多项式回归始终还是线性回归,你可以令 x 2 = x 2 2 , x 3 = x 3 3 x_2 = x_2^2, x_3 = x_3^3 x2=x22,x3=x33,简单的数据处理一下就好了,这样上述多项式回归的模型就变成多变量线性回归的模型了。

reference

线性回归参考:

SPSS–回归-多元线性回归模型案例解析

普通最小二乘法的推导证明

最小二乘法详细推导过程

多元线性回归

线性回归 - 机器学习多元线性回归 - 一步一步详解 - Python代码实现

latex 书写参考:

有LaTeX的深厚底蕴,Markdown是果然最美的编辑语言!!

最小二乘法详细推导过程的md文件以及python源码下载(free):https://download.csdn.net/download/orDream/89397591

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/22000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python程序设计 身份证号的奥秘

第1关:判断性别 通过身份证的第17位也就是倒数第二位的数字可以辨别该身份证所属人的性别,奇数为男性,偶数为女性。 任务:输入身份证号,第17位若是偶数,输出男性,否则输出女性 如何截取字符串的一个字符 如何判断一个…

机器视觉检测--相机

一,相机就是CCD么? 通常,我们把相机都叫作CCD,CCD已经成了相机的代名词。其实很可能正在使用的是CMOS。CCD以及CMOS都称为感光元件,都是将光学图像转换为电子信号的半导体元件。他们在检测光时都采用光电二极管&#…

AI降痕:让AI代写的论文,也能成为原创佳作

随着人工智能技术的突飞猛进,AI生成内容(AIGC)已被广泛用于学术论文撰写中,提高效率同时也带来了原创性的挑战。面对日益严格的学术审查,一个突出的问题是:使用AI代写的论文能否通过内容检测?因…

【Postman接口测试】第四节.Postman接口测试项目实战(中)

文章目录 前言五、Postman断言 5.1 Postman断言介绍 5.2 响应状态码断言 5.3 包含指定字符串断言 5.4 JSON数据断言六、参数化 5.1 Postman参数化介绍 5.2 Postman参数化实现 5.3 针对项目登录接口参数化实现 总结 前言 五、Postman断言 5.1 Postman断言介…

【STM32之FreeRTOS(二)】任务的创建与删除

【STM32之FreeRTOS(二)】任务的创建与删除 文章目录 【STM32之FreeRTOS(二)】任务的创建与删除一、什么是任务?二、任务创建与删除相关函数1.任务创建与删除相关函数2.任务动态创建与静态创建的区别3.xTaskCreate 函数原型4.vTaskDelete 函数原型 三、实操(同时控制…

面试题:谈谈你对 JS 原型链的理解

面试题:谈谈你对 JS 原型链的理解 JavaScript 是一种基于原型的语言,即每个对象都拥有一个原型对象,对象通过其原型对象继承方法和属性。原型对象也有其原型对象,依次类推,就构成了原型链。当对象访问一个属性或方法后…

BioTech - 计算大量 蛋白质结构预测结果 的聚类中心(Cluster)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/139419653 CASP16 的 H0215 样本,聚类之后,10个类别的最高置信度结果。 Agglomerative Clustering,即凝聚层次聚类,属于层次聚类算法,通过逐步合并或聚集数据点,…

Qt-demo高级感无边框窗口、美化基础控件

展示: 代码实现: // 鼠标按下事件(记录拉伸窗口或移动窗口时的起始坐标(左上角)) void framelessWidget::mousePressEvent(QMouseEvent *event) {if(event->button() Qt::LeftButton){mousePressed true; #if (QT_VERSION &…

傅立叶变换矩阵的频谱响应

傅立叶变换矩阵的频谱响应 线性变换可以用矩阵表示,傅立叶变换是一种线性变换,因此也可以使用矩阵表示。具体可以参考:离散傅立叶变换和线性变换的关系:什么是线性空间? 1、傅立叶矩阵 X [ k ] ∑ n 0 N − 1 x [ …

GPT-4:人工智能领域的新里程碑

近期,OpenAI推出了备受瞩目的GPT-4。作为GPT系列的最新成员,GPT-4在自然语言处理(NLP)领域再次刷新了记录,引发了广泛的关注和讨论。在试用GPT-4之后,我深感其在技术能力、应用场景等方面都取得了显著的进步…

【EI会议/稳定检索】2024年电机与电气控制国际会议(ICMEC 2024)

2024 International Conference on Motor and Electrical Control 2024年电机与电气控制国际会议 【会议信息】 会议简称:ICMEC 2024 截稿时间:(以官网为准) 大会地点:中国厦门 会议官网:www.meciac.com 会议邮箱&…

每日十题---三

1. Vue中$nextTick原理 1. 简单的理解就是它就是一个setTimeout函数,将函数放到异步后去处理。 2. Vue 在更新 DOM 时是异步执行的。只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据变更。如果同一个 watcher 被…

力扣53. 最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,4] 输出:…

海外仓代发系统选择标准:功能稳定和性价比高一个都不能少

对海外仓来说,一件代发基本都是比较核心的业务。不过这个核心业务现在的竞争确实也比较大,对海外仓企业而言,想在一件代发上做到让客户满意,还是需要多方面努力的。 一方面,需要自己的仓库管理模式足够标准化&#xf…

高校实验室危险化学品及重大危险源安全管理系统

高校实验室危险化学品及重大危险源安全管理的重要性: 保障师生安全:通过严格管理,可以有效地降低这些风险,确保师生在实验室内的安全。 确保实验教学质量:良好的危化品管理能够确保实验材料的准确性和可靠性&#xff0…

Qt富文本查找

1.在mainwindow.h 添加声明 class QLineEdit; class QDialog;void textFind(); //查找文本void textNext(); //查找下一个 2.在cpp里面进行添加、布局、定义 添加查找和布局窗口 //查找QAction *action_textfind = new QAction("查找",this);connect(action…

SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(一)

功能需求 在 SwiftUI 的开发中,我们往往需要借助底层 UIKit 的“上帝之手”来进一步实现额外的定制功能。比如,在可拖放(Dragable)SwiftUI 的实现中,会缺失一些关键的回调方法让我们这些秃头码农们“欲哭无泪” 如上图所示,我们在拖放取消时将界面中的一切改变都恢复如初…

2024永久免费版CorelDRAW安装包下载附CDR2024激活码序列号

CorelDRAW2024作为一款备受关注的图形设计软件,其最新版本集成了一系列创新工具和功能,旨在提升设计师和艺术家的工作效率与创作自由度。这一版本在用户界面设计、矢量图绘制、色彩管理和文件支持等方面都进行了更新,吸引了广泛的关注。本文将…

Java 泛型详解:全面掌握类型安全与灵活性的利器

Java 泛型详解:全面掌握类型安全与灵活性的利器 Java 泛型是自 Java 5 引入的一项关键特性,旨在提升代码的类型安全性和可复用性。泛型通过引入参数化类型,允许类、接口和方法操作具体类型的数据,而无需在定义时指定具体类型。本…

rtsp python实现

1. rtsp rtp rtcp https://hope-wisdom.blog.csdn.net/article/details/138259027 2.rtsp加速 https://mp.weixin.qq.com/s/0C1b-8pFw0HaE1xpNbrxxw 3. 实现了一部分获取数据 import socket import base64 import threading import struct# 定义 RTSP 请求 def send_rtsp_…