SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
2018년 07월 17일
시계열 분석 (Time Series Analysis)
타임게이트 연구소
목차
시계열 (Time Series) 이란?
시계열 (Time Series) 데이터 분해
정적(stationary) 데이터 모델링
시계열(Time Series) 활용
요약
1
2
3
4
2
5
시계열 (Time Series) 이란?
3
시계열(Time Series) 데이터
• 주가 , 환율, 거래량 변동
• 기온, 습도 변화
• 수요량, 판매량, 클릭율 변화
• 인구, 출생률 변화
4
특정 대상의 시간적 변동 기록
시계열(Time Series) 분석
• 추세 파악
- 무작위 (random)적인 잡음을 제거하여 큰 흐름 파악
• 원인 예측 및 대응
- 매출이 특정 요일에 하락하는 패턴이 보이면, 이를 극복하기
위한 방안을 마련
• 향후 전망
- 판매량 추이 전망에 따라 생산량 조절
5
시계열 데이터에서 추세 파악, 원인 예측 및 대응, 향후 전망
시계열 (Time Series) 데이터 분해
6
시계열(Time Series) 데이터 분해
7
1949년 ~ 1951년 간의 항공 탑승객의 변화
시계열(Time Series) 데이터 분해
8
정기적 변동(Seasonal), 추세(Trend), 잔여(remainder)
시계열(Time Series) 데이터 분해
9
추세 (Trend) 분해 방법
• Lowess/Loess 회귀(Regress)
- 특정 범위에 적당한 다항 회귀선들을 구하여 병합
- 다소 투박한(coarse) 추세선 : 회귀범위에 따라 달라짐
• 이동 평균 ( Moving Average)
- 특정 기간 동안의 값의 평균의 변화 ( 예: 주가의 5일/10일 이동평균)
- 부드러운 추세에 적용 가능 : 변화 주기를 알아야 함
- 조밀한 (fine-grained) 추세선
• Loess 방법으로 1차 추세 분석 후, (반복적인) 이동평균 수행
( 한가지 방법으로만 구하기도 함. )
시계열(Time Series) 데이터 분해
10
Loess 에 의한 추세선 ( 범위 = 0.25 (25%))
시계열(Time Series) 데이터 분해
11
Loess 에 의한 추세선 ( 범위 = 0.5 (50%))
시계열(Time Series) 데이터 분해
12
Loess 에 의한 추세선 ( 범위 = 0.75 (75%))
시계열(Time Series) 데이터 분해
13
Loess 범위에 따른 추세선 분해
시계열(Time Series) 데이터 분해
14
주기적 변동분 ( seasonal ) : 더하기(additive) 방식
시계열(Time Series) 데이터 분해
15
나머지 ( remainder ) : 더하기(additive) 방식
시계열(Time Series) 데이터 분해
16
주기적 변동분 ( seasonal ) : 곱하기(multiplicative) 방식
시계열(Time Series) 데이터 분해
17
나머지 ( remainder ) : 곱하기(multiplicative) 방식
정적(stationary) 데이터 모델링
1
8
정적(Stationary) 데이터
19
평균, 분산 등 통계적 특성이 변하지 않는 데이터
1) 뚜렷한 추세(trend)가 없다.
2) 시간이 지나도 분포도(분산)의 변화가 없다
예) 정규분포에서 무작위 추출 숫자
분해된 시계열 데이터의 나머지(remainder)을 정적(stationary) 모델로 대응시킴
정적(Stationary) 데이터 모델링
20
이동 평균 모델(Moving Average Model)
• 추세를 파악하기 위한 이동평균선과는 다름
• X(t) = (t 시점 event) + a_1 * (t-1 시점 event) + ….
+ a_n *(t-n 시점 event)
 예 ) x(t) = rand(t) + 0.4 * rand(t-1) : rand(t) – t 시점의 random event
 R source : random <- rnorm(num_samples,0,1)
 x_ma <- random + 0.4 * lag(random) # order 1 ma
• T 시점과 이전 시점들 사건 영향의 가중 평균
• 일반적으로 오래된 사건은 영향이 작아짐
• 몇차항(order) 까지 사용할 지를 결정필요
 영향이 큰 항 선택(자기상관성 검사 – ACF)
정적(Stationary) 데이터 모델링
21
이동 평균 모델(Moving Average Model) – ACF 검사
• 자기상관성(Auto-correlation) 검사 – acf()
• 예 ) (x(t) = rand(t) + 0.4 * rand(t-1) : rand(t) – t 시점의 random event) 의 경우
auto.arima() 함수에
의한 모델 자동 선택.
1차 ma 모델
1차 항까지가 큰 영향
0차 항외에는 큰 영향 없음
정적(Stationary) 데이터 모델링
22
자가 회귀 모델(Auto Regression Model)
• 현재값이 이전 값과 약간 차이가 난다는 가정
• X(t) = (t 시점 noise) + a_1 * x(t-1) + …. + a_n * x(t-
n)
 예 ) x(t) = noise + 0.5 * x(t-1) : x(t) – t 시점의 x의 값
 R source :
