<model_name>!DETECT_ANOMALIES

메서드에 전달된 입력 데이터의 변칙을 검색하고 그에 대해 보고합니다. 이것은 CREATE SNOWFLAKE.ML.ANOMALY_DETECTION 명령을 실행하여 생성하는 변칙 검색기 오브젝트의 메서드입니다.

이 메서드는 입력 데이터의 각 행을 정상적인지 여부를 레이블로 표시해주는 테이블을 반환합니다.

이 메서드가 반환하는 데이터에서 특정 열을 선택해야 하는 경우 SELECT 문의 FROM 절에서 메서드를 호출할 수 있습니다. 테이블 형식의 데이터를 반환하는 SQL 클래스 인스턴스 메서드에서 열 선택하기 섹션을 참조하십시오.

구문

<model_name>!DETECT_ANOMALIES(
  INPUT_DATA => <reference_to_data_to_analyze>,
  TIMESTAMP_COLNAME => '<timestamp_column_name>',
  TARGET_COLNAME => '<target_column_name>',
  [ CONFIG_OBJECT => <configuration_object>, ]
  [ SERIES_COLNAME => '<series_column_name>' ]
)
Copy

참고

model_nameCREATE SNOWFLAKE.ML.ANOMALY_DETECTION 명령을 실행하여 생성하는 오브젝트입니다.

인자

필수:

INPUT_DATA => reference_to_data_to_analyze

분석할 데이터를 반환하는 테이블, 뷰 또는 쿼리에 대한 참조.

이 참조를 생성하려면 테이블 이름, 뷰 이름 또는 쿼리와 함께 TABLE 키워드 를 사용하거나 SYSTEM$REFERENCE 또는 SYSTEM$QUERY_REFERENCE 함수를 호출하면 됩니다.

TIMESTAMP_COLNAME => 'timestamp_column_name'

시계열 데이터에서 타임스탬프(TIMESTAMP_NTZ)가 포함된 열의 이름입니다.

TARGET_COLNAME => 'target_column_name'

분석할 데이터가 포함된 열의 이름(NUMERIC 또는 FLOAT 타입).

선택 사항:

SERIES_COLNAME => 'series_column_name'

(다중 시계열의 경우) 계열의 식별자를 포함하는 열의 이름입니다. 이 열은 어떤 유형의 값이든 될 수 있거나 배열에 있는 여러 열의 값일 수 있으므로 VARIANT여야 합니다.

CONFIG_OBJECT => config_object

변칙 검색 작업 구성에 사용되는 키-값 페어를 포함한 OBJECT 입니다.

타입

기본값

설명

prediction_interval

FLOAT

0.99

변칙으로 표시해야 하는 관측값의 백분율을 지정하는 0과 1 사이의 값입니다.

  • 덜 엄격한 변칙 검색(즉, 변칙으로 표시된 더 적은 수의 관측값 식별)의 경우 더 높은 값을 지정합니다.

  • 더 엄격한 변칙 검색(즉, 더 많은 관측값을 변칙으로 식별)의 경우 이 값을 줄이십시오.

on_error

STRING

'ABORT'

변칙 검색 작업의 오류 처리를 지정하는 문자열(상수)입니다. 이는 여러 계열에서 변칙 검색 시 가장 유용합니다. 지원되는 값은 다음과 같습니다.

  • 'abort': 시계열에서 오류가 발생하면 작업을 중단합니다.

  • 'skip': 변칙 검색에 오류가 발생하는 시계열을 건너뜁니다. 이를 통해 다른 시계열에 대한 변칙 검색에 성공할 수 있습니다. 실패한 계열에서 출력에서 빠지게 됩니다.

반환

이 함수는 다음 열을 반환합니다.

열 이름

데이터 타입

설명

SERIES

VARIANT

계열 값(모델이 단일 시계열로 훈련된 경우 NULL)

TS

TIMESTAMP_NTZ

데이터의 타임스탬프

Y

FLOAT

시계열의 값

FORECAST

FLOAT

타임스탬프의 예측 값입니다.

LOWER_BOUND

FLOAT

예측 구간 내 값의 하한입니다. 이보다 낮은 값은 변칙으로 플래그 지정됩니다.

UPPER_BOUND

FLOAT

예측 구간 내 값의 상한입니다. 이보다 높은 값은 변칙으로 플래그 지정됩니다.

IS_ANOMALY

BOOLEAN

값이 변칙이면 True이고 그렇지 않으면 False입니다.

PERCENTILE

FLOAT

예측 구간이 주어졌을 때 관찰된 Y 값의 해당 백분위수입니다.

백분위수가 ((1 - alpha) / 2, 1 - (1 - alpha) / 2) 를 벗어나면 값이 변칙으로 플래그 지정됩니다. 예를 들어 예측 구간이 0.95인 경우 0.96의 백분위수는 변칙이 아니지만 0.98의 백분위수는 변칙입니다.

prediction_interval 필드가 구성 오브젝트에 지정되지 않은 경우 기본값은 0.99입니다.

DISTANCE

FLOAT

FORECAST 열에서 가져온 표준 편차의 배수(z-점수)입니다.

사용법 노트

  • (INPUT_DATA 생성자 인자에서) CREATE SNOWFLAKE.ML.ANOMALY_DETECTION 명령에 지정된 데이터의 열은 이 데이터의 INPUT_DATA 인자에 지정된 데이터에 대한 열과 일치해야 합니다.

    예를 들어, SERIES_COLNAME 인자를 CREATE SNOWFLAKE.ML.ANOMALY_DETECTION 명령에 전달한 경우 SERIES_COLNAME 인자도 이 메서드에 전달해야 합니다. 명령에서 SERIES_COLNAME 인자를 생략했다면 여기서 해당 인자를 생략해야 합니다.

  • TIMESTAMP_COLNAME 또는 TARGET_COLNAME 인자로 지정된 열 이름이 INPUT_DATA 인자로 지정된 테이블, 뷰 또는 쿼리에 존재하지 않을 경우 오류가 발생합니다.