Anomaly¶
- 詳細な仕様は IDL 定義 を参照してください。
 
Configuration¶
設定は単体の JSON で与えられる。 JSON の各フィールドは以下のとおりである。
- 
method 異常検知に使用するアルゴリズムを指定する。 以下のアルゴリズムを指定できる。
設定値 手法 "lof"Recommenderベースの Local Outlier Factor を利用する。 [Breunig2000] "light_lof"Nearest Neighborベースの LOF を利用する。 
- 
parameter アルゴリズムに渡すパラメータを指定する。
methodに応じて渡すパラメータは異なる。- 共通
 unlearner: 忘却機能に利用するUnlearnerのアルゴリズムを指定する。 忘却機能が不要な場合、このパラメータは省略する。 Unlearner で説明される unlearnerを指定する。 ここで指定された方法に基づいてデータを忘却する。忘却の単位は、ID単位である。unlearner_parameter: 忘却機能に利用するUnlearnerに渡すパラメータを指定する。 Unlearner で説明される unlearner_parameterを指定する。 ここで指定された件数以上のデータは自動的に削除される。unlearnerを指定する際はこのunlearner_parameterの指定は必須である。なお
unlearnerとunlearner_parameterのパラメータは 省略可能 である。- lof
 nearest_neighbor_num: 対象データに対する近傍の数を指定する。 大きくすると誤検出が減る代わりに、検出漏れが増える。 (Integer)
- 値域: 2 <= 
nearest_neighbor_num 
reverse_nearest_neighbor_num: 異常値の情報を更新する際に、逆近傍候補の個数を指定する。 大きくすると検出が正確になる代わりに、更新に時間がかかる。 (Integer)
- 値域: 
nearest_neighbor_num<=reverse_nearest_neighbor_num 
ignore_kth_same_point: 登録できる重複データの件数を
nearest_neighbor_num - 1件に制限することにより、スコアがinfになることを防ぐ。 このパラメタは省略可能であり、デフォルト値はfalse(無効) である。 (Boolean)method: 近傍探索に利用するレコメンダーのアルゴリズムを指定する。 Recommender で説明される
methodを指定する。parameter: 近傍探索に利用するレコメンダーに渡すパラメータを指定する。 Recommender で説明される
parameterを指定する。- 値域: 2 <= 
 - light_lof
 nearest_neighbor_num: 対象データに対する近傍の数を指定する。 大きくすると誤検出が減る代わりに、検出漏れが増える。 (Integer)
- 値域: 2 <= 
nearest_neighbor_num 
reverse_nearest_neighbor_num: 異常値の情報更新する際に、逆近傍候補の個数を指定する。 大きくすると検出が正確になる代わりに、更新に時間がかかる。 (Integer)
- 値域: 
nearest_neighbor_num<=reverse_nearest_neighbor_num 
ignore_kth_same_point: 登録できる重複データの件数を
nearest_neighbor_num - 1件に制限することにより、スコアがinfになることを防ぐ。 このパラメタは省略可能であり、デフォルト値はfalse(無効) である。 (Boolean)method: 近傍探索に利用する近傍探索器のアルゴリズムを指定する。 Nearest Neighbor で説明される
methodを指定する。parameter: 近傍探索に利用する近傍探索器に渡すパラメータを指定する。 Nearest Neighbor で説明される
parameterを指定する。- 値域: 2 <= 
 
- 
converter 特徴変換の設定を指定する。 フォーマットは データ変換 で説明する。
- 例:
 { "method" : "lof", "parameter" : { "nearest_neighbor_num" : 10, "reverse_nearest_neighbor_num" : 30, "method" : "euclid_lsh", "parameter" : { "hash_num" : 64, "table_num" : 4, "seed" : 1091, "probe_num" : 64, "bin_width" : 100 } }, "converter" : { "string_filter_types" : {}, "string_filter_rules" : [], "num_filter_types" : {}, "num_filter_rules" : [], "string_types" : {}, "string_rules" : [ { "key" : "*", "type" : "str", "sample_weight" : "bin", "global_weight" : "bin" } ], "num_types" : {}, "num_rules" : [ { "key" : "*", "type" : "num" } ] } }
Data Structures¶
Methods¶
- 
service 
anomaly - 
bool 
clear_row(0: string id)¶ パラメータ: - id -- 削除する点 ID
 
戻り値: 点の削除に成功した場合 True
ID
idで指定される点データを削除する。
- 
id_with_score 
add(0: datum row)¶ パラメータ: - row -- 点の 
datum 
戻り値: 点 ID と異常値のタプル
点データ
rowを追加する。- row -- 点の 
 
- 
list<string> 
add_bulk(0: list<datum> data)¶ パラメータ: - row -- 追加する 
datumのリスト 
戻り値: 追加に成功したIDのリスト
複数の点データをまとめて追加する。
addと異なり、点データ追加時に異常値の計算は行わない。- row -- 追加する 
 
- 
double 
update(0: string id, 1: datum row)¶ パラメータ: - id -- 更新する点 ID
 - row -- 点の新しい 
datum 
戻り値: 異常値
点
idをデータrowで更新する。
- 
double 
overwrite(0: string id, 1: datum row)¶ パラメータ: - id -- 更新する点 ID
 - row -- 点の新しい 
datum 
戻り値: 異常値
点
idをデータrowで上書き更新する。
- 
double 
calc_score(0: datum row)¶ パラメータ: - row -- 
datum 
戻り値: 与えられた
rowに対する異常度点を追加せずに、与えられた点データ
rowの異常度を計算する。この時、極端に大きな値を返却する場合がある。原因の詳細については FAQs:異常検知 を参照してください。
- row -- 
 
- 
list<string> 
get_all_rows()¶ 戻り値: すべての点の ID リスト すべての点の ID リストを返す。
- 
bool