FORECAST¶
정규화된 이름: SNOWFLAKE.ML.FORECAST
예측 모델은 단일 시계열 또는 다중 시계열에 대한 예측을 생성합니다. CREATE SNOWFLAKE.ML.FORECAST 를 사용하여 예측 모델을 생성 학습한 다음 모델의 <name>!FORECAST 메서드를 사용하여 예측을 생성합니다. <name>!EXPLAIN_FEATURE_IMPORTANCE 메서드는 학습 데이터의 각 특징이 예측에 미치는 영향에 대한 정보를 제공합니다. <name>!SHOW_TRAINING_LOGS 메서드는 모델이 적합하지 않은 모든 시계열에 대한 오류 메시지를 제공합니다. 예 메서드는 샘플 외부 데이터에 대한 평가 메트릭을 제공합니다.
중요
법적 고지. 이 Snowflake Cortex ML 기반 함수는 머신 러닝 기술을 기반으로 합니다. 제공된 머신 러닝 기술 및 결과는 부정확하거나 부적절하거나 편향될 수 있습니다. 자동 파이프라인에 내장된 결과를 포함하여 머신 러닝 출력을 기반으로 한 의사 결정에는 모델 생성 콘텐츠가 정확하도록 보장하기 위해 사람의 감독 및 검토 프로세스가 있어야 합니다. Snowflake Cortex ML 기반 함수 쿼리는 다른 SQL 쿼리로 처리되며 메타데이터 로 간주될 수 있습니다.
메타데이터. Snowflake Cortex ML 기반 함수를 사용하면 Snowflake는 메타데이터 필드 에 언급된 내용 외에 ML 함수에서 반환된 일반 오류 메시지를 로그에 기록합니다. 이러한 오류 로그는 발생하는 문제를 해결하고 이러한 함수를 개선하여 더 나은 서비스를 제공하는 데 도움이 됩니다.
자세한 내용은 Snowflake AI 신뢰 및 안전 FAQ 를 참조하십시오.
CREATE SNOWFLAKE.ML.FORECAST¶
사용자가 제공하는 학습 데이터에서 새 예측 모델을 생성하거나 동일한 이름의 예측 모델을 바꿉니다.
구문¶
CREATE [ OR REPLACE ] SNOWFLAKE.ML.FORECAST [ IF NOT EXISTS ] <name>(
INPUT_DATA => <input_data>,
[ SERIES_COLNAME => '<series_colname>', ]
TIMESTAMP_COLNAME => '<timestamp_colname>',
TARGET_COLNAME => '<target_colname>',
[ CONFIG_OBJECT => <config_object> ]
)
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
참고
명명된 인자를 사용하면 인자 순서에 관계없이 코드를 더 쉽게 읽을 수 있습니다. 하지만 다음 예제에서처럼 위치 인자를 사용할 수도 있습니다.
CREATE SNOWFLAKE.ML.FORECAST <name>(
'<input_data>', '<series_colname>', '<timestamp_colname>', '<target_colname>'
);
매개 변수¶
name
모델에 대한 식별자를 지정하는데, 모델이 생성된 스키마에 대해 고유한 식별자여야 합니다.
모델 식별자가 (
db_name.schema_name.name
또는schema_name.name
형식으로) 정규화되지 않은 경우 이 명령은 세션의 현재 스키마에서 모델을 생성합니다.또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
생성자 인자¶
필수:
INPUT_DATA => input_data
입력 데이터에 대한 참조. 참조를 사용하면 제한된 권한으로 실행되는 학습 프로세스에서 사용자의 권한을 사용해 데이터에 액세스하도록 할 수 있습니다. 데이터가 해당 양식에 이미 있는 경우 테이블 또는 뷰에 대한 참조를 사용하거나, 쿼리 참조 를 사용하여 데이터를 얻기 위해 실행할 쿼리를 제공할 수 있습니다.
참조 데이터는 예측 모델에서 사용하는 전체 학습 데이터입니다.
input_data
에timestamp_colname
,target_colname
또는series_colname
으로 명명되지 않은 열이 포함된 경우 이들은 외생 변수(추가 특징)로 간주됩니다. 입력 데이터의 열 순서는 중요하지 않습니다.입력 데이터에는 사용 사례에 알맞은 유형의 열이 있어야 합니다. 각 사용 사례에 대한 자세한 내용은 예 섹션을 참조하십시오.
사용 사례
열 및 유형
단일 시계열
타임스탬프 열: TIMESTAMP_NTZ.
대상 값 열: FLOAT.
다중 시계열
계열 열: 숫자 값과 텍스트를 포함한 VARIANT.
타임스탬프 열: TIMESTAMP_NTZ.
대상 값 열: FLOAT.
외생 변수가 있는 단일 시계열
타임스탬프 열: TIMESTAMP_NTZ.
대상 값 열: FLOAT.
외생 변수가 있는 다중 시계열
계열 열: 숫자 값과 텍스트를 포함한 VARIANT.
타임스탬프 열: TIMESTAMP_NTZ.
대상 값 열: FLOAT.
TIMESTAMP_COLNAME => 'timestamp_colname'
input_data
에 타임스탬프가 포함된 열의 이름입니다.TARGET_COLNAME => 'target_colname'
input_data
에 대상(종속 값)이 포함된 열의 이름입니다.
선택 사항:
SERIES_COLNAME => 'series_colname'
다중 시계열 모델의 경우
input_data
에서 다중 시계열을 정의하는 열의 이름입니다. 이 열은 다중 계열에 대한 예측 에 표시된 것처럼 임의 유형의 값 또는 하나 이상의 다른 열의 값으로 구성된 배열일 수 있습니다.인자를 위치에 따라 제공하는 경우 이것은 두 번째 인자여야 합니다.
CONFIG_OBJECT => config_object
모델 학습 작업 구성에 사용되는 키-값 페어를 포함한 OBJECT 입니다.
키
타입
기본값
설명
on_error
'ABORT'
모델 학습 작업의 오류 처리 방법을 지정하는 문자열(상수)입니다. 이는 여러 계열을 학습할 때 가장 유용합니다. 지원되는 값은 다음과 같습니다.
'abort'
: 시계열에서 오류가 발생하면 학습 작업을 중단합니다.'skip'
: 학습에서 오류가 발생하는 시계열을 건너뜁니다. 이를 통해 다른 시계열에 대한 모델 학습이 성공할 수 있습니다. 어떤 계열이 실패했는지 확인하려면 모델의 <name>!SHOW_TRAINING_LOGS 메서드를 사용하십시오.
evaluate
TRUE
평가 메트릭을 생성해야 하는지 여부입니다. TRUE인 경우
evaluation_config
의 매개 변수를 사용하여 교차 검증을 위해 추가 모델이 학습됩니다.evaluation_config
아래의 평가 구성 섹션을 참조하십시오.
샘플 외부 평가 메트릭을 생성하는 방법을 지정하는 선택적 구성 오브젝트입니다.
평가 구성¶
evaluation_config
오브젝트에는 교차 검증을 구성하는 키-값 페어가 포함되어 있습니다. 이러한 매개 변수는 scikit-learn의 TimeSeriesSplit 에서 가져온 것입니다.
사용법 노트¶
클래스 인스턴스의 복제 는 현재 지원되지 않습니다.
SHOW SNOWFLAKE.ML.FORECAST¶
모든 예측 모델을 나열합니다.
구문¶
SHOW SNOWFLAKE.ML.FORECAST [ LIKE <pattern> ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
매개 변수¶
LIKE 'pattern'
오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(
%
및_
) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.예를 들어, 다음 패턴은 같은 결과를 반환합니다.
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. 기본값: 값 없음(출력에 필터링이 적용되지 않음).
[ IN ... ]
선택적으로 명령의 범위를 지정합니다. 다음 중 하나를 지정합니다.
ACCOUNT
전체 계정의 레코드를 반환합니다.
DATABASE
, .DATABASE db_name
현재 사용 중인 데이터베이스 또는 지정된 데이터베이스(
db_name
)의 레코드를 반환합니다.db_name
없이DATABASE
를 지정하고 사용 중인 데이터베이스가 없는 경우 키워드는 출력에 아무런 영향도 주지 않습니다.SCHEMA
, .SCHEMA schema_name
, .schema_name
현재 사용 중인 스키마 또는 지정된 스키마(
schema_name
)의 레코드를 반환합니다.데이터베이스가 사용 중이거나 정규화된
schema_name
(예:db.schema
)을 지정하는 경우SCHEMA
는 선택 사항입니다.사용 중인 데이터베이스가 없으면
SCHEMA
를 지정해도 출력에 아무런 영향도 주지 않습니다.
기본값: 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.
데이터베이스:
DATABASE
가 기본값입니다(즉, 이 명령은 데이터베이스에서 볼 권한이 있는 오브젝트를 반환함).데이터베이스 없음:
ACCOUNT
가 기본값입니다(즉, 이 명령은 계정에서 볼 권한이 있는 오브젝트를 반환함).
출력¶
명령 출력은 다음 열에 모델 속성 및 메타데이터를 제공합니다.
열 |
설명 |
---|---|
created_on |
모델이 생성된 날짜 및 시간 |
name |
모델의 이름 |
데이터베이스_이름 |
모델이 저장되는 데이터베이스 |
스키마_이름 |
모델이 저장되는 스키마 |
current_version |
모델 알고리즘의 버전 |
comment |
모델에 대한 설명 |
owner |
모델을 소유한 역할 |
DROP SNOWFLAKE.ML.FORECAST¶
현재 스키마 또는 지정된 스키마에서 지정된 모델을 제거합니다. 삭제된 모델은 복구할 수 없으며, 다시 만들어야 합니다.
구문¶
DROP SNOWFLAKE.ML.FORECAST [ IF EXISTS ] <name>;
매개 변수¶
name
삭제할 모델의 식별자를 지정합니다. 식별자에 공백, 특수 문자 또는 대/소문자가 혼합된 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
모델 식별자가 (
db_name.schema_name.name
또는schema_name.name
형식으로) 정규화되지 않은 경우 이 명령은 세션의 현재 스키마에서 모델을 찾습니다.
<name>!FORECAST¶
이전에 학습된 모델 name
에서 예측을 생성합니다.
구문¶
필요한 인자는 모델이 학습된 사용 사례에 따라 다릅니다.
외생 변수가 없는 단일 계열 모델의 경우:
<name>!FORECAST(
FORECASTING_PERIODS => <forecasting_periods>,
[ CONFIG_OBJECT => <config_object> ]
);
외생 변수가 있는 단일 계열 모델의 경우:
<name>!FORECAST(
INPUT_DATA => <input_data>,
TIMESTAMP_COLNAME => '<timestamp_colname>',
[ CONFIG_OBJECT => <config_object> ]
);
외생 변수가 없는 다중 계열 모델의 경우:
<name>!FORECAST(
SERIES_VALUE => <series>,
FORECASTING_PERIODS => <forecasting_periods>,
[ CONFIG_OBJECT => <config_object> ]
);
외생 변수가 있는 다중 계열 모델의 경우:
<name>!FORECAST(
SERIES_VALUE => <series>,
SERIES_COLNAME => <series_colname>,
INPUT_DATA => <input_data>,
TIMESTAMP_COLNAME => '<timestamp_colname>',
[ CONFIG_OBJECT => <config_object> ]
);
인자¶
필수:
모든 사용 사례에 다음 인자가 모두 필요한 것은 아닙니다.
FORECASTING_PERIODS => forecasting_periods
외생 변수가 없는 예측에 필요합니다.
예측할 다음 단계의 수입니다. 단계 사이의 간격은 학습 중에 모델이 유추합니다.
INPUT_DATA => input_data
외생 변수가 있는 예측에 필요합니다.
모델을 학습할 때
input_data
로 전달된 외생 변수(사용자가 추가로 제공한 특징)의 미래 타임스탬프와 값을 포함하는 테이블, 뷰 또는 쿼리에 대한 참조 입니다. 참조를 사용하면 제한된 권한으로 실행되는 예측 프로세스에서 사용자의 권한을 사용하여 데이터에 액세스할 수 있습니다. 열은 이 인자와 원래 외생 학습 데이터 간에 이름으로 매칭됩니다.TIMESTAMP_COLNAME => 'timestamp_colname'
외생 변수가 있는 예측에 필요합니다.
타임스탬프를 포함한
input_data
에 있는 열의 이름입니다.SERIES_COLNAME => 'series_colname'
외생 변수가 있는 다중 계열 예측에 필요합니다.
계열을 지정하는
input_data
에 있는 열의 이름입니다.SERIES_VALUE => series
다중 계열 예측에 필요합니다.
예측할 시계열입니다. 단일 값(예:
'Series A'::variant
) 또는 VARIANT 일 수 있지만, 모델 학습의 기반이 된 계열을 지정해야 합니다. 지정하지 않으면 학습된 계열이 전부 예측됩니다.
선택 사항:
CONFIG_OBJECT => config_object
예측 작업 구성에 사용되는 키-값 페어를 포함한 OBJECT 입니다.
키
타입
기본값
설명
prediction_interval
0.95
0.0보다 크거나 같고 1.0보다 작은 값입니다. 기본값은 0.95로, 미래 시점의 95%가 예측 결과에서 [lower_bound, upper_bound] 구간 내에 속할 것으로 예상된다는 의미입니다.
on_error
'ABORT'
오류 처리 방법을 지정하는 문자열(상수)입니다. 이는 여러 계열을 예측할 때 가장 유용합니다. 지원되는 값은 다음과 같습니다.
'abort'
: 시계열에서 오류가 발생하면 모델 예측 작업을 중단합니다.'skip'
: 예측에서 오류가 발생하는 시계열을 건너뜁니다. 이를 통해 다른 시계열에 대한 예측이 성공할 수 있습니다. 실패한 계열에서 모델 출력에서 빠지게 됩니다.
출력¶
SERIES 열은 다중 계열 예측에만 존재합니다. 단일 계열 예측에는 이 열이 없습니다.
열 |
타입 |
설명 |
---|---|---|
SERIES |
계열 값(모델이 다중 시계열로 학습된 경우) |
|
TS |
타임스탬프입니다. |
|
FORECAST |
예측 목표값입니다. |
|
LOWER_BOUND |
예측 구간의 하한입니다. |
|
UPPER_BOUND |
예측 구간의 상한입니다. |
<name>!EXPLAIN_FEATURE_IMPORTANCE¶
모델에서 사용하는 각 특징의 상대적인 특징 중요도를 반환합니다.
구문¶
<name>!EXPLAIN_FEATURE_IMPORTANCE();
출력¶
SERIES 열은 다중 계열 예측에만 존재합니다. 단일 계열 예측에는 이 열이 없습니다.
열 |
타입 |
설명 |
---|---|---|
SERIES |
계열 값(모델이 다중 시계열로 학습된 경우) |
|
RANK |
특정 계열에 대한 특징의 중요도 순위입니다. |
|
FEATURE_NAME |
모델 학습에 사용되는 특징의 이름입니다. |
|
IMPORTANCE_SCORE |
특징의 중요도 점수: [0, 1]의 값으로, 0은 가능한 가장 낮은 중요도이고 1은 가능한 가장 높은 중요도입니다. |
|
FEATURE_TYPE |
특징의 출처입니다. 다음 중 하나:
|
<name>!SHOW_EVALUATION_METRICS¶
시계열 교차 검증을 사용하여 생성된 샘플 외부 평가 메트릭을 반환합니다. 메트릭은 모델 구성 중 CONFIG_OBJECT
의 evaluate=TRUE
인 경우에만 사용할 수 있습니다(이것이 기본값임).
구문¶
<name>!SHOW_EVALUATION_METRICS();
출력¶
SERIES 열은 다중 계열 예측에만 존재합니다. 단일 계열 예측에는 이 열이 없습니다.
열 |
타입 |
설명 |
---|---|---|
SERIES |
계열 값(모델이 다중 시계열로 학습된 경우에만 존재함) |
|
ERROR_METRIC |
사용된 오차 메트릭의 이름입니다. 이 메서드는 다음 메트릭을 반환합니다. 점 메트릭:
간격 메트릭: 이 메트릭은 평가 구성 의
|
|
LOGS |
오류 또는 경고 메시지가 포함되어 있습니다. |
<name>!SHOW_TRAINING_LOGS¶
모델 학습에서 로그를 반환합니다. 학습 CONFIG_OBJECT
에 'ON_ERROR' = 'SKIP'
이 설정된 경우에만 출력이NULL이 아니며, 그렇지 않으면 전체 모델이 학습에 실패합니다.
구문¶
<name>!SHOW_TRAINING_LOGS();
출력¶
SERIES 열은 다중 계열 모델에만 존재합니다. 단일 계열 모델에는 이 열이 없습니다.
열 |
타입 |
설명 |
---|---|---|
SERIES |
계열 값(모델이 다중 시계열로 학습된 경우) |
|
LOGS |
학습 중에 발생한 오류가 포함된 오브젝트입니다. 현재 유일한 키는 오류 배열인 |
예¶
예 섹션을 참조하십시오.