본문 바로가기

Elastic

[Elasticsearch] Anomaly Detection의 by_field, partition_field, over_field 예제

728x90

배경

Elasticsearch의 Machine Learning 기능 중 Anomaly Detection이 있습니다.

시계열 데이터에 대한 이상을 탐지하는 기능이며 각각의 분석은 Detector라는 명칭으로 되어있습니다.

설정 항목 중 by_field, partition_field, over_field 차이에 대해 좋은 예제가 있어 공유합니다.

기본 설명

  • over_field : 모집단 분석시 모집단의 대상을 구분하는 필드를 정의합니다.
  • by_field : soft split으로 해당 필드를 기준으로 집계를 하여 이상탐지를 진행합니다.
  • partition_field : hard split으로 해당 필드를 기준으로 다른 값들과 독립되게 만듭니다.

예제 데이터

사람별 나이, 몸무게, 키에 대한 데이터이며 각 값은 필드명, 필드값으로 구성되어있습니다.

time,user,gender,feature_name,feature_value
0,Bob,male,age,30
0,Bob,male,weight,175
0,Bob,male,height,75
1,Sakura,female,age,44
1,Sakura,female,weight,105
1,Sakura,female,height,59
....

Detector

각 필드에 대하여 최대값을 계산하여 이상탐지를 진행합니다.

max(feature_value) by_field=feature_name partition_field=gender over_field=user

설명

  • over_field=user : 모집단의 대상으로 사용자(user)로 구분을 할 것 입니다.
  • by_field=feature_name : 모집단(user)에 대한 나이, 몸무게, 키 각각을 별도로 계산합니다.
  • partition_field=gender : 다른 데이터와 독립될 수 있도록 성별을 기준으로 완전 분할 합니다. 남여의 평균적 몸무게/키 차이가 있음을 고려합니다.

 

반응형

'Elastic' 카테고리의 다른 글

[Machine Learning] Anomaly Detection Job Close(중지)  (0) 2023.08.17