이기천 ( 한양대학교산업공학과조교수 ) 2013. 10. 31 ( 목 ) 국민대학교비즈니스 IT 전문대학원
지능데이터시스템연구실 이기천소개 연구분야 Research area Data Mining, Text Mining, Machine Learning, Pattern Recognition Process Mining, Social Network Analysis, Enterprise Service Computing Bioinformatics, Biostatistics, Statistical Computing Time Series Analysis, Wavelet Analysis, Frequency Data Analysis Minimum cut Maximum modularity Minimum dependence 이기천교수 ( 한양대학교산업공학과, 공업센터 705-1 호 ) time t1 t2 강의과목 Undergraduate course Trend/pattern of Personalization & Clustering t3 Data Mining Time Series Analysis Database Management Design of Experiments Applied Probability Models 2
지능데이터시스템연구실 이기천소개 Work Experiences 1998, IBM ( 인턴 ) 1998-1999, ETRI ( 위촉연구원 ) 2000-2001, Internet Consulting Group ( 개발실장 ) 2000, Digital Times IT 컬럼리스트 2001-2006, Tmax Soft ( 연구원 ) 2006, Samsung SDS ( 연구원 ) 2010-2011, Georgia Tech, Emory Univ. (Post-doctoral Researcher) Education 1998, KAIST 산업경영학과 ( 학사 ) 부전공 : 전자공학 2000, KAIST 산업공학과 ( 석사 ) 세부전공 : Human Computer Interaction 2010, Georgia Institute of Technology 산업공학과 ( 통계학박사 ) 3 부전공 : 전자공학
목차 Introduction 시계열데이터분석 요소, 접근방법 전통적방법들 Box-Jenkins 방법 주요개념들 모델결정방법 예측 결론 4
Introduction 시계열데이터 (A time series) 는시간에서순차적으로 (sequentially) 관측한값들의집합 Continuous vs. discrete time series 그럼, Q. Discretize 하는방법은? 1) continuous time series 로부터샘플링 2) 특정기간동안의값들을합치기 (accumulating) 고정된구간사이의시간 1, 2,, N 시점에서관측된값들을아래와같이표현한다 x( 1 ), x( 2 ),, x( N ) 5
Introduction (cont.) 특징 Time periods 는 equal length missing values 가없음 Q. Missing value 가있으면어떻게처리? Expectation-Maximization 방법으로처리 (Missing value를모형을통해예측 ) 일부데이터만 Missing한경우가능 Johnson & Johnson quarterly earnings per share 6
시계열데이터의요소 시계열데이터 ARIMA, ARCH 모형등 패턴요소 랜덤요소 트랜드패턴시즈널패턴주기패턴기타통계적패턴 다양한통계모형적용 ACF, Fourier 방법적용 데이터마이닝기법적용 : 의사결정나무, SVM 등 7
시계열데이터분석의응용 기술적 시계열사이관계분석 (Transfer function 발견 ) 예 : x( 1 ) 와 y( 1 ) 의관계발견 프로세스관리 / 표현방법 예측 (Forecasting) 영역 경제학 ; 비즈니스계획 ; 수요계획 재고및생산관리 산업프로세스관리및최적화센서시그널분석을통한지능화모니터링 8
시계열데이터분석접근방법 자체-추정방법 (Self-projecting) 원인-결과방법 (Cause-and-effect) 9
시계열데이터분석접근방법 (cont.) 자체-추정방법 (Self-projecting) 장점 최소의데이터로빨리, 쉽게분석주로 short-term 예측에이용다른분석의초기분석으로이용 단점 long-term 예측에어려움외부요소고려하지못함 원인-결과방법 (Cause-and-effect) 장점 많은정보이용 mid-term 예측가능 단점좀더복잡한과정필요 10
Self-projecting 의 classical 방법 전체적트랜드를찾아내는방법들 1차, 2차, 트랜드찾아내기예를들어, 아래와같은회귀모형적용 기본 : 다양한통계모형적용 11
Self-projecting 의 classical 방법 (cont.) 전체적트랜드를찾아내는방법들 다음으로트랜드제거 (detrended), 즉잔차 (residual) 을구한다 이시그널에대하여 랜덤요소 분석을실시한다. 예를들어, ARIMA 모형적용 12
Self-projecting 의 classical 방법 (cont.) 1 차트랜드의간단한예로부터생각해볼것들 Q. 항상그림을그려서트랜드를찾아야하나? ( 체계적, 자동화된방법?) 자동상관계수함수 (ACF, auto-correlation function) 등을통계적으로알수있음 항상, 가능하면, 비주얼 plot 을하는것이좋음 Q. 1 차트랜드가아니라다른차수트랜드이면? ( 일반적트랜드를어떻게해결?) 여러가지통계적 smoothing 방법이있음 13
Self-projecting 의 classical 방법 (cont.) Autocorrelation (ACs), Autocorrelation Function(ACF) 자기상관계수 Autocorrelation? 일반적으로 의미? X, Y 의선형적관계의정도 시계열분석에서는 k E ( z t )( z t k 2 z ) 14
Self-projecting 의 classical 방법 (cont.) Autocorrelation (ACs), Autocorrelation Function(ACF) 자기상관계수 Autocorrelation? (cont.) 의미? 자체시계열데이터내에서얼마나선형적연관성이있는가 lag k 의의미? z t 와 k 만큼 shift 시킨 z t-k 사이의연관성 어떻게계산? sample autocorrelation r k N k t 1 (z t N t 1 (z z)(z t t k z) 2 z) k 0,1,2,...k 15
Self-projecting 의 classical 방법 (cont.) Global Temperature 데이터의 Autocorrelation Function(ACF) Original signal Xt 빨리 decay 하지않는다 잔차 Residual Yt 빨리 decay 한다 1 step 차이 Xt- Xt-1 더빨리decay 한다 ACF의모양으로적절한 ARIMA 모형선택가능 16
Self-projecting 의 classical 방법 (cont.) 일반적트랜드찾아내는방법 Polynomial Regression: 통계테스트를통해가장좋은차수의모델을찾아냄 Moving Average Smoother: 가중치 이용하여 5 일평균, 10 일평균등 17
Self-projecting 의 classical 방법 (cont.) 일반적트랜드찾아내는방법 (cont.) Kernel Smoothing: Moving Average Smoother 보다진화된방법으로가중치 wi 를데이터의근접성에기반하여부여하는방법 여기서 K(.) 는 Kernel 함수이고, b 는 smoothing 레벨을결정하는파라미터 18
Self-projecting 의 classical 방법 (cont.) 일반적트랜드찾아내는방법 (cont.) Smoothing Spline: 3 차 cubic polynomial 을사용하여각 knots 별로 polynomial 연속되도록 fitting 함 파라미터 로 smoothing 수준을결정함 19
Self-projecting 의 classical 방법 (cont.) 일반적트랜드찾아내는방법 (cont.) Exponential smoothing: 최근관측치와최근예측치의평균으로다음예측치를계산하는방법 나중에보게될 ARIMA 모형의특수경우가된다, ARIMA(0,1,1) 가장간단한형태는 Exponentially Weighted Moving Averages (EWMA) 라고도불림 이것보다특정트랜드 ( 선형, 시즈널등 ) 을반영하기위한다른종류의 Exponential smoothing 방법도있다 20
Self-projecting 의 classical 방법 (cont.) 일반적트랜드찾아내는방법 (cont.) Nearest Neighbor Regression Lowess Regression 등등여러방법을적용할수있다 일반적으로기초 / 중급 / 고급통계 & 데이터마이닝기법들을적용하여패턴을찾아낸다 명확하게드러나는시즌영향을고려하고 (how?) 구간별로다른패턴을고려하여야한다 21
Self-projecting 의 classical 방법 (cont.) Classical 방법의단점 모형을찾는체계적인방법이없음 Trial-and-error 로모형을찾아야함 선택된방법의좁은 scope 내에서찾게됨 잘작동하는좋은모형인지에대한 ( 이론적 ) 검증이어려움 Box-Jenkins 접근법의 ARIMA 모형이용 22
ARIMA models Autoregressive Integrated Moving-average 넓은범위의시계열데이터를표현할수있음 미래관측치에대한 Confidence Interval 도구할수있음 1960 s Box 와 Jenkins 가경제학관련예측연구 Time series analysis - forecasting and control, by George E. P. Box and Gwilym M. Jenkins Box-Jenkins approach 라고불림 23
ARIMA models (cont.) Box-Jenkins models 더일반적 단일변수 다중변수 (Transfer function) Transfer function model Lagged regression 로이해할수있음 24
ARIMA models (cont.) Transfer function model (cont.) Lagged regression 을좀더자세히적으면, Y t = (B)X t where (B) = 0 + 1 B + 2 B 2 +.. B is the backshift operator B m X t = X t m 프로세스관리에많이사용됨 Control Equation Feed-forward 모델, Feed-back 모델등 설정된 (Deterministic) 변화 ( 즉, 트랜드부분에연결 ) 와 랜덤한변화의부분을동시에고려함 25
ARIMA models (cont.) Transfer function model (cont.) 모델구축과정 Model identification Model estimation Modify model No Is model adequate? 원리가이런절차이고모든부분을종합적으로고려하여모델결정하게된다 Yes Forecasts 26
ARIMA models (cont.) Model identification Autocorrelation 함수와 Partial-autocorrelation 함수를사용 Model estimation Sum of squares of errors 를최소가되게하는모델내의파라미터추정 Noise가정규분포를따른다고가정한경우 Maximum Likelihood Estimation이일반적인방법 Model validation 통계테스트등을통하여모델의타당성검증 여러통계테스트와 AIC/BIC 값 Cross-Validation 개념의내부예측력테스트등을이용 Model forecasting Future 관측치의추정치와 confidence interval 계산 Model 의주요후보군도출 Model 내수치결정 : 예, xt = 3 + 2xt-1 + at -4at-1 좋은 Model 선정 27
주요개념들 Normal 프로세스 Stationary 프로세스 /Invertibility/Causality AC, Partial AC AR, MA 모형 White 노이즈프로세스 선형필터과정 28
Normal (Gaussian) 프로세스 각관측치 z t 는 probability density function p(z t ) 로부터관측됨 특히 pdf를정규분포라고가정함 Q. 다른분포라고가정할수있나? 가능. 그러나, 복잡 -_-; Random 변수의연속된관측치가시계열데이터이다 예를들어 z t1, z t2 는 joint probability density function p(z t1, z t2 ) 으로부터주어진다 29
White Noise 프로세스 Box-Jenkins 모델에서는 Xt 가지금과그이전시점의 uncorrelated된노이즈들의영향으로발생한다고가정한다 White noise et 는다음을만족하는프로세스이다 0 vare E e k t 1 k 0 0 k 0 t 2 e e t, e t-1, e t-2, 를 white noise 프로세스라고한다. 30
Stationary 프로세스 Stationary: 정적인, 움직이지않는 쉬운말로, 시계열데이터의특징이 ( 어느수준범위에서 ) 항상고정되어있을때를말함 통계적으로 ( 간단히 ): p(x t ) 에대해모든 t 에대해동일함 아주강력한가정임 Strictly stationary m 개의관측치 t 1, t 2,, t m 의 joint pdf 와 t 1 + k, t 2 + k,, t m + k 의 joint pdf 가같음 Weakly stationary 평균 E[Xt] 가 t에의존하지않고 Xt와 Xt+k의 Correlation/covariance 이 t에의존하지않음 이개념의 stationarity 를주로사용 31
Stationary 프로세스 (cont.) z t 가 stationary 프로세스이면그것의차이 z t = z t -z t-1 ( 또는고차원의차이 d z t ) 또한 stationary 프로세스가된다 대부분의시계열데이터는 stationary 하지않다 Stationary 한시계열데이터모형으로만들기위해차이를계산한다 (1 st order) x t = (1 B)x t = x t x t-1 (2 nd order) 2 x t = (1 B) 2 x t = x t 2x t-1 + x t-2 d = (1 B) d B 는 backward shift operator 라고부름 32
Stationary 프로세스 (cont.) 단순한차이가 stationary 프로세스로연결되지않을때도있다 이전의 trend 를제거하는방법을사용하는것도좋은방법이다 주어진 Xt 를변환시키는것도좋은방법이다 Q. 어떤변환을사용하여야하는가? 1) 통계적으로 Box-Cox 변환방법을사용하거나 Var[Xt] 의형태가시간 t 에따른형태에따라통계적으로안정적변환을찾아냄 여기서 1 이며 는 33
Stationary 프로세스 (cont.) 주어진 Xt 를변환시키는것도좋은방법이다 (cont.) 2) 문제도메인에맞게, 해석가능하게변환한다 log(x t ) log(x t-1 ) Sqrt(x t ) 그냥 Xt 예 : England 특정지역의연간퇴적층증가 x t 예 : 길이 -> 제곱으로넓이 Rate -> 역수로평균시간등등 log Xt 34
Stationary 프로세스 (cont.) Nonstationary 시계열데이터형태 평균이 t 에의존함 일반적으로, Changeof-point 방법으로최적의구간들을찾을수있음 Box-Jenkins 모형에서는더간단하게 ACF, Partial ACF 으로모형 ( 차이차수포함 ) 의후보를도출 35
ACF, Partial ACF 교회수 R = 0.9, 큰상관관계???? 범죄수 이유는인구수가모두에영향을주기때문이다 교회수 범죄수 인구수 Partial auto-correlation 은 x 와 y 의상관관계를다른변수들 z 의영향을빼고계산한다 36
ACF, Partial ACF (cont.) 더정확하게시계열에서 lag k에대한 Partial auto-correlation 아래와같은회귀식의 θ kk 을계산하는것이다. X t = θ k1 X t-1 + θ k2 X t-2 + + θ kk X t-k + ε t 그사이의관측치의영향을제외하고상관계수를계산하게됨 예 : Xt= 1.5 Xt-1-0.75 Xt-2 + at 인 AR(2) 모형의시계열데이터 Exponentially 감소 2 개 PACF 값만아주큼 37
AR, MA 모형 모델구성을위한요소들 Autoregressive (AR) models Moving-average (MA) models (Mixed) ARMA models Non stationary models (ARIMA models) The mean parameter The trend parameter 38
AR, MA 모형 차수 p 의 Autoregressive 시계열모형은다음과같다 x t 1 x t1 2 x t2... p x tp e t ( B)x t e t 2 p 1B 2B... pb ( B) 1 위모형은 -1 (B) 의 transfer function이 white noise e t 에대해적용된것과같은모형이다. -1 (B) 이구해질수있을때invertible 한시계열모형이되고또한 causal 한시계열모형이된다. (B) = 0 을특성식이라고부른다. 39
AR, MA 모형 (cont.) 차수 q 의 Moving-average 시계열모형은다음과같다 x t e t 1 e t1 2 e t2... q e tq x t (B) e t 2 q 1B 2B... qb ( B) 1 위모형은 (B) 의 transfer function이 white noise e t 에대해적용된것과같은모형이다. (B) = 0 을특성식이라고부른다. 40
41 AR, MA 모형 (cont.) AR, MA 모형은서로연결되어있다 예로 MA(1) 의경우를생각해보자 즉, 여러가능한모형중에단순한모형을찾는것이필요하다 t t t t t t t t t t t a x x x x x B B B a X B a B X... a...) (1 ) (1 1 ) (1 3 3 1 2 2 1 1 1 3 3 1 2 2 1 1 1 1 MA(1) 모형 AR( ) 모형
AR, MA 모형 (cont.) 단순한모형을찾기위해 AR 과 MA 를합친모형을고려한다 ARMA(p,q) 모형 (B)x x t t θ(b) a θ(b) a (B) t t ARMA(p,q) 모형은 white noise at 에 transfer function (B)/(B) 이적용된것과같은모형이다. 42
Model Identification Stationarity 조건만족시킴 Transformation, differencing 등을통해 Sample AC, PAC 계산 이론적 ACs and PACs 와비교 모델 ( 후보 ) 도출 43
Model Identification (cont.) ARMA 모형에대한이론적 AC 와 PAC 의형태 아래와같은 ACF, PACF 는 AR(2) 를나타내는것임 Exponentially 감소 2 개 PACF 값만아주큼 44
Model Identification (cont.) 아래와같은 ACF, PACF 는 MA(1) 을나타내는것임 아래와같은 ARMA(p,q) 를나타내는것임 45
Model Identification (cont.) 보통 white noise 의경우라고간주할수있는 95% Confidence Interval 을계산하면도움이된다 명확하게하나의모델로귀결되는것이아니라대략적모델의후보를추천할수있게된다 위의경우, AR(2) 또는 ARMA(p,q) 를추천할수있다 46
Model Identification (cont.) Q. 여러후보들의모델중에좋은것을찾아내는방법은? Golden rule: 예측력이좋은모형을찾는것이다 1) 이론적예측력이좋은것을골라내는방법 AIC: Akaike s Information Criterion 는 model estimation에서구해지는 error 레벨, k는추측해야할변수개수 BIC: Bayesian Information Criterion AIC나 BIC값이적게되는모형을찾아낸다 AIC, BIC 정의는저자, SW구현마다다를수있는데, 내부비교에는문제가없다 이과정을 model selection이라고따로구분할수도있다 47
Model Identification (cont.) 예 : 만약 AR(p) 모형을사용해야한다고정했다고가정하자 AR(15) 또는 AR(16) 의모형을추천 BIC 기준을사용할때좀더단순한모형을얻을수있다 48
Model Identification (cont.) 2) 실질 ( 내부 ) 예측력이좋은것을골라내는방법 Cross-validation과같은방법을사용하여좋은모형을찾아낸다 FPE (Forward Prediction Error) 지수가이것의예이다 단점 : 계산과정이길다 장점 : 예측력입장에서가장좋은방법 예 : 전체시계열데이터의일부를가져와서 Model Build 에사용 위과정을여러 partition 에대해반복 구성된 Model 로앞 10 개의데이터에대해예측 49
Model Validation 위의방법으로얻어진 Model이가정을잘만족시키고있는지타당성검사를한다 Q. 검사하는방법은? Residual 이 normal 분포를따르는가? QQ plot 이직선으로보이는지확인 Residual 이 white noise 처럼 uncorrelated 되어있는가? Ljung-Box-Pierce Q 통계치 Q 값이크면 (p-value 가작으면 ) 지금모형이별로좋지않다는뜻 Residual 의 ACF 을그려서 white noise 의 CI 내에존재하는지 50
Model Validation (cont.) 예 : GNP 성장률 log 차이의시계열데이터를 MA(2) 로 fitting 한후 51
Model Estimation ( 모수예측 ) Model 이정해지면 ( 예를들어 ARMA(1,1) 으로 ) 보통 SW에서사용되는모수 (Parameter) 를추정해준다 내부적으로아래의방식으로진행됨 White noise가정규분포를따른다고가정하고 Maximum Likelihood Estimation 방법을적용 Residual의 sum of squares가최소가되는모수를찾는방법과같은개념 likelihood가크게되는모수를 computational 방법으로찾아야하는데, 보통 Newton-Raphson 방법으로찾아낸다 ACF 에대한 Yule-Walker 공식을이용하여모수추정 Durbin-Levinson 의순차적알고리즘을이용하여모수추정 특별한모델을가정할경우위와같은방식으로추정한다 52
Forecasting ( 미래값예측 ) 최적의 Model 이정해지과거관측치가주어진상황에서미래관측치를예측한다 여러방법중에 Square 손실함수를최소화하기위해평균으로예측한다 E[Xt+1 Xt, Xt-1, Xt-2, ] 주로 ( 미래 10 개정도의 ) short-term 예측을하고, long-term 예측인경우모델에서주어지는평균으로수렴하게된다 53
다른방법들 State-space 모델방식 ARIMA 모형의일반화하여 transfer function 을구할수있으며 smoothing 과 forecasting 모두가능하다 Smoothing Forecasting ARIMA 를기본모형으로하여일반적으로확장한것이다. 훨씬복잡하다. 54
다른방법들 (cont.) ARFIMA 모형 ARIMA 모형에서차이 difference 차수 d가정수가아니라일반유리수 랜덤노이즈같은프로세스의특징을찾아낼수도있다 Fourier 변환에의한주기방식 주기성을가진데이터에대하여잘작동한다 Periodogram을구하여주기를찾아낼수있고 smoothing도가능하다 특이점이있는데이터에대하여잘작동하지않는다 Wavelet 변환방식분석 특이점이있는데이터에대해서도 smoothing을할수있고 랜덤노이즈같은시그널의특징을찾아낼수있다 시간도메인에서찾기어려운 feature들을찾을수있다 55
결론 시계열분석을위한기초통계적접근방법설명함 Box-Jenkins 방법의 ARIMA 방법을중심으로설명함 개인적결론적메세지 기초 ( 기본통계, 데이터마이닝 ) 가중요함 합리적으로융합하는것이필요함 SW 를이용하여처리하는것이필요함 특별한모형을만들어접근할때모델링및구현을할수있어야함 고차원모델일수록할수있는것은많고또한해야할것도많음 56
감사합니다! 수고하셨습니다! 57