1. Time Series Concept
1.1 What’s Time Series?
Definition
:an ordered sequence of random variables Xt,
where t is time index of t∈T=(⋯,−n,⋯,−1,0,1,⋯,n,⋯)
t라는 시점에 도달하기 전까지는 Xt의 값을 알 수 없는 random variable!
결국 discrete한 stochastic process로도 볼 수 있다.
Time series value는 random variable의 realization으로 보면 된다.
We need MOMENT
결국, random variable이라는 관점에서 time series를 알아보려면 distribution에 대한 이해가 필요할 것이다. 그러나 다음과 같은 distribution을 구하는 것은 어렵기 때문에
Ft1:n(x1:n)=Ft1,t2,⋯tn=Pr(Xt1≤x1,⋯Xtn≤xn)
수리통계학(1)에서 배웠던 moment를 활용하도록 하자!
- Mean function(first moment)
μt=E[Xt]
- Variance function(second central moment)
σ2=Var(Xt)=E[(Xt−μt)2]
- Autocovariance function: 시계열의 시간에 따른 연관 패턴을 자기공분산으로 요약(γ term)
자기상관의 의미: 시계열 과정에서 특정 시차만큼 떨어져 있는 확률변수와의 상관관계. 사실상 서로 다른 확률변수라는 관점이 아니라, 시차에만 차이가 있다는 의미에서 자기(auto)라는 말을 사용.
Autocorrelation function(ACF): 특청 시차(lag)에서 시계열 데이터의 자기상관을 측정하는 함수.
자기상관(autocorrelation?): 같은 시계열의 과거 값과 현재 값의 선형관계를 의미.
γ(s,t)=Cov(Xt,Xs)=E[(Xs−μs)(Xt−μt)]
γ0=Var(Xt)
ρ(s,t)=Corr(Xt,Xs)=σtσsγ(s,t), ∣∣∣∣σtσsγ(s,t)∣∣∣∣≤1
γ(t,t)=σt2;γ(s,t)=γ(t,s);∣γ(s,t)∣≤σsσtρ(t,t)≡1;ρ(s,t)=ρ(t,s);∣ρ(s,t)∣≤1
autocovariance와 autocorrelation모두 Xt,Xs의 linear correlation을 measure한다.
1.2 Stationary and Ergodicity
Stationary
:정상성. 평균, 분산, 공분산과 같은 통계적 특징이 시간(시점)에 따라 변하지 않는다는 특징. 크게 strict한 경우와 weak한 경우로 나눈다.
- Strict Stationary
: time series Xt is strictly stationary
if {X1,⋯Xn} and {X1+k,⋯,Xn+k} possess the same joint distribution for any integer n≥1 and integer k.
굉장히 강한 조건이다. 내가 시점을 어떻게 옮기든 모든 random variable이 같은 특징을 갖는다(같은 joint dist’n을 갖는다)는 뜻이다.
- Weak Stationary
: 1) E[Xt]=μ
2) E[Xt2]=σ2<∞, for any t
3) Cov(Xt,Xt+k)=γ(k) is independent of any t for each integer k.
Ergodicity
: 시간에 따른 평균(추정량)과 모집단의 평균(모수)이 동일해진다.
→ 시계열 데이터가 충분히 긴 시간동안 주어진다면, 하나의 realization만으로도 모집단 전체의 통계적 특성을 추정할 수 있는가?와 관련.
{Xt} is said to be erogodic if 다음 두 가지를 모두 만족.
- Mean ergodic: limn→∞E[(n1∑t=1nXt−μ)2]=0
- Variance ergodic: limn→∞E[n1∑t=1n(Xt−μ)2−σ2]2=0
Stationary and Ergodicity
일반적으로 weak stationary하다면 ergodicity를 가질 가능성이 높다고 한다.
그러나 모든 정상 시계열이 ergodicity를 만족하는 것이 아니다.
예를 들어, weak stationary를 만족하더라도, 서로 다른 realization간의 평균이 다르다면 ergodicity를 만족하지 않는다.
1.3 White Noise and Random Walk
White Noise(백색 소음 과정)
: 시간의 흐름에 상관 없이 완전 랜덤하게 움직이는 모델.
stationary한 경우 중 매우 특수한 경우! 다음 세 가지를 모두 만족
-
for all t, E[Wt]=μ is constant. (일반적으로 μ=0을 가정)
-
for all t, Var(Wt)=σ2 is constant.
-
for all t &s, Cov(Wt,Ws)=0. → 서로 다른 시점끼리는 완전히 correlated.
3조건에서 Gaussian White Noise가 된다면, independent까지 성립한다!
ρ(k)={1,0,k=0otherwise
Random Walk
: 술취한 사람의 발자국을 생각해보자. 거나하게 취한 사람은 첫 발자국을 내민 순간 다음 발을 제대로된 곳에 두기 힘들다. 다음 발자국은 분명 첫 발에서 멀지 않은 곳에 떨어져 있겠지만, 술에 취한 그의 정신상태 때문에 이상한 곳에 찍히게 될 것이다.
즉, 현재 상태(두 번째 발자국 이후)는 이전 상태에 의존하지만, 무작위적인 변화를 가진다. 이러한 것을 random walk process라고 한다.
Xt=Xt−1+Wtwhere {Wt} is white noise, Cov(Wt,Xt−1)=0Xt=Xt−1+Wt=Xt−2+Wt−1=⋯=X0+W1+⋯+Wt
E[Xt]=E[X0]+E[W′s]=constant → mean stationary 만족.
Var(Xt)≥Var(X0)+Var(W′s)→ variance stationary 만족 x(indep 가정시)ㅌ.
∴ Random walk process는 stationary를 만족하지 않는다!
2. Exploratory Time Series Data Analysis
2.1 Partial AutoCorrelation Function
PACF
: 시차 k에 대하여 Xt와 Xt−k의 상관관계에서 이 둘 사이에 있는 Xt−k+1,⋯Xt−1와의 상호 선형 의존성을 제거한 수의 순수한 Xt와 Xt−k의 ACF.
일반적인 ACF는 모든 중간시차의 영향을 포함하여 총 상관관계를 측정 → 직접적인 관계인지 아닌지 구분이 어렵기 때문에 PACF를 사용한다.
{Xt}를 stationary time series with E[Xt]=0이라고 가정하자(0인 이유는 그냥 간결함을 위함이지, 별다른 이유는 없다. 0이 아니어도 증명가능!).
- linear regression of Xt on {Xt−k+1:t−1}
X^t=α1Xt−1+⋯+αk−1Xt−k+1 where
{α1,⋯,αk−1}=argminβ1,⋯,βk−1E[Xt−(β1X1+⋯+βk−1Xk−1)]2
- Zt^=Xt−Xt^: 사실상 잔차로 해석이 가능 → 중간 시차의 영향을 모두 제거한 후 남은 순수한 정보.
- Xt−k^에 대해서도 실행하고, 비슷하게 Zt−k^=Xt−k−Xt−k^
ϕ11=Corr(Xt−1,Xt)=[Var(Xt−1)Var(Xt)]1/2Cov(Xt−1,Xt)=ρ1ϕkk=Corr(Zt−k^,Zt^)=[Var(Zt−k^)Var(Zt^)]1/2Cov(Zt−k^,Zt^),k≥2
결국 정상시계열을 가정하기 때문에 모든 시점에서 평균과 분산이 일정하다. 내가 어떤 시점을 잡든 같은 시차만큼만 떨어져있다면 항상 같은 결과를 얻을 수 있다. 시점 1과 4, 4와 7, 101과 104의 관계가 모두 동일하다! 결국 정상시계열이라면, 시점 자체는 중요하지 않고 시차만이 중요하다. 측정을 어디서 하든 동일한 패턴이 관측되어야 한다.
2.2 White Noise Test
Motivation
: 정상 시계열이 White Noise인지 아닌지에 대해 통계적으로 검정할 수 있다.
Portmanteau (Q) test의 Box-Pierce 및 Ljung-Box 버젼으로 하면 된다. 이런게 있다만 알고 넘어가자.
2.3 Time Series Decomposition and Smoothing
Decomposition
: 시계열은 다음과 같은 세 가지 요소로 분해할 수 있다.
- Trend(추세성분 Tt)
- Seasonality(계절성분 St)
- Random component(불규칙 요인 Rt)
Decomposition model로는 다음 두 가지가 있다.
- Additive Model: Xt=Tt+St+Rt → 계절성분의 크기가 시계열 전체 수준과 무관할 때 사용.
- Multiplicative Model: Xt=TtStRt → 계절성분의 크기가 시계열의 전체 수준과 비례할 때 사용.
Smoothing(평활법)
: 과거 및 현재 자료의 불규칙 변동을 부드럽게 평활(smoothing)시켜 미래의 값을 예측, 자료들 간 상관관계는 고려하지 않는 방법.
대표적으로
- 이동평균법(moving average method): 특정 기간의 관측지 몇 개를 평균 낸 값을 다음 시점의 예측치로 사용.
- 지수평활법(exponential smoothing): 모든 데이터에서 최근값에 더 많은 가중치를, 과거값에는 적은 가중치를 주는 가중평균을 이용.
| 모델 |
추세 (Trend) |
계절성 (Seasonality) |
특징 |
| 가법적 Holt-Winters |
O |
O (덧셈) |
계절성의 크기가 일정한 경우 사용 |
| 곱셈적 Holt-Winters |
O |
O (곱셈) |
계절성이 데이터의 크기에 따라 변화하는 경우 사용 |
| 단순 지수 평활법 (SES) |
X |
X |
가장 간단한 방식, 데이터 변동이 크지 않을 때 사용 |
| 이중 지수 평활법 (DES) |
O |
X |
추세 반영 가능, 계절성 없음 |
| 특수한 곱셈적 Holt-Winters |
X |
O |
계절성만 존재하고 추세는 없는 경우 사용 |
3. Stationary Time Series Models
3.1 BackShift Operator
BXt=Xt−1BnXt=Bn−1(BXt)=Xt−n
Backshift operator bascially takes the value one step earlier.
3.2 Differencing and Stationary
Differencing(차분)
Differencing the order d:∇1Xt=∇Xt=(1−B)Xt=Xt−Xt−1∇dXt=(1−B)dXtDifferencing the lag k:∇1Xt=∇Xt=(1−B)Xt=Xt−Xt−1∇kXt=(1−Bk)Xt=Xt−Xt−k
이 둘은 다르다!! 정리하자면
- Order → 몇 번 1−B를 적용했는지
- Lag → 몇 번 뒤의 시차로 갔는지
결국 차분을 하는 이유는 Non-stationary time series를 stationary하게 만들기 위함이다. trend만 존재하는 경우 그냥 d-th order differencing을, trend와 seasonality가 모두 존재하는 경우 seasonal differencing을 시행 후 d-th order differecing을 고려한다.
‘정상화’가 필요한 이유?
시계열 분석의 궁극적인 목표는 바로 ‘예측’.
이 예측을 하기 위해서는 과거 데이터를 기반으로 맞춰야하는데… 비정상 시계열에서는 평균, 분산, 공분산이 시점마다 달라지므로 미래를 예측하는데 의미가 없다.
→ 결국 정상화를 통해 예측의 의미를 유지하고 시계열의 확률적 구조를 일정하게 만들어야 한다.
3.3 MA Model
Motivation
: 과거의 패턴이 안정적으로 지속된다면, 시계열 값은 과거의 데이터에 의해 예측 가능하다 → 정상성이 만족된다면 예측이 수월하다.
그렇다면 어느 정도의 멀리 있는 과거의 데이터를 이용해야 하는가? 그리고 멀면 멀수록 예측치에 대한 기여도는 줄어들텐데, 이를 고려할 가중치를 이용해야 할 것이다.
Moving Average Model(MA model)
MA Model of order qMA(q):Xt=μ+ϵt+θ1ϵt−1+⋯θqϵt−qwhere {ϵt}∼iidWN(0,σ2)
시계열 {Xt}가 정상적이고 위와 같은 조건을 만족하면 MA model을 따른다고 말한다.
{ϵt}를 innovation term이라고도 부른다.
MA model은 Xt가 과거 시점의 white noise term 들에 대해 선형결합으로 표현되어, 과거 noise에 대한 regression 형태로 생각해볼 수 있다.
→ 결국 MA model은 white noise를 lag에 따라 가중을 주어 합산한 모델이다! θ의 값이 크면 클수록 해당 시차의 noise가 현재 값에 더 큰 영향을 준다.
MA model은 항상 정상성을 만족한다!
참고로, 어떤 model에 의해 만들어진 시계열 {Xt}가 stationary라면, 그 모델 또한 stationary이다.
Backshift operator을 이용하여 μ=0으로 가정하면 다음과 같이 MA(q)를 표현할 수 있다.
Xt=ϵt+θ1ϵt−1+⋯θqϵt−q=θ(B)ϵtwhere θ(z)=1+θ1z+⋯θqzq
θ(B)=0을 특성방정식이라고도 부르고, 이 특성방정식의 근(z)의 절댓값이 1보다 크면(결국 θ의 절댓값이 1보다 작으면) 가역성(invertibility)를 만족한다.
Properties of MA Models
- E[Xt]=μ
- γ0=Var(Xt)=(1+θ12+⋯+θq2)σϵ2
- Autocovariance function:
γk=Cov(Xt,Xt+k)={0,σϵ2∑i=0q−kθiθi+k,if k>qif 0≤k≤q
- ACF:
ρk=Corr(Xt,Xt+k)=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧1,0,∑i=0qθi2∑i=0q−kθiθi+k,if k=0if k>qif 0<k≤q
Invertibility
: 모델이 가역적이다 → white noise(innovation)를 과거의 Xt값들로부터 거꾸로 복원이 가능하다.
시계열 {Xt}가 다음 조건을 만족하면 가역적(invertible)이라고 한다.
ϵt=Xt+π1Xt−1+π2Xt−2+⋯=j=0∑∞πjXt−j,j=0∑∞∣πj∣<∞,π0=1
후에 서술할 AR() model로 표현이 가능하다는 뜻과도 일맥상통한다.
결국 ϵt를 현재 및 과거의 시계열 값들의 선형 결합으로 표현이 가능하다는 것이 가역성이다.
3.4 AR Model
AutoRegressive Model(AR Model)
: 시계열 {Xt}를 그 이전 시점의 시계열 {Xt−1,Xt−2,⋯}로 회귀시킨 모형.
AR Model of order pAR(p):Xt=φ0+φ1Xt−1+⋯+φpXt−p+ϵtwhere {wt}∼iidWN(0,σϵ2),E[Xsϵt]=0 if s<t,φ′s are all real numbers, φp=0
시계열 {Xt}가 정상적이고 위와 같은 조건을 만족하면 AR model을 따른다고 말한다.
E[Xsϵt]=0: 과거의 Xs와 현재의 ϵt는 아무런 관계가 없다는 뜻.
Backshift operator을 이용하여 φ0=0으로 가정하면 다음과 같이 AR(p)를 표현할 수 있다.
ϵt=Xt−φ1Xt−1−⋯−φpXt−p=φ(B)Xtwhere φ(z)=1−φ1z−⋯−φpzp
AR model은 사실상 선형회귀 모델과 똑같이 생겼다. 그러나, AR model은 독립변수로 종속변수의 시차 변수들로 구성되어있기 때문에 독립변수들 간 독립성이 가정되지 않는다. 또한 현재를 과거를 이용해 설명한다는 독특한 특징이 있다.
Properties of AR Model
- E[Xt∣X(t−p):(t−1)]=φ0+φ1xt−1+⋯φpxt−p
→ E[Xt]=μ=1−φ1−⋯−φpφ0=0 iff φ0=0
- Var(Xt∣X(t−p):(t−1))=Var(ϵt)=σϵ2
X(t−p):(t−1) 모두 R.V이긴 한데, 이미 관측된 값이라 상수로 취급되어서 ϵ term만 남게 된다.
또한 1.의 조건이 적용되면, 이는 E[Xtϵt]=0이라는 의미로, 이는 t 시점에 새롭게 들어온 ϵt은 이미 형성된 Xt와 무관하다는 뜻이다.
Var(Xt)=γ0=φ1γ1+⋯+φpγp+σϵ2이고 이를 정리하면
γ0=σϵ2/(1−ϕ1ρ1−ϕ2ρ2−⋯−ϕpρp)이다.
- 1.의 조건이 적용될 때 k>p에서 partial correlation ϕkk=0이다. 이는 곧 AR(p)의 PACF가 p 시차 이후에 cut off 된다는 의미로 이를 통해 AR 모델임을 확인하는데 큰 도움을 준다.
여기서 Xt를 X(t−p):(t−1)에 대해 회귀시키면,
X^t=ϕ1Xt−1+⋯+ϕk−1Xt−k+1→Thus, Xt−Xt^=ϵt
나아가 Xt−k−Xt−k^는 {X(t−k):(t−1)}의 함수이고 ϵt와 어떤 term도 uncorrelated되어있다. 따라서 다음이 성립한다.
Cov(Xt−k−X^t−k,Xt−X^t)=Cov(Xt−k−X^t−k,εt)=0
Stationarity and Casuality of AR Models
:Xt=∑j=0∞ψjεt−j,∑j=0∞∣ψj∣<∞,where ψ0=1,ϵt∼WN(0,ϵ2)을 만족하는 ψj가 존재하면, 시계열 {Xt}는 casual하다고 한다.
즉, Xt를 과거의 white noise들의 무한 합으로 나타낼 수 있다면 이를 인과적(casual)이라고 한다. → 결국 MA(∞) 형태로 나타낼 수 있다!
→ 시계열 Xt가 과거의 노이즈들에 의해 생성된다. → 이는 미래의 값들이 현재의 Xt에 반영되지 않아 ‘인과적’이라고 말할 수 있다.
3.5 ARMA Model
ARMA Model of order p and qARMA(p,q):Xt=φ0+φ1Xt−1+⋯+φpXt−p+ϵt+θ1ϵt−1+⋯+θqϵt−qwhere {wt}∼iidWN(0,σϵ2),E[Xsϵt]=0 if s<t,φ′s,θk′s are all real numbers, φp,θq=0
결국 시간 t에서의 값 Xt을 과거의 Xt 값들과(AR) white noise 값들(MA)를 동시에 활용해 설명하는 model.
|
MA(q) |
AR(p) |
ARMA(p, q) (p > 0, q > 0) |
| ACF |
Cuts off after lag q |
Tails off |
Tails off |
| PACF |
Tails off |
Cuts off after lag p |
Tails off |
Reference
Shumway, R. H., & Stoffer, D. S. (2017). Time Series Analysis and Its Applications: With R Examples. Springer.