OUTLIERS コマンド
数値型フィールドにおける統計上の異常値を検出します。異常値の検出対象は、数値型フィールド全体であるか、あるいは 1 つまたは複数の文字型、数値型、または日付時刻型キー フィールドの値に基づく複数のグループです。
構文
OUTLIERS {AVERAGE|MEDIAN} {PKEY キー フィールド <...n>|NOKEY} ON 数値型フィールド <OTHER フィールド <...n>> NUMSTDEV 標準偏差の数 <IF テスト> <TO {SCREEN|テーブル名}> <PRESORT> <WHILE テスト> <FIRST 範囲|NEXT 範囲> <OPEN>
メモ
サーバーのテーブルに対してローカルで OUTLIERS コマンドを実行することはできません。
OUTLIERS コマンドはその全体を指定する必要があります。簡略化することはできません。
パラメーター
名前 | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AVERAGE | MEDIAN |
数値型フィールド(異常値フィールド)の値の中心点を計算する方法。
中心点は、以下のいずれかについて計算されます。
これらの中心点は、後で数値型フィールドまたは各グループの標準偏差を計算する際に使用されます。 メモ MEDIAN を指定する場合は、数値型フィールドを基準にして並べ替えを行っておく必要があります。数値型フィールドを基準にした並べ替えがまだ行われていない場合は、PRESORT を使用します。 ヒント 異常値がないかどうかを調べるデータに大きな偏りがある場合は、MEDIAN を指定した方が、データの大勢をより正しく表す結果を生成することができます。 |
||||||||||
PKEY キー フィールド <...n> | NOKEY |
PKEY を指定した場合は、グループ レベルの異常値が検出されます。NOKEY を指定した場合は、フィールド レベルの異常値が検出されます。
|
||||||||||
ON 数値フィールド |
異常値がないかどうかを調べる数値型フィールド。一度に 1 つのフィールドしか調べることができません。 異常値とは、フィールドまたは主キー グループの標準偏差またはそのような標準偏差の指定倍数によって設定される上限と下限の範囲に含まれない値のことです。 |
||||||||||
OTHER フィールド <...n> 省略可能 |
出力に含める 1 つ以上の追加フィールド。 メモ キー フィールドと異常値フィールドは、自動的に出力テーブルに追加されるため、OTHER に指定する必要はありません。 |
||||||||||
NUMSTDEV 標準偏差の数 |
数値型フィールドにおいて、平均または中央値から異常値の上限および下限までに含まれる標準偏差の数。任意の正の整数または 10 進数(0.5、1、1.5、2、...)を指定できます。 異常値の境界を作成するための式: 平均/中央値 ± (標準偏差数 * 標準偏差) メモ 標準偏差はデータセットの分布の測定です。つまり、値の拡散方法を測定します。異常値計算は母集団標準偏差を使用します。 異常値の境界の例NUMSTDEV 2 数値型フィールド全体または各キー フィールド グループに対し、以下が設定されます。
上限より大きいか下限より小さい任意の値が、異常値として出力結果に追加されます。 メモ 同じデータ セットに対し、標準偏差の数の値を大きくすると、返される異常値の数が減る可能性があります。 |
||||||||||
IF テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。 メモ IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。 |
||||||||||
TO SCREEN | テーブル名 省略可能 |
コマンドの結果を送信する場所:
|
||||||||||
PRESORT 省略可能 |
当該のコマンドを実行する前に並べ替え操作を実行します。
ヒント 入力テーブル内の 1 つまたは複数の該当フィールドを基準にした並べ替えが既に行われている場合は、PRESORT を指定しないことで処理時間を短縮できます。 メモ GROUP コマンドの内部では PRESORT を使用することができません。 |
||||||||||
WHILE テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。 メモ WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。 |
||||||||||
FIRST 範囲 | NEXT 範囲 省略可能 |
処理するレコード数:
範囲は処理するレコード数を指定します。 FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。 |
||||||||||
OPEN 省略可能 |
コマンドを実行した後、コマンドによって作成されたテーブルを開きます。コマンドが出力テーブルを作成する場合にのみ有効です。 |
例
異常な取引金額の検出
Sample Project.acl 内の Ar テーブル全体から、異常な取引金額を検出したいとします。
異常値の上下限を「Amount(金額)フィールドから標準偏差の±3 倍」に設定します。次のテストにより、772 個のレコードから成るテーブルから、16 個の異常値が返されます。
OPEN Ar OUTLIERS AVERAGE NOKEY ON Amount NUMSTDEV 3 PRESORT TO "Outliers_AR.fil" OPEN
「標準偏差の±3.5 倍」にしてテストを繰り返します。異常値の上下限が Amount フィールドの値群の中心点から遠くなったため、6 個の異常値がこのテストによって返されます。
OPEN Ar OUTLIERS AVERAGE NOKEY ON Amount NUMSTDEV 3.5 PRESORT TO "Outliers_AR.fil" OPEN
顧客別の異常な取引金額の検出
Sample Project.acl 内の Ar テーブルから、顧客別に異常な取引金額を検出したいとします。
異常値の上下限を「各顧客の取引グループから標準偏差の±3 倍」に設定します。
OPEN Ar OUTLIERS AVERAGE PKEY No ON Amount NUMSTDEV 3 PRESORT TO "Outliers_Customer_AR.fil" OPEN
このテストにより、7 個の異常値が返されます。各顧客の取引グループについて、標準偏差と平均が報告されます。
顧客番号(No.) | 取引金額 | STDEV | AVERAGE | グループ番号 | |
---|---|---|---|---|---|
1 | 065003 | 4,954.64 | 1015.58 | 833.83 | 1 |
2 | 262001 | 3,567.34 | 772.44 | 438.81 | 2 |
3 | 262001 | (2,044.82) | 772.44 | 438.81 | 2 |
4 | 376005 | (931.55) | 411.18 | 484.57 | 3 |
5 | 501657 | 5,549.19 | 1332.80 | 441.14 | 4 |
6 | 811002 | 3,409.82 | 634.20 | 672.10 | 5 |
7 | 925007 | 3,393.87 | 736.48 | 906.16 | 6 |
顧客 262001 に関する異常値の特定方法
Ar テーブルには顧客 262001 の取引が 101 個あり、そのうち 2 つが異常値として報告されたとします。これらは、その顧客の異常値境界を超えるためです。
異常値 | 下限 | 上限 | 異常値 |
---|---|---|---|
(2,044.82) | (1,878.51) | 2,756.13 | 3,567.34 |
顧客 262001 に関する異常値境界の計算方法
異常値の上下限は、顧客 262001 の全取引の平均に、取引の標準偏差の指定倍数をプラスマイナスしたものです。
顧客 262001 の全取引の平均 | 438.81 |
標準偏差の指定倍数 | 3 |
取引の標準偏差 | 772.44 |
438.81 ± (3 * 772.44) = 438.81 ± 2,317.32 = (1,878.51) (下限) = 2,756.13 (上限) |
MEDIAN を使用した、顧客別の異常な取引金額の検出
AVERAGE の代わりに MEDIAN を使用した場合でも、上記の例で行ったのと同じ異常値テストを行うことができます。
OPEN Ar OUTLIERS MEDIAN PKEY No ON Amount NUMSTDEV 3 PRESORT TO "Outliers_Customer_AR_Median.fil" OPEN
上のテストでは、直前のテストで返された 7 個の異常値の代わりに、10 個の異常値が返されます。MEDIAN と AVERAGE では、データの性質に応じて多少異なる結果が返されます。
顧客番号(No.) | 取引金額 | STDEV | MEDIAN | グループ番号 | |
---|---|---|---|---|---|
1 | 065003 | 4,954.64 | 1015.58 | 663.68 | 1 |
2 | 262001 | (2,044.82) | 772.44 | 450.67 | 2 |
3 | 262001 | 3,567.34 | 772.44 | 450.67 | 2 |
4 | 376005 | (931.55) | 411.18 | 517.16 | 3 |
5 | 501657 | 4,426.14 | 1332.80 | 146.80 | 4 |
6 | 501657 | 5,549.19 | 1332.80 | 146.80 | 4 |
7 | 811002 | 3,409.82 | 634.20 | 624.53 | 5 |
8 | 925007 | 2,972.78 | 736.48 | 717.88 | 6 |
9 | 925007 | 3,030.71 | 736.48 | 717.88 | 6 |
10 | 925007 | 3,393.87 | 736.48 | 717.88 | 6 |
各顧客に関する異常値境界の計算方法
異常値の上下限は、各顧客の取引の中央値に、取引の標準偏差の指定倍数をプラスマイナスしたものです。
顧客 262001 の例:450.67 ± (3 * 772.44)
備考
メモ
このコマンドの動作の詳細については、Analytics のヘルプを参照してください。
異常値境界フィールドを結果テーブルに追加する
Analytics は、自動的に、STDEV および AVERAGE または MEDIAN 演算フィールドを異常値結果テーブルに追加します。結果テーブルで異常値を特定するために使用される異常値境界を示す 2 つの演算フィールドも追加すると役立つ場合があります。
- 異常値結果テーブルを開きます。
- この式を Analytics コマンドラインに貼り付けて、必要に応じて編集し、Enter を押します。
DEFINE FIELD 下限 COMPUTED AVERAGE - (標準偏差数 * STDEV)
- 標準偏差数については、使用した実際の標準偏差乗数を代替します。
- 平均ではなく中央点として中央値を使用した場合は、AVERAGE に MEDIAN を使用します。
- この式を Analytics コマンドラインに貼り付けて、必要に応じて編集し、Enter を押します。
DEFINE FIELD 上限 COMPUTED AVERAGE + (標準偏差数 * STDEV)
- 標準偏差数については、使用した実際の標準偏差乗数を代替します。
- 平均ではなく中央点として中央値を使用した場合は、AVERAGE に MEDIAN を使用します。
- ビュー内で右クリックしてから[列の追加]を選択します。
- [使用可能なフィールド]リストから、下限および上限をダブルクリックし、[選択したフィールド]リストに追加します。
- [OK]をクリックします。
- 省略可能。列ヘッダーをドラッグして、追加したフィールドを再配置します。