主要内容

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

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

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

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

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

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

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

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

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

  • robustcov——多変量データのロバスト共分散を推定します。

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

  • 聚类算法——観測値をクラスターに分割し,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.* sin2 *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个类型为line的对象。这些对象表示数据、模拟离群值。

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

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

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

MdlTreeBaggerアンサンブルです。

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

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

Tau = [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 を計算します。

Iqr = quartiles(:,3) - quartiles(:,1);k = 1.5;F1 =四分位数(:,1)- k*iqr;F2 =四分位数(:,3)+ k*iqr;

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

観測値とフェンスの比較

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

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

图中包含一个坐标轴。标题为“使用分位数回归检测离群点”的坐标轴包含4个类型为line的对象。这些对象代表Data、模拟离群值、F_1、F_2。

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

参考

クラス

関数

関連するトピック