시계열 13

Deep Learning #6 Attention

1. Encoder-Decoder 구조 1.1. Encoder-Decoder 구조(=Seq2Seq) RNN이 One-to-Many, Many-to-Many 등의 다양한 구조를 갖는다는 것을 이전 RNN 포스팅에서 살펴보았다. 그 중 한 형태인 Encoder-Decoder 구조는 Many-to-Many 구조를 약간 변형한 것이라고도 볼 수 있는데, 다음과 같은 형태이다. 인코더-디코더는 이름에서 알 수 있듯이 인코더와 디코더로 이루어진 구조이다. 인코더 파트에서는 주어진 인풋 시퀀스를 히든 스테이트로 변환한다. 디코더 파트는 히든 스테이트를 받아서 아웃풋 시퀀스를 생성한다. 왜 이런 구조를 고안해냈을까? NLP의 맥락에서 이해해보자. 가령 한국어 문장을 영어로 번역하는 RNN 모델을 만든다고 하면, Man..

Deep Learning #4 RNN(순환신경망)

GitHub - SeungbeomDo/DataAnalysis: Practical Codes for Data Analysis using Machine Learning and Deep Learning Practical Codes for Data Analysis using Machine Learning and Deep Learning - GitHub - SeungbeomDo/DataAnalysis: Practical Codes for Data Analysis using Machine Learning and Deep Learning github.com 1. RNN의 개요 1.1. Sequence Data 시퀀스 데이터란 데이터가 배열된 순서에도 정보가 담겨 있는 데이터를 말한다. 가령 번역기는 영어 문장을 인풋..

시계열 분석 #10 벡터자기회귀(VAR)

GitHub - SeungbeomDo/Time_Series_Analysis: Practical Codes for Time Series Modeling and Analysis Practical Codes for Time Series Modeling and Analysis - GitHub - SeungbeomDo/Time_Series_Analysis: Practical Codes for Time Series Modeling and Analysis github.com 1. 벡터 시계열 1.1. 벡터 시계열의 도입 이전 포스팅에서 다루었던 ARMA 모델 등은 단변량 시계열을 분석하는 모델이었다. 가령 주가 시계열 {Xt}은 주식의 가격이라는 하나의 대상을 시간에 걸쳐 관측한 값의 집합이다. $$\{..

시계열 분석 #9 ARCH & GARCH

GitHub - SeungbeomDo/Time_Series_Analysis: Practical Codes for Time Series Modeling and Analysis Practical Codes for Time Series Modeling and Analysis - GitHub - SeungbeomDo/Time_Series_Analysis: Practical Codes for Time Series Modeling and Analysis github.com 1. 변동성의 자기상관 시계열 모형에서 오차항은 말그대로 오차, 즉 예측불가능한 시계열 요소로 간주된다. 그러나 오차항 자체가 아닌 오차항의 '분산'은 예측할 수 있다는 것이 많은 시계열 데이터에서 관찰되는 사실이다. 특히 금융 시계열에서 그러한..

시계열 분석 #8 Auto ARIMA & Backtesting

1. Auto ARIMA 저번 포스팅에서는 ARIMA 모델의 계수 p,d,q를 정할 때 ACF 및 PACF를 확인해서 정하는 방법을 소개했다. 그런데 이는 이론적인 것일 뿐 그렇게 만들어진 모델이 정말 좋은 성능을 내는 것은 아니다. 아마 가장 확실한 방법은 직접 여러 후보 파라미터셋들에 대하여 모델을 하나하나 만들어보고 비교하는 것이다. 이를 수행해주는 라이브러리를 소개한다. !pip install pmdarima import pmdarima as pm data_auto = data.copy().iloc[:, :3] data_auto.head(5) model = pm.auto_arima(y = data_auto['Return'] , d = 0 , start_p = 0 , max_p = 3 , start..

시계열 분석 #7 Box-Jenkins-Method

시계열 예측 모델링에 사용하는 Box-Jenkins-Method를 설명한다. 특별한 방법론이라기보다는, 전통적인 시계열 모델을 구현하는 데 있어서 사용하는 매뉴얼이라고 이해할 수 있다. 총 5가지 단계로 이루어지는데, 주어진 시계열의 정상성 여부를 테스트한다. 비정상 시계열일 경우 차분, 필터링 등 적당한 처리를 거쳐 정상화한다. ARMA 모델의 모수인 p와 q를 정한다. 모델의 계수들을 추정한다. 적합한 모델인지 알아보기 위해 계수 검정 및 잔차 검정을 실행한다. 최종 모델을 사용하여 예측한다. 이때 차분된 시계열을 역차분하여 원 시계열로 돌려준다. 그럼 한 단계씩 살펴보도록 하자. 1. 정상성 검정과 정상화 1.1. 정상성의 의의 첫 단계는 주어진 시계열의 정상성 여부를 파악하는 것이다. 간단한 방법..

시계열 분석 #6 정상성 검정

이전 포스팅들에서 정상성의 정의, 시계열을 정상화하는 방법, 정상 시계열의 모델링 등등에 대해서 얘기해왔다. 여기서는 주어진 시계열의 정상성 여부를 어떻게 검정하는지 알아보자. 1. ADF 검정 정상성 검정의 한 가지 방법은 ADF 검정(Augmented Dickey-Fuller test)이다. 유사한 검정 방법으로 DF 검정이 있는데, ADF 검정이 DF 검정을 일반화한 것에 불과하므로 혼란스러울 필요는 없다. 1.1. ADF 검정의 아이디어: 단위근 ADF 검정의 아이디어를 살펴보자. 우선 모든 정상 시계열은 적당한 AR(p) process로 나타낼 수 있다고 가정한다. 즉 우리는 AR process의 틀 안에서 정상성을 검정하는 것임에 유의해야 한다. 그럼 MA process나 ARMA proces..

시계열 분석 #5 MA process와 ARMA process

1. MA(1) 모형 1.1. MA(1) 모형의 정의 MA(Moving-Average) 모형은 현재 시점의 값을 과거 시점의 모형 오차로 회귀시키는 모형이다. 즉 시계열 Xt에 대하여, MA(1) 모형은 다음과 같다. Xt=c+ϵt+θϵt1 where c is a constant and ϵtw.n.(0,σ2) 1.2. MA(1) 모형의 성질 MA(1) 모형을 따르는 시계열의 주요 모멘트들은 다음과 같다. E[Xt]=c Var[Xt]=(1+θ2)σ2 Cov(Xt,Xt1)=θσ2 $..

시계열 분석 #4 white noise와 AR process

'정상' 시계열을 설명하기 위해 사용하는 대표적인 모형들을 정리한다. 1. 백색잡음(white noise) 백색잡음은 시계열 그 자체를 모델링하는 데 사용되지는 않는다. 하지만 모델링의 중요한 요소이고 살펴보아야할 성질이 있으므로 먼저 다룬다. 다음을 만족하는 ϵt를 백색잡음이라고 한다. E[ϵt]=0, Var[ϵt]=σ2 and Cov[ϵt,ϵtk]=0 for k = 1, 2, 3, ... 보론) white noise와 IID를 구분해야 한다. white noise는 약정상성을 만족하고 자기공분산이 0이며, IID는 강정상성을 만족하고(identical distribute..