x1 <- 0.2
num_samples2 <- 100
noise <- rnorm(num_samples2, 0, 0.1 )
x_ar <- c(1:num_samples2)
x_ar[1] <- x1
for( i in c(2:num_samples2)){
x_ar[i] <- noise[i] + 0.5*x_ar[i-1] # order 1 AR
}
• T 시점의 값은 이전 특정 시점의 값의 영향
• 몇차항(order) 까지 사용할 지를 결정필요
영향이 큰 항 선택(부분 자기상관성 검사 – PACF)
정적(Stationary) 데이터 모델링
23
자가 회귀 모델(Auto Regression Model) – PACF 검사
• 자가 회귀성(Auto-regression) 검사 – pacf()
• 예 ) (x(t) = rand(t) + 0.5 * x(t-1) : x(t) – t 시점의 x값)의 경우
auto.arima() 함수에
의한 모델 자동 선택.
1차 ar 모델
소멸하는 sine() 함수 성격 1차 항 이후에는 큰 영향 없음
정적(Stationary) 데이터 모델링
24
자가회귀 이동평균 모델(Auto-Regression Moving Average Model)
• 이동평균모델(MA)와 자가회귀(AR) 모델을 연결
• X(t) = (t 시점 event) +a_1 * (t-1 시점 event) + …. +
a_n *(t-n 시점 event) +
(t 시점 noise) + a_1 * x(t-1) + …. + a_n * x(t-n)
 예 ) x(t) = rand(t) + 0.4 * rand(t-1) : rand(t) – t 시점의 random event +
noise + 0.5 * x(t-1) : x(t) – t 시점의 x의 값
 R source : x_ma_ar <- x_ma + x_ar
• 몇차항(order) 까지 사용할 지를 결정 필요
MA 부분
AR 부분
정적(Stationary) 데이터 모델링
25
자가회귀 이동평균 모델(AR MA Model) – ACF, PACF 검사
• 자기연관성(Auto-correlation)과 자가 회귀성(Auto-regression) 검사 – acf(), pacf()
• 예 ) (x(t) = rand(t) + 0.4*rand(t-1) + 0.5 * x(t-1) ) 의 경우
auto.arima() 함수에
의한 모델 자동 선택.
1차 ma 모델
1항 이후 큰 영향 없음
0차 항 이후에는 큰 영향 없음
두 값을 더하면서 MA 모형에 포함
되어 버린 듯
비정적(Non-Stationary) 데이터 처리
26
비정적 데이터를 정적 데이터로 변환 방법
• 차이값(diff)과 로그(log) 변환
- 차이값(diff) : 이전 데이터와의 차이값
• (1차 차분) = X(t) – X(t-1)
• 차이값은 데이터의 차수를 줄여 정적(Stationary)에 가깝게 한다
- (미분값처럼) 차분값은 다항식의 차수를 낮춰준다
- 1차항( X= a + b*t )을 상수항( X=b)으로, 2차항을 1차항으로 변환된다
- 로그(log) : 데이터에 log를 취함
• 데이터의 진폭이 시간에 따라 증가 (분산의 증가) 데이터 대상
- 예) X(t) = t * sin(t) - 윗쪽 그래프
• 로그(log)는 곱을 합으로 변환  분산의 증가 억제
- 예) N(t) = log(X(t)) = log(t) + log( sin(t) ) – 아랫쪽 그래프
• 로그(log) 변환은 분산을 줄여 정적(Stationary)에 가깝게 한다
 ARIMA 모델 : AR + MA 모델에 차이값을 추가한 모델
비정적(Non-Stationary) 데이터 처리
27
ARIMA 모델
• 데이터의 차이값이 만드는 시계열(Time Series)가 MA(Moving Average) 혹은
AR(Auto-Regression) 모델에 적합하다면 ARIMA 모델은 잘 맞음
• MA의 차수는 ACF(Auto-Correlation Function)으로, AR의 차수는 PACF(Partial ACF)
로 결정할 수 있음
발췌 : https://statkclee.github.io/statistics/stat-time-series-arma.html
시계열(Time Series) 활용
2
8
시계열(Time Series) 활용
29
추세/계절성 파악 및 대응 – 비행기 탑승객 수 변화
• 분해된 시계열 데이터 활용
- 계절(기간)에 따른 변화 확인
- 시간에 따른 증감 확인
• 정기적 변화에 대한 대응
- 감소 기간에 대한 적극적 대응(프로모션)
• 추세에 대한 대응
- 증가되는 수요를 위한 인프라 구축
• 공항, 비행기, 휴게시설 등
 수요량 계산을 위한 수요 전망 계산
