主要内容

使用分位数回归检测异常值

这个例子展示了如何使用分位数检测异常值随机森林。分位数随机森林可以检测异常值的条件分布 Y 鉴于 X 。然而,这种方法不能检测异常值的预测数据。预测数据中的异常值检测使用决策树的一个袋子,看到OutlierMeasure财产的TreeBagger模型。

一个离群值是一个观察,位于足够远从其他观测数据集,可以认为是异常。外围观察的原因包括内在可变性或测量误差。离群值显著影响估计和推断,所以它是重要的检测并决定是否删除它们或者考虑一个健壮的分析。

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

  • zscore——计算z分数的观察。

  • trimmean——估计均值数据,剔除离群值。

  • 箱线图——画箱线图的数据。

  • probplot——画出概率图。

  • robustcov——估计稳健多元数据的协方差。

  • fitcsvm-适合看到下面成了一个支持向量机(S金宝appVM),以确定哪些观测位于远离边界的决定。

  • dbscan——观察分割成集群和识别异常值使用density-based空间聚类的应用程序与噪声(DBSCAN)算法。

同时,MATLAB®提供了isoutlier函数,发现数据中的异常值。

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

  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(1 0 4 *πe6), n, true) ';ε= randn (n, 1)。* sqrt ((t + 0.01));y = 10 + 3 * t + t。*罪(2 * t) +ε;台=表(t, y);

5观察随机垂直方向移动90%价值的响应。

numOut = 5;[~,idx] = datasample(资源描述,numOut);Tbl.y (idx) = Tbl.y (idx) + randsample ([1], numOut,真)”。* (0.9 * Tbl.y (idx));

画一个散点图的数据和识别异常值。

图;情节(Tbl.t Tbl.y,“。”);持有情节(Tbl.t (idx) Tbl.y (idx),‘*’);轴;ylabel (“y”);包含(“t”);标题(数据的散点图);传奇(“数据”,“模拟异常值”,“位置”,“西北”);

图包含一个坐标轴对象。标题散点图的坐标轴对象数据包含2线类型的对象。这些对象表示数据,模拟的离群值。

成长分位数随机森林

一袋200回归树使用生长TreeBagger

Mdl = TreeBagger(200台,“y”,“方法”,“回归”);

Mdl是一个TreeBagger合奏。

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

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

τ= (0.25 0.5 0.75);predT = linspace(0, 4 *π,50)';四分位数= quantilePredict (Mdl predT,分位数的,τ);

四分位数500 -,- 3矩阵的条件四分位数。行对应的观测t,列对应的概率τ

在数据的散点图,画出条件均值和中位数的反应。

小气鬼=预测(Mdl predT);情节(predT(四分位数(:,2)小气鬼),“线宽”2);传奇(“数据”,“模拟异常值”,“平均响应”,“平均响应”,“位置”,“西北”);持有;

图包含一个坐标轴对象。标题散点图的坐标轴对象数据包含4线类型的对象。这些对象表示数据,模拟异常值、中值的反应,平均响应。

虽然条件均值和中位数曲线接近,模拟异常值会影响均值曲线。

计算条件 R , F 1 , F 2

差=四分位数(:3)-四分位数(:1);k = 1.5;f1 =四分位数(:1)- k *差;f2 =四分位数(:,3)+ k *差;

k = 1.5意味着所有观测不到f1或大于f2被认为是异常值,但这个阈值并不消除歧义从极端的异常值。一个k3确定极端异常值。

比较观察和栅栏

观察和栅栏的阴谋。

图;情节(Tbl.t Tbl.y,“。”);持有情节(Tbl.t (idx) Tbl.y (idx),‘*’);情节(predT, f1 f2);传奇(“数据”,“模拟异常值”,“f”,“₂”,“位置”,“西北”);轴标题(孤立点检测利用分位数回归的)举行

图包含一个坐标轴对象。坐标轴对象使用分位数回归与标题异常值检测包含4线类型的对象。这些对象表示数据,模拟异常值f₁,₂。

所有模拟异常值超出 ( F 1 , F 2 ] 这个区间以外,一些观察。

另请参阅

功能

相关的话题