Microsoft 시계열 알고리즘 기술 참조

Microsoft 시계열 알고리즘에는 별개인 두 개의 알고리즘이 포함되어 있습니다.

  • SQL Server 2005에서 소개된 ARTXP 알고리즘은 계열의 적절한 다음 값을 예측하도록 최적화되어 있습니다.

  • ARIMA 알고리즘은 장기 예측의 정확도를 향상시키기 위해 SQL Server 2008에서 추가되었습니다.

기본적으로 Analysis Services에서는 각 알고리즘을 별개로 사용하여 모델 학습을 수행한 다음 결과를 혼합하여 여러 개의 예측에 대한 최상의 예측을 생성합니다. 또한 데이터 및 예측 요구 사항을 기반으로 하는 알고리즘 중 하나만 사용할 수도 있습니다. SQL Server 2008 Enterprise에서는 예측 중 알고리즘 혼합을 제어하는 구분 시점을 사용자 지정할 수도 있습니다.

이 항목에서는 각 알고리즘이 구현되는 방법과 분석 및 예측 결과를 세부 조정하기 위해 매개 변수를 설정하여 알고리즘을 사용자 지정하는 방법에 대한 추가 정보를 제공합니다.

시계열 알고리즘의 구현

Microsoft Research에서는 주기 시계열 데이터를 나타내는 자동 회귀 트리 모델인 Microsoft 의사 결정 트리 알고리즘을 기반으로 하는 ARTXP 알고리즘을 개발했습니다. ARTXP 알고리즘은 다양한 수의 과거 항목을 예측 중인 각 현재 항목과 연결합니다. ART 알고리즘 또는 자동 회귀 트리 방법이 알려지지 않은 여러 이전 상태에 적용된다는 점에서 ARTXP라는 이름을 갖게 되었습니다. ARTXP 알고리즘에 대한 자세한 내용은 시계열 분석을 위한 자동 회귀 트리 모델(Autoregressive Tree Models for Time-Series Analysis)을 참조하십시오.

ARIMA 알고리즘은 장기 예측에 사용되며 Box-Jenkins에 의해 개발된 ARIMA 알고리즘을 구현한 것입니다. ARIMA 또는 자동 회귀 통합 이동 평균은 순차적인 시간에 관찰된 사항에서 종속성을 확인하기 위한 잘 알려진 방법입니다. 또한 이 알고리즘은 승제 계절성을 지원합니다. ARIMA 알고리즘에서는 자동 회귀 조건과 이동 평균 조건이 모두 사용됩니다.

ARTXP 알고리즘에서는 교차 예측을 지원하지만 ARIMA 알고리즘에서는 교차 예측을 지원하지 않습니다. 따라서 교차 예측은 알고리즘을 혼합하여 사용하는 경우나 ARTXP만 사용하도록 모델을 구성한 경우에만 사용할 수 있습니다.

Microsoft 시계열 알고리즘 사용자 지정

Microsoft 시계열 알고리즘은 결과 마이닝 모델의 동작, 성능 및 정확도에 영향을 주는 여러 매개 변수를 지원합니다.

계절성 검색

두 알고리즘은 모두 계절성 또는 주기 검색을 지원합니다. Analysis Services에서는 고속 푸리에 변환을 사용하여 학습 전에 계절성을 검색합니다.

최상의 결과를 얻기 위해 알고리즘 매개 변수를 설정하여 계절성 검색을 제어할 수 있습니다. AUTODETECT_SEASONALITY의 값을 변경하여 생성되는 가능한 시간 세그먼트의 수에 영향을 줄 수 있습니다. PERIODICITY_HINT에 대한 하나 또는 여러 개의 값을 설정하여 알려진 반복 기간에 대한 정보를 알고리즘에 제공하고 검색의 정확도를 높일 수 있습니다.

[!참고]

ARTXP 및 ARIMA 알고리즘은 둘 다 계절성 힌트에 민감합니다. 따라서 잘못된 힌트를 제공하면 결과에 부정적인 영향을 줄 수 있습니다.

알고리즘 혼합

