主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

分位点回帰の使用による外れ値の検出

この例では、分位点ランダム フォレストを使用して外れ値を検出する方法を示します。分位点ランダム フォレストは、与えられた X に対する Y の条件付き分布に関して外れ値を検出できます。しかし、この方法では予測子データの外れ値を検出できません。決定木の 一袋树を使用した予測子の外れ値検出については、树人モデルのOutlierMeasureプロパティを参照してください。

"外れ値"は、データセット内の他の観測値のほとんどから十分に離れた位置にある観測値なので、異常であると考えられます。異常値の原因には固有変動性や測定ミスなどがあります。外れ値は推定と推論に大きい影響を与えるので、外れ値を検出して、除外するかロバスト分析を検討するかを決定することが重要です。

统计和机器学习工具箱™ には、外れ値を検出するための関数がいくつか用意されています。

  • zscore— 観測値のZスコアを計算します。

  • 截尾均值— 外れ値を除外してデータの平均を推定します。

  • 箱线图——データの箱ひげ図を作成します。

  • probplot— 確率プロットを作成します。

  • 罗布斯特科夫— 多変量データのロバスト共分散を推定します。

  • fitcsvm— 1 クラスのサポート ベクター マシン (支持向量机)をあてはめて、判定境界から離れた位置にある観測値を確定します。

  • dbscan— 観測値をクラスターに分割し、基于密度的噪声应用空间聚类(DBSCAN)アルゴリズムを使用して外れ値を特定します。

また、MATLAB®にはデータ内の外れ値を見つける関数同等も用意されています。

外れ値の検出を示すため、この例では以下を行います。

  1. 不均一分散の非線形モデルからデータを生成し、いくつかの外れ値をシミュレートします。

  2. 回帰木の分位点ランダム フォレストを成長させます。

  3. 予測子変数の範囲内で条件付き四分位数 ( Q 1. Q 2. および Q 3. ) と四分位数間範囲 ( Q R ) を推定します。

  4. 観測値と"フェンス" (数量 F 1. = Q 1. - 1. . 5. Q R および F 2. = Q 3. + 1. . 5. Q 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=table(t,y);

5.つの観測値をランダムな垂直方向に、応答値の 90% だけ移動します。

numOut=5;[~,idx]=datasample(Tbl,numOut);Tbl.y(idx)=Tbl.y(idx)+randsample([-11],numOut,true)”.*(0.9*Tbl.y(idx));

データの散布図を作成し、外れ値を識別します。

图;图(待定t、待定y、,'.');持有图(待定t(idx),待定y(idx),'*');轴线牢固的; 伊拉贝尔(“是的”);xlabel(“不”);头衔(“数据散点图”);传奇(“数据”,“模拟异常值”,“位置”,“西北”);

图中包含一个轴。带有标题的数据散点图的轴包含2个类型为line的对象。这些对象表示数据、模拟异常值。

分位点ランダム フォレストの成長

树人を使用して 200本の回帰木の 一袋树を成長させます。

Mdl=TreeBagger(200,待定,“是的”,“方法”,“回归”);

Mdl树人アンサンブルです。

条件付き四分位数と四分位数間範囲の予測

分位点回帰を使用して、Tの範囲内で等間隔に配置されている50個の値の条件付き四分位数を推定します。

tau=[0.25 0.5 0.75];predT=linspace(0,4*pi,50');四分位数=quantilepredit(Mdl,predT,“分位数”(牛),;

四分位は500行3列の条件付き四分位数の行列です。行はTの観測値に、列はの確率に対応します。

データの散布図上に条件付き平均および中央値応答をプロットします。

平均值=预测(Mdl,predT);绘图(predT,[四分位数(:,2)平均值],“线宽”,2); 传奇(“数据”,“模拟异常值”,“反应中值”,“平均响应”,...“位置”,“西北”);持有;

图中包含一个坐标轴。标题为数据散点图的坐标轴包含4个类型为line的对象。这些对象代表数据、模拟离群值、中值响应、平均响应。

条件付き平均と中央値の曲線は近づいていますが、シミュレートされた外れ値が平均曲線に影響を与える可能性があります。

条件付きの Q R F 1. および F 2. を計算します。

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

k=1.5は、f1より小さいかf2より大きいすべての観測値が外れ値であると考えられることを意味しますが、このしきい値は極端な外れ値を明確には区別しません。3.Kにすると極端な外れ値が識別されます。

観測値とフェンスの比較

観測値とフェンスをプロットします。

图;图(待定t、待定y、,'.');持有图(待定t(idx),待定y(idx),'*'); 地块(predT[f1-f2]);传奇(“数据”,“模拟异常值”,“F_1”,“F_2”,“位置”,“西北”);轴线牢固的头衔(“使用分位数回归进行异常值检测”)持有

图中包含一个轴。标题为使用分位数回归检测异常值的轴包含4个line类型的对象。这些对象表示数据、模拟异常值、F_1、F_2。

シミュレートされた外れ値はすべて [ F 1. , F 2. ] の外部にあり、一部の観測値もこの区間の外部にあります。

参考

クラス

関数

関連するトピック