主要内容

使用量级回归检测异常值

此示例显示了如何检测使用Smastile随机林的异常值。分位式随机森林可以检测关于条件分布的异常值 y 给予 X 。但是,此方法无法检测到预测器数据中的异常值。对于使用一袋决策树的预测器数据中的异常检测,请参阅概要A的财产treebagger模型。

一个异常值是一种观察到,其远离数据集中的大多数其他观察,并且可以被认为是异常的。外围观测的原因包括固有的变异性或测量误差。异常值重大影响估计和推理,因此重要的是要检测它们并决定是否删除它们或考虑稳健的分析。

统计和机器学习工具箱™提供了多种函数来检测异常值,包括:

  • ZScore.- 计算Z.分数观察。

  • 剪裁- 估计数据的均值,不包括异常值。

  • 箱形图- 绘制数据的框绘图。

  • probplot.- 绘制概率图。

  • 罗布斯科夫- 估计多变量数据的强大协方差。

  • fitcsvm.- 适合单级支持向量机(SVM)以确万博1manbetx定哪些观察远离决策边界。

  • DBSCAN.- 将分区观察到群集,并使用具有噪声(DBSCAN)算法的应用的密度基空间聚类来识别异常值。

此外,Matlab®提供了isoullier.功能,找到数据中的异常值。

为了展示异常检测,这个例子:

  1. 从具有异源性的非线性模型生成数据,并模拟几个异常值。

  2. 生长一个分量的回归树木森林。

  3. 估计有条件的四分位数( 问: 1 问: 2 , 和 问: 3. )和四分位数范围( 一世 问: R. )在预测器变量的范围内。

  4. 比较了对的观察栅栏,这是数量 F 1 = 问: 1 - 1 5. 一世 问: R. F 2 = 问: 3. + 1 5. 一世 问: R. 。任何少于的观察 F 1 或者大于 F 2 是一个异常值。

生成数据

从模型生成500个观察

y T. = 1 0. + 3. T. + T. 2 T. + ε. T.

T. 均匀分布在0和 4. π , 和 ε. T. N 0. T. + 0. 0. 1 。将数据存储在表中。

n = 500;RNG('默认');重复性的%t = randsample(Linspace(0,4 * pi,1e6),n,true)';epsilon = randn(n,1)。* sqrt((t + 0.01));y = 10 + 3 * t + t。* sin(2 * t)+ epsilon;tbl =表(t,y);

在随机垂直方向上移动五个观察,响应的值为90%。

numout = 5;[〜,IDX] = DataSample(TBL,NUMOUT);tbl.y(idx)= tbl.y(idx)+ randsample([ -  1 1],numout,true)'。*(0.9 * tbl.y(idx));

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

数字;绘图(tbl.t,tbl.y,'。');抓住绘图(tbl.t(idx),tbl.y(idx),'*');轴紧的;ylabel('是');Xlabel('T');标题('散打数据');传奇('数据''模拟异常值''地点''西北');

图包含轴。具有标题散点图的轴数据包含2个类型的线。这些对象代表数据,模拟异常值。

生长量子随机森林

使用一袋200个回归树treebagger

mdl = treebagger(200,Tbl,'是''方法''回归');

MDL.是A.treebagger合奏。

预测有条件的四分位数和四分位数范围

使用量化回归,估计在范围内的50个等间隔值的条件四分位数T.

tau = [0.25 0.5 0.75];predt = linspace(0,4 * pi,50)';quartiles = smileilepredict(mdl,predt,'standile',tau);

四分位数是一个500×3条件四分位数的矩阵。行对应于观察结果T.,列对应于概率TAU

在数据的散点图上,绘制条件均值和中位反应。

意思=预测(MDL,Predt);图(predt,[四分位数(:,2)是表示的,'行宽',2);传奇('数据''模拟异常值''中位回归''意思是回应'......'地点''西北');抓住离开;

图包含轴。带有标题散点图的轴数据包含4个类型的类型。这些对象代表数据,模拟异常值,中位数响应,平均响应。

虽然有条件的均值和中值曲线接近,但模拟的异常值可能会影响平均曲线。

计算条件 一世 问: R. F 1 , 和 F 2

IQR =四分位数(:,3) - 四分位数(:,1);k = 1.5;f1 =四分位数(:,1) -  k * iqr;F2 =四分位数(:,3)+ k * IQR;

k = 1.5意味着所有观察结果都不到F1或者大于F2被认为是异常值,但此阈值并不会歧视极端异常值。一种K.3.识别极端异常值。

比较围栏的观察

绘制观察和围栏。

数字;绘图(tbl.t,tbl.y,'。');抓住绘图(tbl.t(idx),tbl.y(idx),'*');图(predt,[F1 F2]);传奇('数据''模拟异常值''f_1''f_2''地点''西北');轴紧的标题(“使用量级回归的异常检测”) 抓住离开

图包含轴。使用量级回归具有标题异常检测的轴包含4个类型的线路。这些对象代表数据,模拟异常值,F_1,F_2。

所有模拟的异常值都落在外面 [ F 1 F 2 ] ,一些观察结果也在这个间隔之外。

也可以看看

班级

职能

相关话题