시계열(Time Series) 활용
30
추세/계절성 파악 및 대응 – 비행기 탑승객 수 변화
• 기존 데이터를 이용한 향후 5년 전망(R의 forecast 함수 사용) : 80%(짙은 회색)와 95%(옅은 회색) 신뢰구간
시계열(Time Series) 활용
31
이상치 파악
1. 이전 시계열 데이터를 이용한 향후 전망 계산 ( R의 forecast 함수)
• level 파라미터로 원하는 신뢰구간 계산 ( default level = c(80, 95) )
2. 측정시점에서 계산된 신뢰구간을 벗어난 데이터 확인 ( outlier )
3. 해당 결과가 일시적 변화인지 계속적인 변화 인지 확인
• 일시적 변화는 원인 분석 후 조치
• 계속적 변화는 시계열 모델에 반영하여 새로운 전망 계산
4. 위의 과정을 반복
요약
3
2
요약
33
 시계열(Time Series) 데이터는 시간에 따른 대상값의 변화를 기록
 추세파악 및 대응, 향후 전망 및 이상치 감지 등에 활용 가능
 시계열 데이터는 추세(Trend), 정기성(Seasonal), 나머지(remainder)로 분해
 나머지(remainder) 부분은 정적인 경우, MA(이동평균), AR(자가회귀) 모델링
 정적이지 않은 경우, 차이값(diff) 혹은 로그(log) 등을 사용하여 정적으로 변환
 차수 결정 : MA – ACF, AR-PACF 사용
 자동으로 결정해주는 auto.arima() 함수를 사용하면 편리
 forecast() 함수를 사용하여 향후 전망값을 원하는 신뢰구간으로 계산 가능
 전망값을 사용하여 대응 계획 및 이상치 감지에 활용 가능
 지속적 변화가 감지된 경우, 시계열 모델 재구축 필요
 단기적 전망에 효용성이 높음
Address
서울특별시 성동구 아차산로 17
11층 (성수동 1가, 서울숲엘타워)
우편번호 04789
Telephone
Tel : (02)575-0409
Fax: (02)6003-1987

Mais conteúdo relacionado

Mais procurados

Natural language processing techniques transition from machine learning to de...
Natural language processing techniques transition from machine learning to de...Natural language processing techniques transition from machine learning to de...
Natural language processing techniques transition from machine learning to de...Divya Gera
 
Convolutional neural network
Convolutional neural networkConvolutional neural network
Convolutional neural networkMojammilHusain
 
Deep learning: the future of recommendations
Deep learning: the future of recommendationsDeep learning: the future of recommendations
Deep learning: the future of recommendationsBalázs Hidasi
 
Time series classification
Time series classificationTime series classification
Time series classificationSung Kim
 
Graph Convolutional Neural Networks
Graph Convolutional Neural Networks Graph Convolutional Neural Networks
Graph Convolutional Neural Networks 신동 강
 
Introduction to Keras
Introduction to KerasIntroduction to Keras
Introduction to KerasJohn Ramey
 
Glove global vectors for word representation
Glove global vectors for word representationGlove global vectors for word representation
Glove global vectors for word representationhyunyoung Lee
 
Loss Function.pptx
Loss Function.pptxLoss Function.pptx
Loss Function.pptxfunnyworld18
 
Introduction to PyTorch
Introduction to PyTorchIntroduction to PyTorch
Introduction to PyTorchJun Young Park
 
Handwritten character recognition using artificial neural network
Handwritten character recognition using artificial neural networkHandwritten character recognition using artificial neural network
Handwritten character recognition using artificial neural networkHarshana Madusanka Jayamaha
 
Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...
Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...
Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...Edureka!
 
Algorithm chapter 1
Algorithm chapter 1Algorithm chapter 1
Algorithm chapter 1chidabdu
 
An Introduction to Neural Architecture Search
An Introduction to Neural Architecture SearchAn Introduction to Neural Architecture Search
An Introduction to Neural Architecture SearchBill Liu
 
Asymptotic Notations
Asymptotic NotationsAsymptotic Notations
Asymptotic NotationsRishabh Soni
 
Box-fitting algorithm presentation
Box-fitting algorithm presentationBox-fitting algorithm presentation
Box-fitting algorithm presentationRidlo Wibowo
 
Using BigDecimal and double
Using BigDecimal and doubleUsing BigDecimal and double
Using BigDecimal and doublePeter Lawrey
 
Language Model (N-Gram).pptx
Language Model (N-Gram).pptxLanguage Model (N-Gram).pptx
Language Model (N-Gram).pptxHeneWijaya
 

Mais procurados (20)

Natural language processing techniques transition from machine learning to de...
Natural language processing techniques transition from machine learning to de...Natural language processing techniques transition from machine learning to de...
Natural language processing techniques transition from machine learning to de...
 
Web Wuermer
Web WuermerWeb Wuermer
Web Wuermer
 
Convolutional neural network
Convolutional neural networkConvolutional neural network
Convolutional neural network
 
Deep learning: the future of recommendations
Deep learning: the future of recommendationsDeep learning: the future of recommendations
Deep learning: the future of recommendations
 
Autoencoder
AutoencoderAutoencoder
Autoencoder
 
Time series classification
Time series classificationTime series classification
Time series classification
 
Graph Convolutional Neural Networks
Graph Convolutional Neural Networks Graph Convolutional Neural Networks
Graph Convolutional Neural Networks
 
Introduction to Keras
Introduction to KerasIntroduction to Keras
Introduction to Keras
 
Glove global vectors for word representation
Glove global vectors for word representationGlove global vectors for word representation
Glove global vectors for word representation
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
Loss Function.pptx
Loss Function.pptxLoss Function.pptx
Loss Function.pptx
 
Introduction to PyTorch
Introduction to PyTorchIntroduction to PyTorch
Introduction to PyTorch
 
Handwritten character recognition using artificial neural network
Handwritten character recognition using artificial neural networkHandwritten character recognition using artificial neural network
Handwritten character recognition using artificial neural network
 
Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...
Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...
Deep Learning Tutorial | Deep Learning Tutorial for Beginners | Neural Networ...
 
