外れ値データの削除
ライブ エディターでの外れ値の検出、埋め込みまたは削除
説明
外れ値データの削除タスクでは、データ内の外れ値を対話的に処理できます。このタスクは、ライブ スクリプト用の MATLAB® コードを自動生成します。
このタスクを使用すると、次を行うことができます。
ワークスペース変数内のデータの外れ値の検出、埋め込みまたは削除。
外れ値の検出メソッドと埋め込みメソッドのカスタマイズ。
外れ値データとクリーニング済みのデータの可視化。
関連する関数
[外れ値データの削除] では、関数 isoutlier、filloutliers、および rmoutliers を使用するコードが生成されます。

タスクを開く
[外れ値データの削除] タスクを MATLAB エディターでライブ スクリプトに追加するには、次を行います。
[ライブ エディター] タブで [タスク] 、 [外れ値データの削除] を選択します。
スクリプトのコード ブロック内に、
outlier、clean、fill、removeなどの関連キーワードを入力します。コマンドの補完候補から[外れ値データの削除]を選択します。キーワードによっては、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 番目の百分位数を超える要素として定義するために、[検出メソッド] フィールドを使用して [百分位数] を選択します。
次に、クリーニングした身長と体重のデータを可視化するには、[表示する変数] フィールドを使用してすべての変数を選択します。

このタスクは、クリーニングしたデータの 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] 間の値です。 |
| 上限および下限しきい値により指定される範囲外の要素として外れ値を定義します。入力データの幅に一致するスカラーまたはベクトルとしてしきい値を指定します。 |
| ワークスペース変数を使用して外れ値の位置を定義します。logical 配列または logical 変数をもつ table を指定します。値が 1 (true) の要素が外れ値に対応します。 |
外れ値検出のメソッドが [移動中央値] または [移動平均値] である場合は、ウィンドウのタイプとサイズを指定します。
| ウィンドウ | 説明 |
|---|---|
中央揃え | 現在の点を中心にしてウィンドウの長さを指定する |
非対称 | 現在の点の前にある要素数と、現在の点の後にある要素数を含むウィンドウを指定する |
ウィンドウのサイズは、[X 軸] の変数の単位を基準とします。
バージョン履歴
R2019b で導入上限および下限のしきい値で定義された範囲外の要素として、またはワークスペース変数の値 1 (true) で示される要素として外れ値を定義できます。検出メソッドとして [範囲] または [ワークスペース変数] をそれぞれ選択します。
このライブ エディター タスクの表示で、複数の table 変数を同時にプロットします。データが table または timetable の場合、選択したすべての table 変数をタイル表示チャート レイアウトで一度に可視化するには、[表示する変数] フィールドを設定します。
外れ値データを値 NaN によって示される欠損データに変換できます。[クリーニング メソッド] フィールドを [外れ値の埋め込み] に設定し、[欠損に変換] オプションを選択します。
入力 table 変数に、クリーニングしたデータを含む table 変数を追加します。入力データが table または timetable の場合、クリーニングしたデータを追加するには、[出力形式] フィールドを設定します。
入力に 100 万個を超える要素がある場合、このライブ エディター タスクは自動実行されません。以前のリリースでは、入力がどのようなサイズでもタスクは必ず自動実行されていました。入力の要素が多い場合、このタスクで生成されたコードは実行にかなりの時間 (数秒間以上) を要することがあります。
タスクが自動的に実行されない場合、自動実行インジケーターが無効になります。必要に応じてタスクを手動で実行するか、タスクの自動実行の有効化を選択することができます。
このライブ エディター タスクは、複数の table 変数を同時に操作できます。入力データが table または timetable の場合、複数の変数を操作するには、[サポートされているすべての変数] または [指定された変数] を選択します。すべての変数、または変更した変数のみを返し、可視化する変数を指定します。
ほとんどの検出メソッドでヒストグラム プロットを使用して結果を可視化します。ヒストグラムは入力データ、外れ値、外れ値が埋められたクリーニング済みのデータ、および外れ値検出しきい値と中心値を集計できます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
