Main Content

外れ値データの削除

ライブ エディターでの外れ値の検出、埋め込みまたは削除

R2019b 以降

説明

外れ値データの削除タスクでは、データ内の外れ値を対話的に処理できます。このタスクは、ライブ スクリプト用の MATLAB® コードを自動生成します。

このタスクを使用すると、次を行うことができます。

  • ワークスペース変数内のデータの外れ値の検出、埋め込みまたは削除。

  • 外れ値の検出メソッドと埋め込みメソッドのカスタマイズ。

  • 外れ値データとクリーニング済みのデータの可視化。

関連する関数

[外れ値データの削除] では、関数 isoutlierfilloutliers、および rmoutliers を使用するコードが生成されます。

Clean Outlier Data task in the Live Editor

タスクを開く

[外れ値データの削除] タスクを MATLAB エディターでライブ スクリプトに追加するには、次を行います。

  • [ライブ エディター] タブで [タスク][外れ値データの削除] を選択します。

  • スクリプトのコード ブロック内に、outliercleanfillremove などの関連キーワードを入力します。コマンドの補完候補から [外れ値データの削除] を選択します。キーワードによっては、1 つ以上の対応するパラメーターがタスクで自動的に更新されます。

すべて展開する

ライブ エディターの [外れ値データの削除] タスクを使用して、table から外れ値を対話的に削除します。

サンプル ファイルに含まれている患者の身長と体重のデータを使用して table を作成します。

load("patients.mat","Height","Weight")
T = table(Height,Weight);
head(T)
    Height    Weight
    ______    ______

      71       176  
      69       163  
      64       131  
      67       133  
      64       119  
      68       142  
      64       142  
      68       180  

ライブ エディターで [外れ値データの削除] タスクを開きます。患者データをクリーニングするには、T を入力データとして選択します。次に、[サポートされているすべての変数] を選択して変数 Height および Weight に対して計算を行います。

[外れ値データの削除] タスクでは、外れ値データを埋めるか削除できます。身長または体重の測定値が外れ値である患者に対応する table の行を削除するには、[クリーニング メソッド] フィールドを使用して [外れ値の削除] を選択します。次に、外れ値を 10 番目の百分位数を下回る要素、または 90 番目の百分位数を超える要素として定義するために、[検出メソッド] フィールドを使用して [百分位数] を選択します。

次に、クリーニングした身長と体重のデータを可視化するには、[表示する変数] フィールドを使用してすべての変数を選択します。

Live Task

このタスクは、クリーニングしたデータの table と、入力 table から削除された行を示す logical ベクトルを返します。outlierIndices を使用して、table から削除された行数を判定します。

nrows = sum(outlierIndices)
nrows = 24

関連する例

パラメーター

すべて展開する

このタスクは、ベクトル、table、または timetable に含まれる入力データに対して実行されます。データは single 型または double 型にできます。

入力データが table または timetable の場合、single 型または double 型の変数をすべて削除するには、[サポートされているすべての変数] を選択します。single または double の変数のうち、削除する対象を選択するには、[指定された変数] を選択します。

外れ値の埋め込みメソッドを次のオプションのいずれかとして指定します。

埋め込みメソッド説明
線形内挿隣接する非外れ値の線形内挿
定数値指定したスカラー値 (既定では 0)
欠損に変換標準欠損値の既定の定義に変換
中心値検出メソッドで求めた中心値
しきい値までクリップ検出メソッドで求めた下限しきい値よりも小さな要素についての下限しきい値、検出メソッドで求めた上限しきい値よりも大きな要素についての上限しきい値
前の値前の非外れ値
次の値次の非外れ値
最も近い値最も近い非外れ値
スプライン内挿区分的 3 次スプライン内挿
形状保持 3 次内挿 (PCHIP)形状維持区分的 3 次スプライン内挿
修正 Akima 3 次内挿修正 Akima 3 次エルミート内挿

外れ値を見つけるための検出メソッドを次のオプションのいずれかとして指定します。

メソッド説明
移動中央値外れ値は、指定したウィンドウでの局所中央値から、スケーリングされた局所中央絶対偏差 (MAD) の指定したしきい値を超えて離れている要素と定義されます。既定のしきい値は 3 です。
中央値外れ値は、スケーリングされた MAD の指定したしきい値を超えて中央値から離れている要素と定義されます。既定のしきい値は 3 です。入力データ A の場合、スケーリングされた MAD は c*median(abs(A-median(A))) と定義されます。ここで、c=-1/(sqrt(2)*erfcinv(3/2)) です。
平均値外れ値は、標準偏差の指定したしきい値を超えて平均値から離れている要素と定義されます。既定のしきい値は 3 です。このメソッドは [中央値] より高速ですが、ロバスト性は低下します。
四分位数外れ値は、上位四分位数 (75%) から上に、または下位四分位数 (25%) から下に、四分位範囲の指定したしきい値を超えて離れている要素と定義されます。既定のしきい値は 1.5 です。このメソッドは、入力データが正規分布でない場合に便利です。
Grubbs外れ値の検出にグラブス検定を使用します。これにより、仮説検定に基づいて反復ごとに 1 つの外れ値が除去されます。このメソッドは、入力データが正規分布していることを前提としています。
一般化極値スチューデント化偏差 (GESD)外れ値に対して一般化 ESD 検定を使用して、外れ値を検出します。この反復メソッドは [Grubbs] に似ていますが、複数の外れ値が相互にマスキングしている場合に、より効果的に機能します。
移動平均値外れ値は、指定したウィンドウでの局所平均値から、局所標準偏差の指定したしきい値を超えて離れている要素と定義されます。既定のしきい値は 3 です。
百分位数外れ値は、上限および下限しきい値により指定される百分位数範囲外の要素として定義されます。既定の百分位数の下限しきい値は 10 であり、既定の百分位数の上限しきい値は 90 です。有効なしきい値は [0, 100] 間の値です。

外れ値検出のメソッドが [移動中央値] または [移動平均値] である場合は、ウィンドウのタイプとサイズを指定します。

ウィンドウ説明
中央揃え現在の点を中心にしてウィンドウの長さを指定する
非対称現在の点の前にある要素数と、現在の点の後にある要素数を含むウィンドウを指定する

ウィンドウのサイズは、[X 軸] の変数の単位を基準とします。

バージョン履歴

R2019b で導入

すべて展開する