기본적으로 Analysis Services에서는 알고리즘을 결합하고 동일하게 가중치를 적용합니다. 그러나 SQL Server 2008 Enterprise에서는 MIXED 옵션을 선택하고 단기 또는 장기 예측 결과에 가중치를 적용하는 매개 변수를 설정하여 결과의 혼합을 사용자 지정할 수 있습니다.

ARIMA에서 교차 예측을 지원하지 않으므로 교차 예측을 사용하려면 ARTXP 또는 MIXED 옵션을 사용해야 합니다.

알고리즘 선택을 제어하려면 FORECAST_METHOD 매개 변수를 설정합니다. 기본적으로 FORECAST_METHOD 매개 변수가 MIXED로 설정되며 Analysis Services에서는 두 알고리즘을 모두 사용하고 해당 값에 가중치를 적용하여 각 알고리즘의 기능을 극대화합니다. 그러나 FORECAST_METHOD를 ARTXP로 설정하여 ARTXP 알고리즘만 사용하거나 ARIMA로 설정하여 ARIMA 알고리즘만 사용할 수도 있습니다.

SQL Server 2008 Enterprise에서는 ARIMA 및 ARTXP 알고리즘의 조합을 혼합하는 방법을 사용자 지정할 수도 있습니다. PREDICTION_SMOOTHING 매개 변수를 설정하여 혼합을 위한 시작점과 변경 비율을 제어할 수 있습니다.

  • PREDICTION_SMOOTHING을 0으로 설정할 경우 모델은 순수한 ARTXP가 됩니다.

  • PREDICTION_SMOOTHING을 1로 설정할 경우 모델은 순수한 ARIMA가 됩니다.

  • set PREDICTION_SMOOTHING을 0과 1 사이의 값으로 설정할 경우 모델은 예측 단계의 지수적 감소 함수로 ARTXP 알고리즘에 가중치를 적용합니다. 이와 동시에 모델은 ARTXP 가중치의 1의 보수로 ARIMA 알고리즘에 가중치를 적용합니다. 곡선을 부드럽게 만들기 위해 정규화 및 안정화 상수가 모델에서 사용됩니다.

일반적으로 5개까지의 시간 조각을 예측할 경우 ARTXP가 거의 대부분 적합합니다. 그러나 예측할 시간 조각 수가 늘어나면 일반적으로 ARIMA가 더 적합합니다.

다음 다이어그램에서는 PREDICTION_SMOOTHING이 기본값인 0.5로 설정된 경우 모델에서 알고리즘을 혼합하는 방법을 보여 줍니다. 처음에 ARIMA 및 ARTXP에 동일한 가중치가 적용되지만 예측 단계 수가 증가하면서 ARIMA에 더 많은 가중치가 적용됩니다.

시계열 알고리즘 혼합에 대한 기본 커브

반대로 다음 다이어그램에서는 PREDICTION_SMOOTHING이 0.2로 설정된 경우의 알고리즘 혼합을 보여 줍니다. 0 단계의 경우 모델은 ARIMA는 0.2로, ARTXP는 0.8로 가중치를 적용합니다. 그런 다음 ARIMA의 가중치가 지수적으로 증가하고 ARTXP의 가중치가 지수적으로 감소합니다.

시계열 모델 혼합에 대한 감소 커브

알고리즘 매개 변수 설정

다음 표에서는 Microsoft 시계열 알고리즘에서 사용할 수 있는 매개 변수에 대해 설명합니다.

매개 변수

설명

AUTO_DETECT_PERIODICITY

주기를 검색하는 0 및 1 사이의 숫자 값을 지정합니다. 기본값은 0.6입니다.

이 값을 0에 가깝게 설정하면 주기성이 강한 데이터만 검색합니다.

이 값을 1에 가깝게 설정하면 거의 주기적인 패턴을 다양하게 검색하고 주기 힌트를 자동으로 생성할 수 있습니다.

참고참고
많은 주기 힌트를 처리할수록 모델 학습 시간은 현저하게 길어지지만 보다 정확한 모델을 만들 수 있습니다.

COMPLEXITY_PENALTY

의사 결정 트리의 증가를 제어합니다. 기본값은 0.1입니다.

이 값을 줄이면 분할 가능성이 높아지고 값을 늘리면 가능성이 낮아집니다.

참고참고
이 매개 변수는 SQL Server Enterprise에서만 사용할 수 있습니다.

FORECAST_METHOD

분석과 예측에 사용할 알고리즘을 지정합니다. 가능한 값은 ARTXP, ARIMA 또는 MIXED입니다. 기본값은 MIXED입니다.

HISTORIC_MODEL_COUNT

작성할 기록 모델 수를 지정합니다. 기본값은 1입니다.

참고참고
이 매개 변수는 SQL Server Enterprise에서만 사용할 수 있습니다.

HISTORICAL_MODEL_GAP

두 연속 기록 모델 사이의 지연 시간을 지정합니다. 기본값은 10입니다. 이 값은 시간 단위 수를 나타내며 단위는 모델에 의해 정의됩니다.

예를 들어 이 값을 g로 설정하면 간격이 g, 2*g, 3*g 등으로 떨어진 시간 조각으로 데이터가 잘려 기록 모델이 작성됩니다.

참고참고
이 매개 변수는 SQL Server Enterprise에서만 사용할 수 있습니다.

INSTABILITY_SENSITIVITY

예측 분산이 특정 임계값을 초과하고 ARTXP 알고리즘이 예측을 표시하지 않은 지점을 제어합니다. 기본값은 1입니다.

참고참고
이 매개 변수는 ARTXP에만 적용되므로 ARIMA 알고리즘을 사용하여 만든 모델에는 적용되지 않으며, 혼합 모델에 적용할 경우에는 매개 변수가 모델의 ARTXP 부분에만 적용됩니다.

기본값 1은 ARTXP 모델에 대해 SQL Server 2005에서와 동일한 동작을 제공합니다. Analysis Services에서는 각 예측에 대한 정규화된 표준 편차를 모니터링합니다. 예측에 대한 표준 편차가 임계값을 초과하자마자 시계열 알고리즘은 NULL을 반환하고 예측 프로세스를 중지합니다.

0 값은 불안정 검색을 중지합니다. 이는 분산에 상관없이 만들 수 있는 예측 수에 제한이 없다는 것을 의미합니다.

참고참고
이 매개 변수는 SQL Server Enterprise에서만 수정할 수 있습니다. SQL Server Standard의 경우 Analysis Services에서는 기본값 1만 사용됩니다.

MAXIMUM_SERIES_VALUE

예측에 사용할 최대값을 지정합니다. 예측을 일정한 예상 범위로 제한하기 위해 이 매개 변수는 MINIMUM_SERIES_VALUE와 함께 사용됩니다. 예를 들어 특정 날짜의 예측된 판매 수량이 재고가 있는 제품 수를 초과하지 않아야 한다는 것을 지정할 수 있습니다.

참고참고
이 매개 변수는 SQL Server Enterprise에서만 사용할 수 있습니다.

MINIMUM_SERIES_VALUE

예측할 수 있는 최소값을 지정합니다. 예측을 일정한 예상 범위로 제한하기 위해 이 매개 변수는 MAXIMUM_SERIES_VALUE와 함께 사용됩니다. 예를 들어 예측된 판매 수량이 음수가 아니어야 함을 지정할 수 있습니다.

참고참고
이 매개 변수는 SQL Server Enterprise에서만 사용할 수 있습니다.

MINIMUM_SUPPORT

각 시계열 트리에서 분할을 생성하는 데 필요한 최소 시간 조각 수를 지정합니다. 기본값은 10입니다.

MISSING_VALUE_SUBSTITUTION

기록 데이터의 간격을 채우는 방법을 지정합니다. 기본적으로 데이터의 간격은 허용되지 않습니다.

다음 표에서는 이 매개 변수에 사용할 수 있는 값을 나열합니다.

값설명
Previous이전 시간 조각의 값을 반복합니다.
Mean학습에 사용되는 시간 조각의 이동 평균을 사용합니다.
숫자 상수모든 누락된 값을 대체하기 위해 지정된 숫자를 사용합니다.
None누락된 값을 학습된 모델의 곡선을 따라 표시된 값으로 대체합니다. 이 옵션이 기본값입니다.

데이터에 여러 계열이 포함된 경우 계열은 또한 비정형 가장자리를 가질 수 없습니다. 즉, 모든 계열은 동일한 시작점과 끝점을 가져야 합니다.

Analysis Services에서는 또한 시계열 모델에서 PREDICTION JOIN을 수행할 때 새 데이터의 간격을 채우기 위해 이 매개 변수의 값이 사용됩니다.

PERIODICITY_HINT

데이터의 주기성과 관련된 알고리즘에 대한 힌트를 제공합니다. 예를 들어 판매량이 매년 다르고 계열의 측정 단위가 월인 경우 주기성은 12입니다. 이 매개 변수는 {n [, n]} 형식을 사용하며 n은 임의의 양수입니다.

대괄호([]) 안의 n은 선택 사항이며 필요한 만큼 반복할 수 있습니다. 예를 들어 매월 제공되는 데이터에 대한 여러 주기 힌트를 제공하려면 년, 분기 및 월에 대한 패턴을 검색하기 위해 {12, 3, 1}을 입력할 수 있습니다. 그러나 주기는 모델 품질에 큰 영향을 줍니다. 제공한 힌트가 실제 주기와 다르면 결과에 부정적인 영향을 줄 수 있습니다.

기본값은 {1}입니다.

참고참고
중괄호가 필요합니다. 또한 이 매개 변수는 문자열 데이터 형식을 가집니다. 따라서 이 매개 변수를 DMX(Data Mining Extensions) 문의 일부로 입력할 경우 숫자와 중괄호를 따옴표로 묶어야 합니다.

PREDICTION_SMOOTHING

예측을 최적화하기 위해 모델을 혼합해야 하는 방법을 지정합니다. 0 및 1 사이의 값을 입력하거나 다음 값 중 하나를 사용할 수 있습니다.

참고참고
학습을 제어하려면 FORECAST_METHOD 매개 변수를 사용합니다.
값설명
0예측에서 ARTXP만 사용하도록 지정합니다. 예측은 적은 예측에 맞게 최적화됩니다.
1예측에서 ARIMA만 사용하도록 지정합니다. 예측은 많은 예측에 맞게 최적화됩니다.
0.5(기본값) 두 알고리즘 모두 예측에 사용되고 결과가 혼합되도록 지정합니다.
참고참고
이 매개 변수는 SQL Server Enterprise에서만 사용할 수 있습니다.

모델링 플래그

Microsoft 시계열 알고리즘은 다음과 같은 모델링 플래그를 지원합니다. 마이닝 구조나 마이닝 모델을 만들 경우 분석 중 각 열의 값이 처리되는 방법을 지정하기 위해 모델링 플래그를 정의합니다. 자세한 내용은 모델링 플래그(데이터 마이닝)를 참조하십시오.

모델링 플래그

설명

NOT NULL

열에 null 값이 포함될 수 없음을 나타냅니다. 따라서 Analysis Services가 모델 학습 중 Null을 발견할 경우 오류가 발생합니다.

마이닝 구조 열에 적용됩니다.

MODEL_EXISTENCE_ONLY

열이 두 가지 가능한 상태인 Missing 및 Existing 상태를 갖는 것으로 처리됨을 의미합니다. Null은 누락 값입니다.

마이닝 모델 열에 적용됩니다.

요구 사항

시계열 모델은 고유한 값, 입력 열 및 하나 이상의 예측 가능한 열을 포함하는 Key Time 열을 포함해야 합니다.

입력 열과 예측 가능한 열

Microsoft 시계열 알고리즘은 다음 표에 나열된 특정 입력 열 내용 유형, 예측 가능한 열 내용 유형 및 모델링 플래그를 지원합니다.

내용 유형

입력 특성

Continuous, Key, Key Time 및 Table

예측 가능한 특성

Continuous, Table

[!참고]

Cyclical 및 Ordered 내용 유형이 지원되기는 하지만 알고리즘은 해당 유형을 불연속 값으로 처리하고 특수한 처리를 수행하지 않습니다.