ad 명령

ad 명령 (Deprecated)

ad 명령은 ml 명령을 대신 사용하도록 권장되며 더 이상 사용되지 않아요(deprecated). ad 명령은 ML Commons 플러그인의 Random Cut Forest(RCF) 알고리즘을 PPL 명령이 반환한 검색 결과에 적용해요.

출처: 문서

본문

이 명령은 두 가지 이상 탐지 방식을 제공해요.

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

더 알아보기 (Learn more)