Algorithm chapter 1
Algorithm chapter 1Algorithm chapter 1
Algorithm chapter 1
 
An Introduction to Neural Architecture Search
An Introduction to Neural Architecture SearchAn Introduction to Neural Architecture Search
An Introduction to Neural Architecture Search
 
Asymptotic Notations
Asymptotic NotationsAsymptotic Notations
Asymptotic Notations
 
Box-fitting algorithm presentation
Box-fitting algorithm presentationBox-fitting algorithm presentation
Box-fitting algorithm presentation
 
Using BigDecimal and double
Using BigDecimal and doubleUsing BigDecimal and double
Using BigDecimal and double
 
Language Model (N-Gram).pptx
Language Model (N-Gram).pptxLanguage Model (N-Gram).pptx
Language Model (N-Gram).pptx
 

Semelhante a 시계열 분석의 이해와 활용

Analyzing Time Series Data
Analyzing Time Series DataAnalyzing Time Series Data
Analyzing Time Series DataJe Hun Seo
 
★강의교재_데이터 분석을 위한 통계와 확률_v2.pptx
★강의교재_데이터 분석을 위한 통계와 확률_v2.pptx★강의교재_데이터 분석을 위한 통계와 확률_v2.pptx
★강의교재_데이터 분석을 위한 통계와 확률_v2.pptxDonghwan Lee
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regressionHaesun Park
 
제어-제어공학의 수학적모델링
제어-제어공학의 수학적모델링제어-제어공학의 수학적모델링
제어-제어공학의 수학적모델링jdo
 
파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트itproman35
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트S.O.P.T - Shout Our Passion Together
 
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)Tae Young Lee
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델Seong-Bok Lee
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘SeokWon Kim
 
빅데이터 윈윈 컨퍼런스_빅데이터 기반 지능형 도시가스 배관 위험 예측 기술 개발
빅데이터 윈윈 컨퍼런스_빅데이터 기반 지능형 도시가스 배관 위험 예측 기술 개발빅데이터 윈윈 컨퍼런스_빅데이터 기반 지능형 도시가스 배관 위험 예측 기술 개발
빅데이터 윈윈 컨퍼런스_빅데이터 기반 지능형 도시가스 배관 위험 예측 기술 개발ABRC_DATA
 
제1부 전략과 분석 제3장 수요예측
제1부 전략과 분석 제3장 수요예측제1부 전략과 분석 제3장 수요예측
제1부 전략과 분석 제3장 수요예측Minsuk Chang
 
DNN-Based Prediction Model for Spatial-Temporal Data
DNN-Based Prediction Model for Spatial-Temporal DataDNN-Based Prediction Model for Spatial-Temporal Data
DNN-Based Prediction Model for Spatial-Temporal DataHWANGTAEYONG
 
차원축소 훑어보기 (PCA, SVD, NMF)
차원축소 훑어보기 (PCA, SVD, NMF)차원축소 훑어보기 (PCA, SVD, NMF)
차원축소 훑어보기 (PCA, SVD, NMF)beom kyun choi
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산S.O.P.T - Shout Our Passion Together
 

Semelhante a 시계열 분석의 이해와 활용 (20)

Analyzing Time Series Data
Analyzing Time Series DataAnalyzing Time Series Data
Analyzing Time Series Data
 
Spc개요
Spc개요Spc개요
Spc개요
 
★강의교재_데이터 분석을 위한 통계와 확률_v2.pptx
★강의교재_데이터 분석을 위한 통계와 확률_v2.pptx★강의교재_데이터 분석을 위한 통계와 확률_v2.pptx
★강의교재_데이터 분석을 위한 통계와 확률_v2.pptx
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
분석6기 4조
분석6기 4조분석6기 4조
분석6기 4조
 
제어-제어공학의 수학적모델링
제어-제어공학의 수학적모델링제어-제어공학의 수학적모델링
제어-제어공학의 수학적모델링
 
파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트파이썬 데이터 분석 3종세트
파이썬 데이터 분석 3종세트
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
[SOPT] 데이터 구조 및 알고리즘 스터디 - #01 : 개요, 점근적 복잡도, 배열, 연결리스트
 
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
 
R_datamining
R_dataminingR_datamining
R_datamining
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델
 
Rdatamining
Rdatamining Rdatamining
Rdatamining
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘
 
빅데이터 윈윈 컨퍼런스_빅데이터 기반 지능형 도시가스 배관 위험 예측 기술 개발
빅데이터 윈윈 컨퍼런스_빅데이터 기반 지능형 도시가스 배관 위험 예측 기술 개발빅데이터 윈윈 컨퍼런스_빅데이터 기반 지능형 도시가스 배관 위험 예측 기술 개발
빅데이터 윈윈 컨퍼런스_빅데이터 기반 지능형 도시가스 배관 위험 예측 기술 개발
 
제1부 전략과 분석 제3장 수요예측
제1부 전략과 분석 제3장 수요예측제1부 전략과 분석 제3장 수요예측
제1부 전략과 분석 제3장 수요예측
 
강의자료 2
강의자료 2강의자료 2
강의자료 2
 
