티스토리 뷰
시계열 분석 - 모형
@lazyerIJ
References
본 내용은 위 블로그를 보고 내용을 임의로 정리, 요약 한 글입니다.
1. 시계열 분석 적용 대상
회귀분석은 시점을 고려하지 않지만, 시계열 분석은 시간을 고려한다.
1개의 데이터와 그 데이터를 획득한 시간을 알고있다면, 그 데이터 자체적으로도 분석이 가능해진다.
2. 대표적인 시계열 데이터의 특성
시계열 정보 = 규칙적인 패턴 + 불규칙적인 패턴
규칙적인 패턴
- 자기 상관성
- 이전의 결과와 이후의 결과 사이에서 발생. (이전 값이 크면 이후 값은 낮은 경향 따위)
- 바로 이전의 결과의 영향을 받을 수도 있지만 Delay가 발생하기도 한다.
- 이동평균
- 이전에 생긴 불규칙한 사건이 이후의 결과에 편향성을 초래
불규칙적인 패턴 (White Noise)
- 평균이 0이며 일정한 분산을 지닌 정규분포에서 추출된 임의의 수
- 대표적인 모델 : AR, MA, ARMA, ARIMA
3. 모형
A. 자기상관(Autocorrelation) - AR
자기상관성을 시계열 모형으로 구성한 것.
가장 간단한 형태는 바로 직전의 값 1개가 다음 값에 영향을 미치는 AR(1) 모형.
X(t) = { a * X(t-1) + c } + u * e(t)
직전의 값 X(t-1) 에 a를 곱하고 c를 더한다. 여기서 값에 곱해지는 a값을 자기상관계수라고 한다.
분산이 u인 정규 분표에서 도출되는 임의의 값(white noise) e(t)를 더한다.
임의의 이전 시점 P 부터 모델에 넣으면 AR(P) 모형이 된다.
B. 이동평균(Moving Average) - MA
시간이 지날수록 어떠한 Variable의 펑균값이 지속적으로 감소하거나 증가하는 경향이 생길 수 있음.
가장 간단한 형태는 직전의 값 1개에서 발생한 오차가 다음 데이터에 영향을 준다고 가정한 MA(1) 모형.
X(t) = { a * e(t-1) + c } + u * e(t)
C. ARMA 모형
AR 모형과 MA 모형을 합친 것
ARMA(1, 1) 모형은 다음과 같다.
X(t) = { a * X(t-1)} + {b * e(t-1)} + c + u*e(t)
ARMA(2, 2) 모형은 다음과 같다.
X(t) = { a1 * X(t-1)} + { a2 * X(t-2)} + {b1 * e(t-1)} + {b2 * e(t-2)} + c + u*e(t)
D. ARIMA 모형
ARMA 모형이 과거의 데이터들을 사용하는 거에 반해 ARIMA 모형은 과거의 데이터가 지니고 있던 ‘추세(Momentom)’ 까지 반영. 여기서 추세는 자기 자신(정상 데이터)의 추세만 반응하며 white_noise는 고려하지 않는다.
Correlation(연관성) 뿐 아니라 Cointegration(공적분) 까지 고려한 모델.
- 선형 관계
- 두 변수 X-Y간에 correlation이 0보다 크면 X가 큰 값이 나올 때 Y값은 큰 값을 가진다
- 두 변수 X-Y간에 correlation이 0보다 작으면 X가 큰 값이 나올 때 Y값은 작은 값을 가진다.
- 추세관계
- 두 변수 X-Y간에 cointegration이 0보다 크면 X의 값이 이전 값보다 증가하면 Y값도 증가한다.
- 두 변수 X-Y간에 cointegration이 0보다 작으면 X의 값이 이전 값보다 증가하면 Y값은 감소한다.
=> Correlation < 0 and Cointegration > 0
이전 값이 크다면, Y는 현재 작은 값이나 빠르게 증가하는 추세로 반응한다.
ARIMA(1, 1, 1)모형은 다음과 같다.
a * {X(t) - X(t-1)} = {b * X(t-1)} + {c * e(t-1)} + d + u *e(t)
X(t) = [X(t-1) + {b * X(t-1)} + {c * e(t-1)} + d + u * e(t)] / a
ARIMA(1, 1) 모형은 ARMA(1, 1)과 같으므로 쓰이지 않으며, ARIMA(1,2,1)은 다음과 같다.
a * [{X(t) - X(t-1)} - {X(t-1) - X(t-2)}] = {b * X(t-1)} + {c * e(t-1)} + d + u * e(t)
X(t) = (2 + b/a) * X(t-1) + X(t-2) + (c/a) * e(t-1) + (d / a) + (u/a) * e(t)
수식이 복잡한데에 비해 ARMA 모델과 많이 비슷하기 때문에 ARMA모델을 선택하는 경우가 많다. 특히 추세의 일관성이나 유의미성이 크지않을 경우 ARIMA 모형의 타당성이 떨어지기도 한다.
- Total
- Today
- Yesterday
- PYTHON
- numpy
- butterworth
- Rolling
- IRR
- TensorFlow
- 터널링
- scipy
- style transfer
- deep learning
- signal
- FFT
- VPN
- AWS
- tacotron
- filter
- pandas
- Computer science
- database
- detrend
- Machine Learning
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |