ARIMA 모델
Autoregressive Integrated Moving Average는 개발된지 오래된 방법이지만
시계열 데이터 분석을 위해 이해해야 하는 중요한 모델링 또는 예측 기법이다.
여기 나오는 개념들을 이해하는것이 좋다.
Stationary vs Non-stationary time series
Seasonal vs Non-seasonal ARIMA
Autoregressive - AR(p)
Integrated - I(d)
Moving Average - MA(q)
Stationary 데이터 특성
- 연속되는 숫자들의 평균 / 분산 / 공분산이 시간에 따라서 변하지 않으면 Stationary하다고 한다.
ARIMA 모델이 효과적으로 적용이 되려면 Data가 Stationary 특성을 보여야한다. 그래서 이걸 테스트 할 수 있어야하는데, Augmented Dickey-Fuller라는게 있음. 나중에 코드로 확인.
그럼 Stationary하지 않으면 ARIMA를 못돌리나 ? 그렇진 않음.
Differencing이라는 Smoothing 과정을 통해서 Stationary하게 변환 할 수 있음.
이를 Integrated라고 한다.
stationary는 즉, trend가 없다는 것이다.
stationary는 주기가 일정함.
lagging을 해서 빼줌. ( 시간단위는 다양함)
3차 이상은 하지 않음.
Seasonality와 trend를 제거하는 과정이기 때문에 3차 이상 했음에도 불구하고 Seasonality, trend가 제거되지 않으면
잘못된 경우다.
보통 1,2차에서 해결된다.
regression에 사용하는 변수들은 서로 다른 차원의 feature들인데,
Iris데이터같은 경우 꽃잎의 넓이, 길이 등등 서로 연관성이 있을수도 있고, 없을 수도 있는데,
Autoregression의 데이터는 다 같은 데이터임. (과거데이터)
내 스스로와의 연관성을 p시점에 대해서 계산하는 것이 autoregression
노이즈를 예측한다고 생각하면 된다. (실제 데이터와의 차이)
그 다음번의 데이터의 residual을 예측.
그래서 p,q를 구하는 방법은
d order로 differencing해서 Stationary하게 만든 다음에, Plot 구해서 p,q를 결정함.
t시점과 특정 시간만큼 지연된(lag) 시점 t-p의 연관성을 그 사이 데이터의 영향을 배제하고 보여준다.
이게 뭔소리야 ?
T시점(1)과 T-P시점(2)간의 Correlation을 구하는데, T ~ T-P 사이의 데이터들도 1,2에 연관되어 있을텐데, 이 데이터들의 영향을 배제하고 구한다는 의미.
ACF : Auto Correlation Function
PACF : Partial ACF
이 둘의 특성을 보고 p,q를 두하는 특성을 요약함.
이거는 일반적인거고, 경우의수는 매우 많음.
보통은 박스잰킨스 method?
p, q를 하나씩 늘려보는 프로세스가 있음.
Auto Correlation이 결국에는 예측 모델을 만들어 놓고, Trend와 Seasonality를 배제한 다음에 Noise에 대해서 다시 Auto Correlation을 계산하는 것이기 때문에 먼저 p값 하나 늘려놓고, 모델을 만들어서 Residual을 만들고 , 그 Residual에 대해서 또 Auto Correlation을 계산한 다음에, Correlation이 보여지면 아직 노이즈에 Correlation이 있다고 판단하게 된다.
그래서 q값을 하나 늘려보고, 또 모델링 해서 Residual 늘리고 이를 반복한다.
결국에는 Confidence level로 내려올 때 까지 반복하면 파라미터를 결정 할 수 있다.
파란부분이 Confidence level인데 lagging된 차수에 대해서 Correlation이 있다를 판단하는 기준선.
95% Confidence level이라면 20개까지 lagging을 해서 그린다음에 그중에서 2개 이상 넘어오는게 없으면 그 데이터는 Correlation이 없는것.
'Data Handling > 시계열데이터' 카테고리의 다른 글
Pandas로 하는 시계열 데이터분석 (4) [시계열 데이터 분석 기본 모델] (0) | 2021.01.01 |
---|---|
Pandas로 하는 시계열 데이터분석 (3) [시계열 데이터 특성 및 ETS모델이해] (0) | 2020.12.30 |
Pandas로 하는 시계열 데이터분석 (2) [TimeZone, Visualize] (0) | 2020.12.29 |
Pandas로 하는 시계열 데이터분석 (1) (0) | 2020.12.28 |