Cop 3주차발표
Cop 3주차발표Cop 3주차발표
Cop 3주차발표
 
DNN-Based Prediction Model for Spatial-Temporal Data
DNN-Based Prediction Model for Spatial-Temporal DataDNN-Based Prediction Model for Spatial-Temporal Data
DNN-Based Prediction Model for Spatial-Temporal Data
 
차원축소 훑어보기 (PCA, SVD, NMF)
차원축소 훑어보기 (PCA, SVD, NMF)차원축소 훑어보기 (PCA, SVD, NMF)
차원축소 훑어보기 (PCA, SVD, NMF)
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
 

Mais de Seung-Woo Kang

[도서 리뷰] 디스럽트(Disrupt)
[도서 리뷰] 디스럽트(Disrupt)[도서 리뷰] 디스럽트(Disrupt)
[도서 리뷰] 디스럽트(Disrupt)Seung-Woo Kang
 
[도서 리뷰] 인센티브와 무임승차
[도서 리뷰] 인센티브와 무임승차[도서 리뷰] 인센티브와 무임승차
[도서 리뷰] 인센티브와 무임승차Seung-Woo Kang
 
[도서 리뷰] 왜 지금 핀테크인가?
[도서 리뷰] 왜 지금 핀테크인가?[도서 리뷰] 왜 지금 핀테크인가?
[도서 리뷰] 왜 지금 핀테크인가?Seung-Woo Kang
 
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )Seung-Woo Kang
 
[도서 리뷰] 어떻게 돌파할 것인가
[도서 리뷰] 어떻게 돌파할 것인가[도서 리뷰] 어떻게 돌파할 것인가
[도서 리뷰] 어떻게 돌파할 것인가Seung-Woo Kang
 
[도서 리뷰] 이나모리 가즈오의 회계경영
[도서 리뷰] 이나모리 가즈오의 회계경영[도서 리뷰] 이나모리 가즈오의 회계경영
[도서 리뷰] 이나모리 가즈오의 회계경영Seung-Woo Kang
 
차이의 붕괴(Collapse of Distinction) - 도서 요약
차이의 붕괴(Collapse of Distinction) - 도서 요약차이의 붕괴(Collapse of Distinction) - 도서 요약
차이의 붕괴(Collapse of Distinction) - 도서 요약Seung-Woo Kang
 
일본 기업은 AI를 어떻게 활용하고 있을까(도서 정리)
일본 기업은 AI를 어떻게 활용하고 있을까(도서 정리)일본 기업은 AI를 어떻게 활용하고 있을까(도서 정리)
일본 기업은 AI를 어떻게 활용하고 있을까(도서 정리)Seung-Woo Kang
 
소음과 투자 (도서 요약)
소음과 투자 (도서 요약)소음과 투자 (도서 요약)
소음과 투자 (도서 요약)Seung-Woo Kang
 
피케티의 21세기 자본론(도서요약)
피케티의 21세기 자본론(도서요약)피케티의 21세기 자본론(도서요약)
피케티의 21세기 자본론(도서요약)Seung-Woo Kang
 
현명한 초보 투자자(도서 요약)
현명한 초보 투자자(도서 요약)현명한 초보 투자자(도서 요약)
현명한 초보 투자자(도서 요약)Seung-Woo Kang
 
세상에서 가장 쉬운 회계학 입문(도서 요약)
세상에서 가장 쉬운 회계학 입문(도서 요약)세상에서 가장 쉬운 회계학 입문(도서 요약)
세상에서 가장 쉬운 회계학 입문(도서 요약)Seung-Woo Kang
 
확률을 높이는 확률
확률을 높이는 확률확률을 높이는 확률
확률을 높이는 확률Seung-Woo Kang
 
캐리커처 생성기 테스트
캐리커처 생성기 테스트캐리커처 생성기 테스트
캐리커처 생성기 테스트Seung-Woo Kang
 
주가_변화시점탐지(Change point Detection)
주가_변화시점탐지(Change point Detection)주가_변화시점탐지(Change point Detection)
주가_변화시점탐지(Change point Detection)Seung-Woo Kang
 
스플렁크 머신러닝 연동
스플렁크 머신러닝 연동스플렁크 머신러닝 연동
스플렁크 머신러닝 연동Seung-Woo Kang
 
하이퍼레저 프로젝트 개요
하이퍼레저 프로젝트 개요하이퍼레저 프로젝트 개요
하이퍼레저 프로젝트 개요Seung-Woo Kang
 
Azure ml studio_fraud_detection
Azure ml studio_fraud_detectionAzure ml studio_fraud_detection
Azure ml studio_fraud_detectionSeung-Woo Kang
 
MS_QnA_Maker_챗봇만들기
MS_QnA_Maker_챗봇만들기MS_QnA_Maker_챗봇만들기
MS_QnA_Maker_챗봇만들기Seung-Woo Kang
 
통계의 힘 (스터디 자료)
통계의 힘 (스터디 자료)통계의 힘 (스터디 자료)
통계의 힘 (스터디 자료)Seung-Woo Kang
 

Mais de Seung-Woo Kang (20)

[도서 리뷰] 디스럽트(Disrupt)
[도서 리뷰] 디스럽트(Disrupt)[도서 리뷰] 디스럽트(Disrupt)
[도서 리뷰] 디스럽트(Disrupt)
 
