Microsoft 시계열 알고리즘은 시간이 지남에 따라 제품 판매와 같은 연속 값의 예측에 최적화된 회귀 알고리즘을 제공합니다. 의사 결정 트리와 같은 다른 Microsoft 알고리즘에는 추세를 예측하기 위한 입력으로 새 정보의 추가 열이 필요하지만 시계열 모델은 그렇지 않습니다. 시계열 모델은 모델을 만드는 데 사용되는 원래 데이터 세트에 따라 추세를 예측할 수 있습니다. 예측을 수행하고 추세 분석에 새 데이터를 자동으로 통합할 때 모델에 새 데이터를 추가할 수도 있습니다.
다음 다이어그램은 시간에 따라 4개의 서로 다른 판매 지역에서 제품의 판매를 예측하는 일반적인 모델을 보여 줍니다. 다이어그램에 표시된 모델은 빨간색, 노란색, 자주색 및 파란색 선으로 그려진 각 지역의 매출을 보여줍니다. 각 지역의 줄에는 다음 두 부분이 있습니다.
기록 정보는 세로선의 왼쪽에 나타나고 알고리즘이 모델을 만드는 데 사용하는 데이터를 나타냅니다.
예측 정보는 세로선의 오른쪽에 나타나고 모델이 만드는 예측을 나타냅니다.
원본 데이터와 예측 데이터의 조합을 계열이라고합니다.
Microsoft 시계열 알고리즘의 중요한 기능은 교차 예측을 수행할 수 있다는 것입니다. 별도의 두 개의 관련 계열을 사용하여 알고리즘을 학습하는 경우 결과 모델을 사용하여 다른 계열의 동작에 따라 한 계열의 결과를 예측할 수 있습니다. 예를 들어 한 제품의 관찰된 판매는 다른 제품의 예상 판매에 영향을 줄 수 있습니다. 교차 예측은 여러 계열에 적용할 수 있는 일반 모델을 만드는 데에도 유용합니다. 예를 들어 특정 지역에 대한 예측은 좋은 품질의 데이터가 부족하기 때문에 불안정합니다. 4개 지역 모두의 평균으로 일반 모델을 학습한 다음 개별 계열에 모델을 적용하여 각 지역에 대해 보다 안정적인 예측을 만들 수 있습니다.
예시
Adventure Works Cycles의 관리 팀은 내년에 월간 자전거 판매량을 예측하려고 합니다. 이 회사는 특히 한 자전거 모델의 판매를 사용하여 다른 모델의 판매를 예측할 수 있는지 여부에 관심이 있습니다. 이 회사는 지난 3년 동안의 기록 데이터에 Microsoft Time Series 알고리즘을 사용하여 향후 자전거 판매를 예측하는 데이터 마이닝 모델을 생성할 수 있습니다. 또한 회사는 교차 예측을 수행하여 개별 자전거 모델의 판매 추세가 관련되어 있는지 확인할 수 있습니다.
각 분기마다 회사는 최근 판매 데이터로 모델을 업데이트하고 예측을 업데이트하여 최근 추세를 모델링할 계획입니다. 판매 데이터를 정확하거나 일관되게 업데이트하지 않는 저장소를 수정하기 위해 일반 예측 모델을 만들고 이를 사용하여 모든 지역에 대한 예측을 만듭니다.
알고리즘 작동 방식
SQL Server 2005에서 Microsoft 시계열 알고리즘은 단일 알고리즘인 ARTXP를 사용했습니다. ARTXP 알고리즘은 단기 예측에 최적화되었으므로 시리즈의 다음 가능성이 있는 값을 예측했습니다. SQL Server 2008부터 Microsoft 시계열 알고리즘은 ARTXP 알고리즘과 두 번째 알고리즘인 ARIMA를 모두 사용합니다. ARIMA 알고리즘은 장기 예측에 최적화되어 있습니다. ARTXP 및 ARIMA 알고리즘의 구현에 대한 자세한 설명은 Microsoft 시계열 알고리즘 기술 참조를 참조하세요.
기본적으로 Microsoft 시계열 알고리즘은 패턴을 분석하고 예측을 할 때 알고리즘의 혼합을 사용합니다. 이 알고리즘은 동일한 데이터에 대해 두 개의 개별 모델을 학습합니다. 한 모델은 ARTXP 알고리즘을 사용하고 한 모델은 ARIMA 알고리즘을 사용합니다. 그런 다음 알고리즘은 두 모델의 결과를 혼합하여 가변적인 시간 조각 수에 대해 최상의 예측을 생성합니다. ARTXP는 단기 예측에 가장 적합하기 때문에 일련의 예측이 시작될 때 가중치가 더 많이 적용됩니다. 그러나 예측하는 시간 조각이 미래로 더 많이 이동함에 따라 ARIMA는 가중치가 더 많이 적용됩니다.
또한 시계열에서 단기 또는 장기 예측을 선호하도록 알고리즘의 혼합을 제어할 수 있습니다. SQL Server 2008 Standard부터 Microsoft 시계열 알고리즘에서 다음 설정 중 하나를 사용하도록 지정할 수 있습니다.
단기 예측에는 ARTXP만 사용합니다.
장기 예측에는 ARIMA만 사용합니다.
두 알고리즘의 기본 혼합을 사용합니다.
SQL Server 2008 Enterprise부터 Microsoft 시계열 알고리즘이 예측을 위해 모델을 혼합하는 방법을 사용자 지정할 수 있습니다. 혼합 모델을 사용하는 경우 Microsoft 시계열 알고리즘은 다음과 같은 방식으로 두 알고리즘을 혼합합니다.
ARTXP만 항상 처음 몇 가지 예측을 만드는 데 사용됩니다.
처음 몇 가지 예측 후에 ARIMA와 ARTXP의 조합이 사용됩니다.
예측 단계 수가 증가함에 따라 ARTXP가 더 이상 사용되지 않을 때까지 예측은 ARIMA에 더 많이 의존합니다.
혼합 지점, ARTXP의 가중치가 감소되는 속도 및 PREDICTION_SMOOTHING 매개 변수를 설정하여 ARIMA의 가중치를 증가시키는 것을 제어합니다.
두 알고리즘 모두 여러 수준에서 데이터의 계절성을 검색할 수 있습니다. 예를 들어 데이터에는 연간 주기 내에 중첩된 월별 주기가 포함될 수 있습니다. 이러한 계절 주기를 감지하려면 주기 힌트를 제공하거나 알고리즘이 주기를 자동으로 검색하도록 지정할 수 있습니다.
주기성 외에도 주기를 감지하거나, 예측을 하거나, 사례를 분석할 때 Microsoft 시계열 알고리즘의 동작을 제어하는 몇 가지 다른 매개 변수가 있습니다. 알고리즘 매개 변수를 설정하는 방법에 대한 자세한 내용은 Microsoft 시계열 알고리즘 기술 참조를 참조하세요.
시계열 모델에 필요한 데이터
데이터 마이닝 모델 학습에 사용할 데이터를 준비할 때 특정 모델에 대한 요구 사항과 데이터 사용 방법을 이해해야 합니다.
각 예측 모델에는 변경이 발생하는 시간 조각 또는 다른 계열을 지정하는 열인 사례 계열이 포함되어야 합니다. 예를 들어 이전 다이어그램의 데이터는 몇 개월 동안의 기록 및 예측 자전거 판매에 대한 시리즈를 보여줍니다. 이 모델의 경우 각 지역은 계열이고 날짜 열에는 시계열이 포함되며 이는 사례 계열이기도 합니다. 다른 모델에서 사례 계열은 텍스트 필드 또는 고객 ID 또는 트랜잭션 ID와 같은 일부 식별자일 수 있습니다. 그러나 시계열 모델은 항상 해당 사례 계열에 날짜, 시간 또는 기타 고유한 숫자 값을 사용해야 합니다.
시계열 모델에 대한 요구 사항은 다음과 같습니다.
단일 키 시간 열 각 모델에는 모델이 사용할 시간 조각을 정의하는 사례 계열로 사용되는 하나의 숫자 또는 날짜 열이 포함되어야 합니다. 키 시간 열의 데이터 형식은 datetime 데이터 형식 또는 숫자 데이터 형식일 수 있습니다. 그러나 열에는 연속 값이 포함되어야 하며 각 계열에 대해 값이 고유해야 합니다. 시계열 모델의 사례 계열은 Year 열 및 Month 열과 같은 두 열에 저장할 수 없습니다.
예측 가능한 열 각 모델에는 알고리즘이 시계열 모델을 빌드할 예측 가능한 열이 하나 이상 포함되어야 합니다. 예측 가능한 열의 데이터 형식에는 연속 값이 있어야 합니다. 예를 들어 수입, 판매 또는 온도와 같은 숫자 특성이 시간에 따라 어떻게 변하는지 예측할 수 있습니다. 그러나 구매 상태 또는 교육 수준과 같은 불연속 값이 포함된 열을 예측 가능한 열로 사용할 수는 없습니다.
선택적 계열 키 열 각 모델에는 계열을 식별하는 고유 값이 포함된 추가 키 열이 있을 수 있습니다. 선택적 계열 키 열에는 고유한 값이 포함되어야 합니다. 예를 들어 시간 조각마다 각 제품 이름에 대한 레코드가 하나만 있는 한 단일 모델은 많은 제품 모델에 대한 판매를 포함할 수 있습니다.
Microsoft 시계열 모델에 대한 입력 데이터는 여러 가지 방법으로 정의할 수 있습니다. 그러나 입력 사례의 형식이 마이닝 모델의 정의에 영향을 주므로 비즈니스 요구 사항을 고려하고 그에 따라 데이터를 준비해야 합니다. 다음 두 예제에서는 입력 데이터가 모델에 미치는 영향을 보여 줍니다. 두 예제에서 완성된 마이닝 모델에는 다음과 같은 네 가지 고유 계열에 대한 패턴이 포함되어 있습니다.
제품 A에 대한 판매
제품 B의 판매액
제품 A용 볼륨
제품 B의 볼륨
두 예제 모두 각 제품의 향후 판매액과 볼륨을 예측할 수 있습니다. 제품 또는 시간에 대한 새 값을 예측할 수 없습니다.
예제 1: 계열이 열 값으로 표시된 시계열 데이터 집합
이 예제에서는 다음 입력 사례 표를 사용합니다.
| TimeID | 제품 | 영업 | 음량 |
|---|---|---|---|
| 1/2001 | A | 1000 | 600 |
| 2/2001 | A | 1100 | 500 |
| 1/2001 | b | 500 | 900 |
| 2/2001 | b | 300 | 890 |
테이블의 TimeID 열에는 시간 식별자가 포함되며 매일 두 개의 항목이 있습니다. TimeID 열은 사례 시리즈로 설정됩니다. 따라서 이 열을 시계열 모델의 키 시간 열로 지정합니다.
Product 열은 데이터베이스의 제품을 정의합니다. 이 열에는 제품 계열이 포함되어 있습니다. 따라서 이 열을 시계열 모델의 두 번째 키로 지정합니다.
Sales 열은 하루 동안 지정된 제품의 총 수익을 설명하고 볼륨 열은 웨어하우스에 남아 있는 지정된 제품의 수량을 설명합니다. 이 두 열에는 모델을 학습시키는 데 사용되는 데이터가 포함됩니다. Sales 및 Volume은 제품 열의 각 계열에 대해 예측 가능한 특성일 수 있습니다.
예제 2: 각 계열이 별도의 열에 있는 시계열 데이터 집합
이 예제에서는 기본적으로 첫 번째 예제와 동일한 입력 데이터를 사용하지만 다음 표와 같이 입력 데이터는 다르게 구조화됩니다.
| TimeID | A_Sales | A_Volume | B_Sales | B_볼륨 |
|---|---|---|---|---|
| 1/2001 | 1000 | 600 | 500 | 900 |
| 2/2001 | 1100 | 500 | 300 | 890 |
이 표에서 TimeID 열에는 키 시간 열로 지정한 시계열 모델의 사례 계열이 여전히 포함되어 있습니다. 그러나 이전 Sales 및 Volume 열은 이제 두 개의 열로 분할되고 각 열 앞에 제품 이름이 지정됩니다. 따라서 TimeID 열에 매일 하나의 항목만 존재합니다. 이렇게 하면 A_Sales, A_Volume, B_Sales 및 B_Volume 네 개의 예측 가능한 열이 포함된 시계열 모델이 만들어집니다.
또한 제품을 서로 다른 열로 구분했으므로 추가 계열 키 열을 지정할 필요가 없습니다. 모델의 모든 열은 사례 계열 열 또는 예측 가능한 열입니다.
시계열 모델 보기
모델을 학습한 후에는 결과를 패턴 집합으로 저장합니다. 이 패턴은 예측에 대해 탐색하거나 사용할 수 있습니다.
모델을 탐색하려면 시계열 뷰어를 사용할 수 있습니다. 뷰어에는 향후 예측을 표시하는 차트와 데이터의 주기적 구조에 대한 트리 뷰가 포함됩니다.
예측을 계산하는 방법에 대해 자세히 알아보려면 Microsoft 일반 콘텐츠 트리 뷰어에서 모델을 찾아볼 수 있습니다. 모델에 대해 저장된 콘텐츠에는 ARIMA 및 ARTXP 알고리즘에서 감지한 주기적 구조, 알고리즘을 혼합하는 데 사용되는 수식 및 기타 통계와 같은 세부 정보가 포함됩니다.
시계열 예측 만들기
기본적으로 시계열 모델을 볼 때 Analysis Services는 계열에 대한 5가지 예측을 표시합니다. 그러나 다양한 수의 예측을 반환하는 쿼리를 만들 수 있으며 예측에 열을 추가하여 설명이 포함된 통계를 반환할 수 있습니다. 시계열 모델에 대한 쿼리를 만드는 방법에 대한 자세한 내용은 시계열 모델 쿼리 예제를 참조하세요. DMX(데이터 마이닝 확장)를 사용하여 시계열 예측을 만드는 방법에 대한 예제는 DMX(PredictTimeSeries)를 참조하세요.
Microsoft 시계열 알고리즘을 사용하여 예측을 수행할 때는 다음과 같은 추가 제한 사항 및 요구 사항을 고려해야 합니다.
교차 예측은 혼합 모델 또는 ARTXP 알고리즘을 기반으로 하는 모델을 사용하는 경우에만 사용할 수 있습니다. ARIMA 알고리즘에만 기반한 모델을 사용하는 경우 교차 예측은 불가능합니다.
시계열 모델은 서버에서 사용하는 64비트 운영 체제에 따라 때때로 크게 다른 예측을 수행할 수 있습니다. 이러한 차이는 Itanium 기반 시스템이 부동 소수점 산술 연산의 숫자를 나타내고 처리하는 방식 때문에 발생하며, 이는 x64 기반 시스템이 이러한 계산을 수행하는 방식과 다릅니다. 예측 결과는 운영 체제에 따라 달라질 수 있으므로 프로덕션에서 사용할 운영 체제와 동일한 운영 체제에서 모델을 평가하는 것이 좋습니다.
비고
PMML(예측 모델 태그 언어)을 사용하여 마이닝 모델을 만드는 것은 지원하지 않습니다.
OLAP 마이닝 모델의 사용을 지원합니다.
데이터 마이닝 차원의 생성을 지원하지 않습니다.
드릴스루 기능을 지원합니다.
또한 참조하십시오
데이터 마이닝 알고리즘(Analysis Services - 데이터 마이닝)
Microsoft 시계열 뷰어를 사용하여 모델 찾아보기
Microsoft 시계열 알고리즘 기술 참조
시계열 모델 쿼리 예제
시계열 모델에 대한 마이닝 모델 콘텐츠(Analysis Services - 데이터 마이닝)