ad 명령
ad 명령 (Deprecated)
ad 명령은 ml 명령을 대신 사용하도록 권장되며 더 이상 사용되지 않아요(deprecated). ad 명령은 ML Commons 플러그인의 Random Cut Forest(RCF) 알고리즘을 PPL 명령이 반환한 검색 결과에 적용해요.
출처: 문서
본문
이 명령은 두 가지 이상 탐지 방식을 제공해요.
- 고정 시간(fixed-in-time) RCF 알고리즘을 사용하는 시계열 데이터에 대한 이상 탐지
- 배치(batch) RCF 알고리즘을 사용하는 비시계열 데이터에 대한 이상 탐지
ad 명령을 사용하려면 plugins.calcite.enabled를 false로 설정해야 해요.
구문(Syntax)
ad 명령은 알고리즘 유형에 따라 두 가지 다른 구문 변형이 있어요.
시계열 데이터에 대한 이상 탐지
시계열 데이터의 이상을 탐지하려면 이 구문을 사용해요. 이 방법은 순차적 데이터 패턴에 최적화된 고정 시간 RCF 알고리즘을 사용해요.
고정 시간 RCF ad 명령은 다음과 같은 구문을 가져요.
ad [number_of_trees] [shingle_size] [sample_size] [output_after] [time_decay] [anomaly_rate] <time_field> [date_format] [time_zone] [category_field]
매개변수(Parameters)
고정 시간 RCF 알고리즘은 다음 매개변수를 지원해요.
| Parameter | Required/Optional | Description |
|---|---|---|
time_field |
Required | RCF가 시계열 데이터로 사용할 시간 필드. |
number_of_trees |
Optional | 포리스트(forest)의 트리 수. 기본값은 30이에요. |
shingle_size |
Optional | 하나의 싱글(shingle)에 있는 레코드 수. 싱글은 가장 최근 레코드의 연속 시퀀스예요. 기본값은 8이에요. |
sample_size |
Optional | 이 포리스트의 스트림 샘플러가 사용하는 샘플 크기. 기본값은 256이에요. |
output_after |
Optional | 결과가 반환되기 전에 스트림 샘플러가 필요로 하는 포인트 수. 기본값은 32예요. |
time_decay |
Optional | 이 포리스트의 스트림 샘플러가 사용하는 감쇠(decay) 인자. 기본값은 0.0001이에요. |
anomaly_rate |
Optional | 이상 비율. 기본값은 0.005예요. |
date_format |
Optional | time_field 필드에 사용되는 형식. 기본값은 yyyy-MM-dd HH:mm:ss예요. |
time_zone |
Optional | time_field 필드의 시간대. 기본값은 UTC예요. |
category_field |
Optional | 입력 값을 그룹화하는 데 사용되는 카테고리 필드. 예측 연산은 각 카테고리에 독립적으로 적용돼요. |
비시계열 데이터에 대한 이상 탐지
순서가 중요하지 않은 데이터의 이상을 탐지하려면 이 구문을 사용해요. 이 방법은 독립적인 데이터 포인트에 최적화된 배치 RCF 알고리즘을 사용해요.
배치 RCF ad 명령은 다음과 같은 구문을 가져요.
ad [number_of_trees] [sample_size] [output_after] [training_data_size] [anomaly_score_threshold] [category_field]
매개변수(Parameters)
배치 RCF 알고리즘은 다음 매개변수를 지원해요.
| Parameter | Required/Optional | Description |
|---|---|---|
number_of_trees |
Optional | 포리스트의 트리 수. 기본값은 30이에요. |
sample_size |
Optional | 훈련 데이터 세트에서 각 트리에 제공되는 무작위 샘플 수. 기본값은 256이에요. |
output_after |
Optional | 결과가 반환되기 전에 스트림 샘플러가 필요로 하는 포인트 수. 기본값은 32예요. |
training_data_size |
Optional | 훈련 데이터 세트의 크기. 기본값은 전체 데이터 세트 크기예요. |
anomaly_score_threshold |
Optional | 이상 점수 임계값. 기본값은 1.0이에요. |
category_field |
Optional | 입력 값을 그룹화하는 데 사용되는 카테고리 필드. 예측 연산은 각 카테고리에 독립적으로 적용돼요. |
예시 1: 뉴욕시 택시 이용 시계열 데이터에서 이벤트 탐지
다음 예시는 value(이동 횟수), timestamp(측정 시간), category(예: 'day', 'night' 같은 시간대 분류) 필드를 포함하는 뉴욕시 택시 이용 데이터가 담긴 nyc_taxi 데이터 세트를 사용해요.
이 예시는 RCF 모델을 훈련하고 시계열 이용 데이터의 이상을 탐지하는 데 사용해요.
source=nyc_taxi
| fields value, timestamp
| AD time_field='timestamp'
| where value=10844.0
이 쿼리는 다음과 같은 결과를 반환해요.
| value | timestamp | score | anomaly_grade |
|---|---|---|---|
| 10844.0 | 2014-07-01 00:00:00 | 0.0 | 0.0 |
예시 2: 카테고리별 뉴욕시 택시 이용 시계열 데이터에서 이벤트 탐지
이 예시는 RCF 모델을 훈련하고 여러 카테고리 값에 걸친 시계열 이용 데이터의 이상을 탐지하는 데 사용해요.
source=nyc_taxi
| fields category, value, timestamp
| AD time_field='timestamp' category_field='category'
| where value=10844.0 or value=6526.0
이 쿼리는 다음과 같은 결과를 반환해요.
| category | value | timestamp | score | anomaly_grade |
|---|---|---|---|---|
| night | 10844.0 | 2014-07-01 00:00:00 | 0.0 | 0.0 |
| day | 6526.0 | 2014-07-01 06:00:00 | 0.0 | 0.0 |
예시 3: 뉴욕시 택시 이용 비시계열 데이터에서 이벤트 탐지
이 예시는 RCF 모델을 훈련하고 비시계열 이용 데이터의 이상을 탐지하는 데 사용해요.
source=nyc_taxi
| fields value
| AD
| where value=10844.0
이 쿼리는 다음과 같은 결과를 반환해요.
| value | score | anomalous |
|---|---|---|
| 10844.0 | 0.0 | False |
예시 4: 카테고리별 뉴욕시 택시 이용 비시계열 데이터에서 이벤트 탐지
이 예시는 RCF 모델을 훈련하고 여러 카테고리 값에 걸친 비시계열 이용 데이터의 이상을 탐지하는 데 사용해요.
source=nyc_taxi
| fields category, value
| AD category_field='category'
| where value=10844.0 or value=6526.0
이 쿼리는 다음과 같은 결과를 반환해요.
| category | value | score | anomalous |
|---|---|---|---|
| night | 10844.0 | 0.0 | False |
| day | 6526.0 | 0.0 | False |