【MATLAB】抗差估计算法

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 【MATLAB】抗差估计算法


两天没更,除了吃吃喝喝,那就是复现了一下这篇文章的创新点,本身是传统工科-测绘学科,自然也是对高等测量平差等数据处理理论比较感兴趣,阅读文献过程中,恰好看到了这样一篇文章,于是就花了两天时间尽力复现了一下。

1 文章简介

文章 DOI: 10.1016/j. Asr.2022.10.014

链接: https://www.sciencedirect.com/science/article/abs/pii/S0273117722009358?via%3Dihub

该篇文章讲的是一种遥感反演雪深的新方法,在对每日诸多雪深反演值进行取值的过程中,应用了抗差估计的新算法获取抗差估计值,同时抗差估计值与中值以及平均值等方法进行对比。虽然相关作者没有开源抗差估计算法的代码,但是其理论讲解的很清晰完善,完全可以做到复现。

2、什么是抗差估计算法呢?

抗差估计算法(Robust Estimation)是在存在数据异常值的情况下,通过一定的统计方法来估计数据的真实值的方法。常见的抗差估计算法包括:最小二乘估计、中位数估计、M估计、LMS估计等。 最小二乘估计是一种常见的线性回归方法,它通过最小化数据的残差平方和来估计数据的真实值,但是在存在数据异常值的情况下,最小二乘估计容易受到影响。 中位数估计是一种基于数据的中位数来估计数据的真实值的方法,它对数据异常值的影响相对较小,但是在数据分布不均匀的情况下,中位数估计也容易受到影响。 M估计是一种基于极大似然估计的方法,通过对数据的似然函数进行最大化来估计数据的真实值,可以较好地抵抗数据异常值的影响。 LMS估计是一种基于最小绝对误差的方法,通过最小化数据的绝对误差来估计数据的真实值,对于存在数据异常值的情况下,LMS估计也可以得到较为准确的结果。 总的来说,抗差估计算法可以有效地提高数据的鲁棒性,提高数据分析的准确性和可靠性。

3、其应用的学科领域有哪些呢?

通常情况下,各个学科都是适用的。比如 10 个测量值,要求平均值,中值作对比的话,那也可以求抗差估计值用于对比。

应用途径:一组测雪深的20个测量值,用中值、平均值和抗差估计值三种方法对比不同方法的精度。抗差估计算法需要预先输入初始值,初始值为中值或者平均值(目前只有这两种选项哦)进行抗差估计算法研究的。

4、复现效果

原作者用的雪深值,那这里代码我也自己制作了几个雪深值用于数据处理和分析。主要是用抗差 M 估计进行复现的。

假设一组测雪深的数据 snow 为:

14.6 cm、16.8 cm、9.4 cm、9.5 cm、9.8 cm

10.7 cm、10.9 cm、9.4 cm、9.9 cm、10.8 cm

10.9 cm、10.2 cm、10.4 cm、10.5 cm、9.5 cm

10.3 cm、10.1 cm、9.6 cm、9.2 cm、10.6 cm

通过下方命令行输出内容可以发现:

初始值为中值和平均值的抗差估计算法求得的值为 10.0649 和 10.0649

该组雪深数据的中值为 10.25

该组雪深数据的平均值为 10.655

注:抗差估计值的目的是为了抵抗粗差的存在,当原始序列数据中存在偏差较大的数据的时候,他的应用效果会偏好。

5 附视频教程

https://www.bilibili.com/video/BV1V24y1E7zt/

6 代码获取

MATLAB 抗差估计算法的开源代码请转:

https://mbd.pub/o/bread/ZJaZmpxp

目录
相关文章
|
5天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
8天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
|
4天前
|
算法
基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真
本项目基于梯度流的扩散映射卡尔曼滤波算法(GFDMKF),用于信号预处理的MATLAB仿真。通过设置不同噪声大小,测试滤波效果。核心代码实现数据加载、含噪信号生成、扩散映射构建及DMK滤波器应用,并展示含噪与无噪信号及滤波结果的对比图。GFDMKF结合非线性流形学习与经典卡尔曼滤波,提高对非线性高维信号的滤波和跟踪性能。 **主要步骤:** 1. 加载数据并生成含噪测量值。 2. 使用扩散映射捕捉低维流形结构。 3. 应用DMK滤波器进行状态估计。 4. 绘制不同SNR下的轨迹示例。
|
9天前
|
机器学习/深度学习 算法 索引
单目标问题的烟花优化算法求解matlab仿真,对比PSO和GA
本项目使用FW烟花优化算法求解单目标问题,并在MATLAB2022A中实现仿真,对比PSO和GA的性能。核心代码展示了适应度计算、火花生成及位置约束等关键步骤。最终通过收敛曲线对比三种算法的优化效果。烟花优化算法模拟烟花爆炸过程,探索搜索空间,寻找全局最优解,适用于复杂非线性问题。PSO和GA则分别适合快速收敛和大解空间的问题。参数调整和算法特性分析显示了各自的优势与局限。
|
3天前
|
算法 5G
基于MSWA相继加权平均的交通流量分配算法matlab仿真
本项目基于MSWA(Modified Successive Weighted Averaging)相继加权平均算法,对包含6个节点、11个路段和9个OD对的交通网络进行流量分配仿真。通过MATLAB2022A实现,核心代码展示了迭代过程及路径收敛曲线。MSWA算法在经典的SUE模型基础上改进,引入动态权重策略,提高分配结果的稳定性和收敛效率。该项目旨在预测和分析城市路网中的交通流量分布,达到用户均衡状态,确保没有出行者能通过改变路径减少个人旅行成本。仿真结果显示了27条无折返有效路径的流量分配情况。
|
2天前
|
传感器 算法
基于GA遗传优化的WSN网络最优节点部署算法matlab仿真
本项目基于遗传算法(GA)优化无线传感器网络(WSN)的节点部署,旨在通过最少的节点数量实现最大覆盖。使用MATLAB2022A进行仿真,展示了不同初始节点数量(15、25、40)下的优化结果。核心程序实现了最佳解获取、节点部署绘制及适应度变化曲线展示。遗传算法通过初始化、选择、交叉和变异步骤,逐步优化节点位置配置,最终达到最优覆盖率。
|
2天前
|
算法
基于RRT优化算法的机械臂路径规划和避障matlab仿真
本课题基于RRT优化算法实现机械臂路径规划与避障。通过MATLAB2022a进行仿真,先利用RRT算法计算避障路径,再将路径平滑处理,并转换为机械臂的关节角度序列,确保机械臂在复杂环境中无碰撞移动。系统原理包括随机生成树结构探索空间、直线扩展与障碍物检测等步骤,最终实现高效路径规划。
|
5月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
247 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
5月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
146 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
5月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
115 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码