Feature Extraction 은 데이터의 특징을 찾아내고 기계 학습 성능을 향상시키고는 합니다. Feature Extraction은 다양한 시계열 분석에서 사용되기도 하고, decomposition techniques 에도 사용되기도 합니다.
SAS에서는 SAS/ETS® 및 SAS® Visual Forecasting 소프트웨어를 사용해서 Time Series Feature Extraction 을 할 수 있습니다.
이번 게시글은 Time Series 에서 Feature Extration 하는 방법에 대해 서술 하려고 합니다.
트랜잭션 데이터는 빈틈 없이 시간의 흐름에 따라 수집된 타임스탬프 데이터입니다.
거래 데이터의 예는 다음과 같습니다.
internat data - ex) website vistis per hour
point of sales(POS) data - ex) sales per month
inventory data - ex) inventory draws per week
call center data - ex) calls per day
trading data - ex) trades per weekday
시계열에서 사용된 시간 가격은 시간별, 일별, 주별, 월별, 분기별, 연도별 등 다양한 시간 주기가 존재합니다.
트랜잭션 데이터를 시계열 형식으로 집계하는 것을 종종 시계열 축적이라고 한다.
Time Series에서 Decomposition은 중요한 개념 중 하나입니다.
Time Series Decomposition은 시계열 데이터를 추세/순환/계절 불규칙 요소로 분해하는 기법입니다.
여기서 추세(trend)는 장기적으로 증가하거나 감소하는 것이며, 추세가 선형적이지 않을 수도 있습니다.
순환(cyle)은 경기변동과 같이 정치, 경제, 사회적 요인에 의한 변화로 일정 주기가 없으며 장기적인 변화 현상입니다.
계절성(seasonal)이란 주, 월, 분기, 반기 단위 등 특정 시간의 주기로 나타나는 패턴입니다.
불규직요소(Random, Residual)이란 설명될 수 없는 요인 또는 돌발적인 요인에 의하여 일어나는 변화로 예측 불가능한 임의의 변동을 의미합니다. 분해법에서는 원래 데이터에서 추세, 순환, 계절성을 뺀 나머지 불규칙 요소입니다.
즉, 시계열 데이터는 추세, 순환, 계절성, 불규칙 요소로 이루어져 있으며 이를 식으로 나타내며 다음과 같습니다.
1. 덧셈 분해(additive decomposition)
여기서 yt 는 데이터이고, t는 시점, St 는 계절 성분, Tt 는 추세 및 순환 성분, Rt 는 불규칙 요소를 의미합니다.
2. 곱셈분해(Multiplicative Decomposition)
multiplicative 모델을 활용하려면 데이터에서 0이 있으면 안됩니다.
덧셈분해와 곱셈분해의 차이점은,
덧셈 분해는 trend와 seasonal 이 별개이고, 곱셈분해는 trend에 따라 Seasonal 이 변화합니다.
" Monthly International Airline travel, Jan 1949 - Dec 1960 "
실습에 이용할 데이터는 SAShelp 에 있는 air 데이터로 144개의 관측치가 있고 변수는 날짜(Date)와 승객 수( air) 두 가지 변수를 갖는 데이터 입니다.
proc timeseries data=sashelp.air
out=_NULL_
outdecomp = decomp
plot=(decomp);
id date interval=month;
var air;
run;
위의 Syntax는 timeseries 분석을 하기 위한 아주 기본적인 Syntax입니다.
증가하는 추세와 일부 계절적 패턴을 파악할 수 있습니다. 겨울에는 낮고 여름에는 높다라는 계절성을 위의 4개의 plot 에서도 모두 확인됩니다.
분해 데이터 세트에는 영상 시리즈 성분과 계절 조정된 영상 시리즈가 포함됩니다.
고전적인 추세/계절 분해는 이동 평균을 사용하여 시계열을 분해합니다.
복잡하고 유연한 모델 클래스를 사용하여 분해를 refine할 수 있습니다.
ESM(Exponential Smoothing Decomposition) procedure은 additive Holt-Winters 모델을 시리즈 로그에 적합합니다.
proc esm data=sashelp.air out=_null_
lead=0
back=0
plot=(trend season);
id date interval=month;
forecast air / model=addwinters transform=log;
run;
추세/계절 분해에 대한 방법은 스펙트럼 분석(SSA) 입니다.
일반적으로 사용되는 주성분 분석(PCA)을 적응시키는 비모수 기법을 사용합니다.
주요 구성 요소는 다음을 발견하고 이해하는 데 도움이 될 수 있습니다.
title "SSA of AIR data";
proc timeseries data=sashelp.air plot=ssa;
id date interval=month;
var air;
ssa / length=12 THRESHOLDPCT=80;
run;
Sashelp.Air 시계열에서 syntax에서 'THRESHOLDPCT'는 두 개의 추가 구성요소를 추출합니다.
THRESHOLDPCT= 옵션은 첫 번째 구성요소가 변수의 80%를 나타내도록 지정합니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.