[도서 리뷰] 인센티브와 무임승차
[도서 리뷰] 인센티브와 무임승차[도서 리뷰] 인센티브와 무임승차
[도서 리뷰] 인센티브와 무임승차
 
[도서 리뷰] 왜 지금 핀테크인가?
[도서 리뷰] 왜 지금 핀테크인가?[도서 리뷰] 왜 지금 핀테크인가?
[도서 리뷰] 왜 지금 핀테크인가?
 
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
 
[도서 리뷰] 어떻게 돌파할 것인가
[도서 리뷰] 어떻게 돌파할 것인가[도서 리뷰] 어떻게 돌파할 것인가
[도서 리뷰] 어떻게 돌파할 것인가
 
[도서 리뷰] 이나모리 가즈오의 회계경영
[도서 리뷰] 이나모리 가즈오의 회계경영[도서 리뷰] 이나모리 가즈오의 회계경영
[도서 리뷰] 이나모리 가즈오의 회계경영
 
차이의 붕괴(Collapse of Distinction) - 도서 요약
차이의 붕괴(Collapse of Distinction) - 도서 요약차이의 붕괴(Collapse of Distinction) - 도서 요약
차이의 붕괴(Collapse of Distinction) - 도서 요약
 
일본 기업은 AI를 어떻게 활용하고 있을까(도서 정리)
일본 기업은 AI를 어떻게 활용하고 있을까(도서 정리)일본 기업은 AI를 어떻게 활용하고 있을까(도서 정리)
일본 기업은 AI를 어떻게 활용하고 있을까(도서 정리)
 
소음과 투자 (도서 요약)
소음과 투자 (도서 요약)소음과 투자 (도서 요약)
소음과 투자 (도서 요약)
 
피케티의 21세기 자본론(도서요약)
피케티의 21세기 자본론(도서요약)피케티의 21세기 자본론(도서요약)
피케티의 21세기 자본론(도서요약)
 
현명한 초보 투자자(도서 요약)
현명한 초보 투자자(도서 요약)현명한 초보 투자자(도서 요약)
현명한 초보 투자자(도서 요약)
 
세상에서 가장 쉬운 회계학 입문(도서 요약)
세상에서 가장 쉬운 회계학 입문(도서 요약)세상에서 가장 쉬운 회계학 입문(도서 요약)
세상에서 가장 쉬운 회계학 입문(도서 요약)
 
확률을 높이는 확률
확률을 높이는 확률확률을 높이는 확률
확률을 높이는 확률
 
캐리커처 생성기 테스트
캐리커처 생성기 테스트캐리커처 생성기 테스트
캐리커처 생성기 테스트
 
주가_변화시점탐지(Change point Detection)
주가_변화시점탐지(Change point Detection)주가_변화시점탐지(Change point Detection)
주가_변화시점탐지(Change point Detection)
 
스플렁크 머신러닝 연동
스플렁크 머신러닝 연동스플렁크 머신러닝 연동
스플렁크 머신러닝 연동
 
하이퍼레저 프로젝트 개요
하이퍼레저 프로젝트 개요하이퍼레저 프로젝트 개요
하이퍼레저 프로젝트 개요
 
Azure ml studio_fraud_detection
Azure ml studio_fraud_detectionAzure ml studio_fraud_detection
Azure ml studio_fraud_detection
 
MS_QnA_Maker_챗봇만들기
MS_QnA_Maker_챗봇만들기MS_QnA_Maker_챗봇만들기
MS_QnA_Maker_챗봇만들기
 
통계의 힘 (스터디 자료)
통계의 힘 (스터디 자료)통계의 힘 (스터디 자료)
통계의 힘 (스터디 자료)
 

