matlab使用分位数随机森林(QRF)回归树检测异常值

简介: matlab使用分位数随机森林(QRF)回归树检测异常值

这个例子展示了如何使用分位数随机林来检测异常值。分位数随机林可以检测到与给定X的Y的条件分布有关的异常值。

离群值是一些观测值,它的位置离数据集中的大多数其他观测值足够远,可以认为是异常的。离群观测的原因包括固有的变异性或测量误差。异常值显著影响估计和推断,因此检测它们决定是删除还是稳健分析非常重要。

为了演示异常值检测,此示例:

从具有异方差性的非线性模型生成数据,并模拟一些异常值。

生长回归树的分位数随机森林。

估计预测变量范围内的条件四分位(Q1、Q2和Q3)和_四分位_距(IQR)。

将观测值与边界进行比较,边界为F1=Q1−1.5IQR和F2=Q3+1.5IQR。任何小于F1或大于F2的观测值都是异常值。

生成数据

从模型中生成500个观测值

在0 ~ 4π之间均匀分布,εt约为N(0,t+0.01)。将数据存储在表中。

rng('default'); % 为保证重复性
randsample(linspace(0,4*pi,1e6),n,true)';
epsilon = randn(n,1).*sqrt((t+0.01));


将五个观测值沿随机垂直方向移动90%的值。

numOut = 5;
Tbl.y(idx) + randsample([-1 1],numOut,true)'.*(0.9*Tbl.y(idx));


绘制数据的散点图并识别异常值。

plot(Tbl.t,Tbl.y,'.');
plot(Tbl.t(idx),Tbl.y(idx),'*');
title('数据散点图');
legend('数据','模拟异常值','Location','NorthWest');


生成分位数随机森林

生成200棵回归树。

Tree(200,'y','regression');


返回是一个TreeBagger集合。

预测条件四分位数和四分位数区间

使用分位数回归,估计t范围内50个等距值的条件四分位数。

linspace(0,4*pi,50)';
quantile(pred,'Quantile');


`quartile是一个500 × 3的条件四分位数矩阵。行对应于t中的观测值,列对应于概率。

在数据的散点图上,绘制条件均值和中值因变量。`

plot(pred,[quartiles(:,2) meanY]);
legend('数据','模拟的离群值','中位数因变量','平均因变量',...


虽然条件均值和中位数曲线很接近,但模拟的离群值会影响均值曲线。

计算条件IQR、F1和F2。

iqr = quartiles(:,3) - quartiles(:,1);
f1 = quartiles(:,1) - k*iqr;


k=1.5意味着所有小于f1或大于f2的观测值都被认为是离群值,但这一阈值并不能与极端离群值相区分。k为3时,可确定极端离群值。

将观测结果与边界进行比较

绘制观察图和边界。

plot(Tbl.t,Tbl.y,'.');
legend('数据','模拟的离群值','F_1','F_2');
title('使用分位数回归的离群值检测')


所有模拟的异常值都在[F1,F2]之外,一些观测值也在这个区间之外。


相关文章
|
3月前
|
传感器 机器学习/深度学习 数据采集
【数据驱动】【航空航天结构的高效损伤检测技术】一种数据驱动的结构健康监测(SHM)方法,用于进行原位评估结构健康状态,即损伤位置和程度,在其中利用了选定位置的引导式兰姆波响应(Matlab代码实现)
【数据驱动】【航空航天结构的高效损伤检测技术】一种数据驱动的结构健康监测(SHM)方法,用于进行原位评估结构健康状态,即损伤位置和程度,在其中利用了选定位置的引导式兰姆波响应(Matlab代码实现)
|
3月前
|
机器学习/深度学习 编解码 算法
【GUI】通过Hough变换在SEM显微图像上检测滑移线研究(Matlab代码实现)
【GUI】通过Hough变换在SEM显微图像上检测滑移线研究(Matlab代码实现)
144 0
|
2月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
3月前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
167 2
|
3月前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
221 5
|
3月前
|
传感器 机器学习/深度学习 编解码
使用显著性检测的可见光和红外图像的两尺度图像融合(Matlab代码实现)
使用显著性检测的可见光和红外图像的两尺度图像融合(Matlab代码实现)
133 3
|
3月前
|
传感器 机器学习/深度学习 算法
【无人机编队】基于麻雀算法分布式无人机群自适应航迹规划和碰撞检测研究(Matlab代码实现)
【无人机编队】基于麻雀算法分布式无人机群自适应航迹规划和碰撞检测研究(Matlab代码实现)
|
4月前
|
机器学习/深度学习 传感器 算法
【继电器】基于泰勒级数展开的样本估计和误差计算方法提高继电器的功率摆幅检测性能研究(Matlab代码实现)
【继电器】基于泰勒级数展开的样本估计和误差计算方法提高继电器的功率摆幅检测性能研究(Matlab代码实现)
106 0
|
4月前
|
机器学习/深度学习 编解码 算法
【图像处理】小波编码图像中伪影和纹理的检测(Matlab代码实现)
【图像处理】小波编码图像中伪影和纹理的检测(Matlab代码实现)
|
10月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
本研究基于MATLAB 2022a,使用GRU网络对QAM调制信号进行检测。QAM是一种高效调制技术,广泛应用于现代通信系统。传统方法在复杂环境下性能下降,而GRU通过门控机制有效提取时间序列特征,实现16QAM、32QAM、64QAM、128QAM的准确检测。仿真结果显示,GRU在低SNR下表现优异,且训练速度快,参数少。核心程序包括模型预测、误检率和漏检率计算,并绘制准确率图。
281 65
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM

热门文章

最新文章