最小二乘法及其扩展

       最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。

利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。

       最小二乘法还可用于曲线拟合

其他一些优化问题也可通过最小化能量或最大化用最小二乘法来表达.


最小二乘法
根据两个变量的实验数据找出它们之间的近似函数表达式f(x),即经验公式。
例如:y=ax+b,已知一组x的数据和相对应的一组y的数据;
公式1,根据令偏差的平方和M的最小值来求解a、b的值,即为最小二乘法。
求解过程:令公式2、公式3,即可求出a、b的值,
然后求出均方误差公式4,其大小一定程度上反映用经验公式来近似表示原来的函数关系的近似程度的好坏。
 
若f(x)为线性函数,则相应问题为线性最小二乘问题,否则称为非线性最小二乘问题。
线性最小二乘问题可以借助多元微分学知识通过求解方程组得到。
非线性最小二乘问题求解比较困难,一般要借用线性化方法(例如将化学反应的速度用指数函数来表示)或最优方法(搜索算法和迭代算法)才行。
 
详细参考——
认识最小二乘法——对“用最小二乘法探求回归直线方程”的教学反思
http://www.pep.com.cn/gzsx/jszx_1/jxyj/hxgn/5ckth_1/201008/t20100826_764407.htm


移动最小二乘法——Moving Least Squares
    在离散的点云中,求曲线曲面拟合,不能简单地连接这些点,如果知道曲线曲面的形式,如为二次曲线等,可以简单地使用最小二乘法估计参数;但如果曲线曲面形式未知,可以使用移动最小二乘法或者主曲线方法
 
Lancaster 和Salkauskas 最先在曲面生成中使用了MLS,后来Belytschko 将其应用于无网格方法(有限元)中。
移动最小二乘法与传统的最小二乘法相比,有两个比较大的改进:
(1)拟合函数的建立不同。这种方法建立拟合函数不是采用传统的多项式或其它函数,而是由一个系数向量a(x)和基函数p(x)构成,这里a(x)不是常数,而是坐标x 的函数。
(2)引入紧支(Compact Support)概念,认为点x 处的值y 只受x 附近子域内节点影响,这个子域称作点x 的影响区域,影响区域外的节点对x的取值没有影响。在影响区域上定义一个权函数w(x),如果权函数在整个区域取为常数,就得到传统的最小二乘法。
这些改进能够带来许多优点,减缓或解决传统曲线曲面拟合过程中存在的困难。可以取不同阶的基函数以获得不同的精度,取不同的权函数以改变拟合曲线(曲面)的光滑度,这是其它拟合方法无法做到的。

逼近:采样点不一定在拟合出来的直线上。
插值:采样点都在拟合的直线上。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最小二乘法是一种常用的回归分析方法,用于拟合数据并找到最佳的线性函数匹配。通过最小化误差的平方和来确定函数的参数。根据引用\[1\]中的代码实现,可以使用以下函数来实现最小二乘法算法: ```python def LeastSquareMethod(X, Y): """ 最小二乘法 :param X: 未进行扩展的X矩阵 :param Y: X矩阵相对应的结果集矩阵 :return X_b: 进行扩展处理后的X矩阵 :return omega: 使用最小二乘法求得的w """ # 对X矩阵进行扩展 X_b = np.c_\[np.ones((len(X), 1)), X\] omega = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(Y) return X_b, omega ``` 这个函数接受未进行扩展的X矩阵和相应的结果集Y矩阵作为输入,并返回进行扩展处理后的X矩阵和使用最小二乘法求得的参数ω。可以使用该函数来拟合数据并得到最佳的线性函数匹配。引用\[2\]中的代码示例展示了如何使用最小二乘法来拟合数据并绘制结果图。 另外,引用\[3\]提到了偏最小二乘法,它是一种新型的多元统计数据分析方法,用于回归建模、数据结构简化和相关性分析。但是在这个问题中,我们只关注最小二乘法的算法和代码实现。 #### 引用[.reference_title] - *1* *2* [最小二乘法及其代码实现](https://blog.csdn.net/c2861024198/article/details/105886631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【预测模型】基于最小二乘法算法实现股票预测matlab代码](https://blog.csdn.net/qq_59747472/article/details/121047760)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值