关于数据挖掘:matlab使用分位数随机森林QRF回归树检测异常值附代码数据

50次阅读

共计 3070 个字符,预计需要花费 8 分钟才能阅读完成。

全文链接:http://tecdat.cn/?p=22160 

最近咱们被客户要求撰写对于分位数随机森林(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');


点击题目查阅往期内容

[](http://mp.weixin.qq.com/s?__biz=MzU4NTA1MDk4MA==\&mid=2247497785\&idx=1\&sn=59b0cb4c46b89db252f3dd634e773670\&chksm=fd92c632cae54f2424ed89f878cd2e7f83dd7eb7be83fa70edac64d2196ec21350139caac48f\&scene=21#wechat_redirect)R 语言用 LOESS(部分加权回归)节令趋势合成(STL)进行工夫序列异样检测

左右滑动查看更多

01

02

03

04

生成分位数随机森林

生成 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] 之外,一些观测值也在这个区间之外。


本文摘选 matlab 应用分位数随机森林(QRF)回归树检测异样值 ,点击“ 浏览原文”获取全文残缺材料。


点击题目查阅往期内容

逻辑回归、随机森林、SVM 反对向量机预测心脏病危险数据和模型诊断可视化 | 数据分享 \
贝叶斯分位数回归、lasso 和自适应 lasso 贝叶斯分位数回归剖析免疫球蛋白、前列腺癌数据 \
用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化 \
PYTHON 用户散失数据挖掘:建设逻辑回归、XGBOOST、随机森林、决策树、反对向量机、奢侈贝叶斯和 KMEANS 聚类用户画像 \
PYTHON 集成机器学习:用 ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜寻超参数优化 \
R 语言集成模型:晋升树 boosting、随机森林、束缚最小二乘法加权均匀模型交融剖析工夫序列数据 \
Python 对商店数据进行 lstm 和 xgboost 销售量工夫序列建模预测剖析 \
R 语言用主成分 PCA、逻辑回归、决策树、随机森林剖析心脏病数据并高维可视化 \
R 语言基于树的办法:决策树,随机森林,Bagging,加强树 \
R 语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测 \
spss modeler 用决策树神经网络预测 ST 的股票 \
R 语言中应用线性模型、回归决策树主动组合特色因子程度 \
R 语言中自编基尼系数的 CART 回归决策树的实现 \
R 语言用 rle,svm 和 rpart 决策树进行工夫序列预测 \
python 在 Scikit-learn 中用决策树和随机森林预测 NBA 获胜者 \
python 中应用 scikit-learn 和 pandas 决策树进行 iris 鸢尾花数据分类建模和穿插验证 \
R 语言里的非线性模型:多项式回归、部分样条、平滑样条、狭义相加模型 GAM 剖析 \
R 语言用规范最小二乘 OLS,狭义相加模型 GAM,样条函数进行逻辑回归 LOGISTIC 分类 \
R 语言 ISLR 工资数据进行多项式回归和样条回归剖析 \
R 语言中的多项式回归、部分回归、核平滑和平滑样条回归模型 \
R 语言用泊松 Poisson 回归、GAM 样条曲线模型预测骑自行车者的数量 \
R 语言分位数回归、GAM 样条曲线、指数平滑和 SARIMA 对电力负荷工夫序列预测 R 语言样条曲线、决策树、Adaboost、梯度晋升 (GBM) 算法进行回归、分类和动静可视化 \
如何用 R 语言在机器学习中建设集成模型?\
R 语言 ARMA-EGARCH 模型、集成预测算法对 SPX 理论稳定率进行预测在 python 深度学习 Keras 中计算神经网络集成模型 R 语言 ARIMA 集成模型预测工夫序列剖析 R 语言基于 Bagging 分类的逻辑回归 (Logistic Regression)、决策树、森林剖析心脏病患者 \
R 语言基于树的办法:决策树,随机森林,Bagging,加强树 \
R 语言基于 Bootstrap 的线性回归预测置信区间预计办法 \
R 语言应用 bootstrap 和增量法计算狭义线性模型(GLM)预测置信区间 \
R 语言样条曲线、决策树、Adaboost、梯度晋升(GBM) 算法进行回归、分类和动静可视化 \
Python 对商店数据进行 lstm 和 xgboost 销售量工夫序列建模预测剖析 \
R 语言随机森林 RandomForest、逻辑回归 Logisitc 预测心脏病数据和可视化剖析 \
R 语言用主成分 PCA、逻辑回归、决策树、随机森林剖析心脏病数据并高维可视化 \
Matlab 建设 SVM,KNN 和奢侈贝叶斯模型分类绘制 ROC 曲线 \
matlab 应用分位数随机森林(QRF)回归树检测异样值

正文完
 0