시계열 분석의 이해와 활용

  • 1. 2018년 07월 17일 시계열 분석 (Time Series Analysis) 타임게이트 연구소
  • 2. 목차 시계열 (Time Series) 이란? 시계열 (Time Series) 데이터 분해 정적(stationary) 데이터 모델링 시계열(Time Series) 활용 요약 1 2 3 4 2 5
  • 4. 시계열(Time Series) 데이터 • 주가 , 환율, 거래량 변동 • 기온, 습도 변화 • 수요량, 판매량, 클릭율 변화 • 인구, 출생률 변화 4 특정 대상의 시간적 변동 기록
  • 5. 시계열(Time Series) 분석 • 추세 파악 - 무작위 (random)적인 잡음을 제거하여 큰 흐름 파악 • 원인 예측 및 대응 - 매출이 특정 요일에 하락하는 패턴이 보이면, 이를 극복하기 위한 방안을 마련 • 향후 전망 - 판매량 추이 전망에 따라 생산량 조절 5 시계열 데이터에서 추세 파악, 원인 예측 및 대응, 향후 전망
  • 6. 시계열 (Time Series) 데이터 분해 6
  • 7. 시계열(Time Series) 데이터 분해 7 1949년 ~ 1951년 간의 항공 탑승객의 변화
  • 8. 시계열(Time Series) 데이터 분해 8 정기적 변동(Seasonal), 추세(Trend), 잔여(remainder)
  • 9. 시계열(Time Series) 데이터 분해 9 추세 (Trend) 분해 방법 • Lowess/Loess 회귀(Regress) - 특정 범위에 적당한 다항 회귀선들을 구하여 병합 - 다소 투박한(coarse) 추세선 : 회귀범위에 따라 달라짐 • 이동 평균 ( Moving Average) - 특정 기간 동안의 값의 평균의 변화 ( 예: 주가의 5일/10일 이동평균) - 부드러운 추세에 적용 가능 : 변화 주기를 알아야 함 - 조밀한 (fine-grained) 추세선 • Loess 방법으로 1차 추세 분석 후, (반복적인) 이동평균 수행 ( 한가지 방법으로만 구하기도 함. )
  • 10. 시계열(Time Series) 데이터 분해 10 Loess 에 의한 추세선 ( 범위 = 0.25 (25%))
  • 11. 시계열(Time Series) 데이터 분해 11 Loess 에 의한 추세선 ( 범위 = 0.5 (50%))
  • 12. 시계열(Time Series) 데이터 분해 12 Loess 에 의한 추세선 ( 범위 = 0.75 (75%))
  • 13. 시계열(Time Series) 데이터 분해 13 Loess 범위에 따른 추세선 분해
  • 14. 시계열(Time Series) 데이터 분해 14 주기적 변동분 ( seasonal ) : 더하기(additive) 방식
  • 15. 시계열(Time Series) 데이터 분해 15 나머지 ( remainder ) : 더하기(additive) 방식
  • 16. 시계열(Time Series) 데이터 분해 16 주기적 변동분 ( seasonal ) : 곱하기(multiplicative) 방식
  • 17. 시계열(Time Series) 데이터 분해 17 나머지 ( remainder ) : 곱하기(multiplicative) 방식
  • 19. 정적(Stationary) 데이터 19 평균, 분산 등 통계적 특성이 변하지 않는 데이터 1) 뚜렷한 추세(trend)가 없다. 2) 시간이 지나도 분포도(분산)의 변화가 없다 예) 정규분포에서 무작위 추출 숫자 분해된 시계열 데이터의 나머지(remainder)을 정적(stationary) 모델로 대응시킴
  • 20. 정적(Stationary) 데이터 모델링 20 이동 평균 모델(Moving Average Model) • 추세를 파악하기 위한 이동평균선과는 다름 • X(t) = (t 시점 event) + a_1 * (t-1 시점 event) + …. + a_n *(t-n 시점 event)  예 ) x(t) = rand(t) + 0.4 * rand(t-1) : rand(t) – t 시점의 random event  R source : random <- rnorm(num_samples,0,1)  x_ma <- random + 0.4 * lag(random) # order 1 ma • T 시점과 이전 시점들 사건 영향의 가중 평균 • 일반적으로 오래된 사건은 영향이 작아짐 • 몇차항(order) 까지 사용할 지를 결정필요  영향이 큰 항 선택(자기상관성 검사 – ACF)
  • 21. 정적(Stationary) 데이터 모델링 21 이동 평균 모델(Moving Average Model) – ACF 검사 • 자기상관성(Auto-correlation) 검사 – acf() • 예 ) (x(t) = rand(t) + 0.4 * rand(t-1) : rand(t) – t 시점의 random event) 의 경우 auto.arima() 함수에 의한 모델 자동 선택. 1차 ma 모델 1차 항까지가 큰 영향 0차 항외에는 큰 영향 없음
  • 22. 정적(Stationary) 데이터 모델링 22 자가 회귀 모델(Auto Regression Model) • 현재값이 이전 값과 약간 차이가 난다는 가정 • X(t) = (t 시점 noise) + a_1 * x(t-1) + …. + a_n * x(t- n)  예 ) x(t) = noise + 0.5 * x(t-1) : x(t) – t 시점의 x의 값  R source : x1 <- 0.2 num_samples2 <- 100 noise <- rnorm(num_samples2, 0, 0.1 ) x_ar <- c(1:num_samples2) x_ar[1] <- x1 for( i in c(2:num_samples2)){ x_ar[i] <- noise[i] + 0.5*x_ar[i-1] # order 1 AR } • T 시점의 값은 이전 특정 시점의 값의 영향 • 몇차항(order) 까지 사용할 지를 결정필요 영향이 큰 항 선택(부분 자기상관성 검사 – PACF)
  • 23. 정적(Stationary) 데이터 모델링 23 자가 회귀 모델(Auto Regression Model) – PACF 검사 • 자가 회귀성(Auto-regression) 검사 – pacf() • 예 ) (x(t) = rand(t) + 0.5 * x(t-1) : x(t) – t 시점의 x값)의 경우 auto.arima() 함수에 의한 모델 자동 선택. 1차 ar 모델 소멸하는 sine() 함수 성격 1차 항 이후에는 큰 영향 없음
  • 24. 정적(Stationary) 데이터 모델링 24 자가회귀 이동평균 모델(Auto-Regression Moving Average Model) • 이동평균모델(MA)와 자가회귀(AR) 모델을 연결 • X(t) = (t 시점 event) +a_1 * (t-1 시점 event) + …. + a_n *(t-n 시점 event) + (t 시점 noise) + a_1 * x(t-1) + …. + a_n * x(t-n)  예 ) x(t) = rand(t) + 0.4 * rand(t-1) : rand(t) – t 시점의 random event + noise + 0.5 * x(t-1) : x(t) – t 시점의 x의 값  R source : x_ma_ar <- x_ma + x_ar • 몇차항(order) 까지 사용할 지를 결정 필요 MA 부분 AR 부분
  • 25. 정적(Stationary) 데이터 모델링 25 자가회귀 이동평균 모델(AR MA Model) – ACF, PACF 검사 • 자기연관성(Auto-correlation)과 자가 회귀성(Auto-regression) 검사 – acf(), pacf() • 예 ) (x(t) = rand(t) + 0.4*rand(t-1) + 0.5 * x(t-1) ) 의 경우 auto.arima() 함수에 의한 모델 자동 선택. 1차 ma 모델 1항 이후 큰 영향 없음 0차 항 이후에는 큰 영향 없음 두 값을 더하면서 MA 모형에 포함 되어 버린 듯
  • 26. 비정적(Non-Stationary) 데이터 처리 26 비정적 데이터를 정적 데이터로 변환 방법 • 차이값(diff)과 로그(log) 변환 - 차이값(diff) : 이전 데이터와의 차이값 • (1차 차분) = X(t) – X(t-1) • 차이값은 데이터의 차수를 줄여 정적(Stationary)에 가깝게 한다 - (미분값처럼) 차분값은 다항식의 차수를 낮춰준다 - 1차항( X= a + b*t )을 상수항( X=b)으로, 2차항을 1차항으로 변환된다 - 로그(log) : 데이터에 log를 취함 • 데이터의 진폭이 시간에 따라 증가 (분산의 증가) 데이터 대상 - 예) X(t) = t * sin(t) - 윗쪽 그래프 • 로그(log)는 곱을 합으로 변환  분산의 증가 억제 - 예) N(t) = log(X(t)) = log(t) + log( sin(t) ) – 아랫쪽 그래프 • 로그(log) 변환은 분산을 줄여 정적(Stationary)에 가깝게 한다  ARIMA 모델 : AR + MA 모델에 차이값을 추가한 모델
  • 27. 비정적(Non-Stationary) 데이터 처리 27 ARIMA 모델 • 데이터의 차이값이 만드는 시계열(Time Series)가 MA(Moving Average) 혹은 AR(Auto-Regression) 모델에 적합하다면 ARIMA 모델은 잘 맞음 • MA의 차수는 ACF(Auto-Correlation Function)으로, AR의 차수는 PACF(Partial ACF) 로 결정할 수 있음 발췌 : https://statkclee.github.io/statistics/stat-time-series-arma.html
  • 29. 시계열(Time Series) 활용 29 추세/계절성 파악 및 대응 – 비행기 탑승객 수 변화 • 분해된 시계열 데이터 활용 - 계절(기간)에 따른 변화 확인 - 시간에 따른 증감 확인 • 정기적 변화에 대한 대응 - 감소 기간에 대한 적극적 대응(프로모션) • 추세에 대한 대응 - 증가되는 수요를 위한 인프라 구축 • 공항, 비행기, 휴게시설 등  수요량 계산을 위한 수요 전망 계산
  • 30. 시계열(Time Series) 활용 30 추세/계절성 파악 및 대응 – 비행기 탑승객 수 변화 • 기존 데이터를 이용한 향후 5년 전망(R의 forecast 함수 사용) : 80%(짙은 회색)와 95%(옅은 회색) 신뢰구간
  • 31. 시계열(Time Series) 활용 31 이상치 파악 1. 이전 시계열 데이터를 이용한 향후 전망 계산 ( R의 forecast 함수) • level 파라미터로 원하는 신뢰구간 계산 ( default level = c(80, 95) ) 2. 측정시점에서 계산된 신뢰구간을 벗어난 데이터 확인 ( outlier ) 3. 해당 결과가 일시적 변화인지 계속적인 변화 인지 확인 • 일시적 변화는 원인 분석 후 조치 • 계속적 변화는 시계열 모델에 반영하여 새로운 전망 계산 4. 위의 과정을 반복
  • 33. 요약 33  시계열(Time Series) 데이터는 시간에 따른 대상값의 변화를 기록  추세파악 및 대응, 향후 전망 및 이상치 감지 등에 활용 가능  시계열 데이터는 추세(Trend), 정기성(Seasonal), 나머지(remainder)로 분해  나머지(remainder) 부분은 정적인 경우, MA(이동평균), AR(자가회귀) 모델링  정적이지 않은 경우, 차이값(diff) 혹은 로그(log) 등을 사용하여 정적으로 변환  차수 결정 : MA – ACF, AR-PACF 사용  자동으로 결정해주는 auto.arima() 함수를 사용하면 편리  forecast() 함수를 사용하여 향후 전망값을 원하는 신뢰구간으로 계산 가능  전망값을 사용하여 대응 계획 및 이상치 감지에 활용 가능  지속적 변화가 감지된 경우, 시계열 모델 재구축 필요  단기적 전망에 효용성이 높음
  • 34. Address 서울특별시 성동구 아차산로 17 11층 (성수동 1가, 서울숲엘타워) 우편번호 04789 Telephone Tel : (02)575-0409 Fax: (02)6003-1987