Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 리프 중심 트리 분할
- tableau
- Growth hacking
- 그로스 마케팅
- 그룹 연산
- 데이터 증식
- 캐글 산탄데르 고객 만족 예측
- 컨브넷
- lightgbm
- DENSE_RANK()
- 로그 변환
- ImageDateGenerator
- 인프런
- 데이터 핸들링
- pmdarima
- WITH CUBE
- 부트 스트래핑
- ARIMA
- WITH ROLLUP
- 데이터 정합성
- 캐글 신용카드 사기 검출
- python
- splitlines
- 마케팅 보다는 취준 강연 같다(?)
- 스태킹 앙상블
- 3기가 마지막이라니..!
- 분석 패널
- sql
- 그로스 해킹
- XGBoost
Archives
- Today
- Total
LITTLE BY LITTLE
[1] ARIMA - 시계열 모델의 개념 본문
ARIMA는 AR 모형(Auto Regressive) 부분도 있고, MA(Moving Average) 부분도 있음
1-1. AR(Autoregressive) models
: 자기 자신을 종속변수로하고, 이전 시점의 시계열(lag)을 독립변수로 갖는 모델
* hyper parameter: P
- 과거의 값이 현재의 값에 영향을 줄 때 사용
- AP(p)는 차수가 p인 자기 회귀 모형
- AR1. 백색잡음: 과거의 값으로 현재의 값을 예측할 수 없는 랜덤한 상태
- AR2. 확률 보행: 현재 값을 예측할 수 있는 가장 좋은 값은 어제의 값 [ yt=yt−1+ϵt ]
- AR3. 표류가 있는 확률 보행: 시간이 지남에 따라 평균적으로 값이 증가/감소[ yt=c+yt−1+ϵt ]
- AR4. 정상성을 만족하는 모형
=> AR4를 제외하고는, 시계열 모형이 정상성을 띠도록 차분/로그 변환 후 모형 적용해야 함
1-2. MA(Moving Average) models
: 자기 자신을 종속변수로, 해당 시점과 그 과거의 white noise distribution error들을 독립변수로 갖는 모델
- MA모형은 항상 정상성을 만족한다.
- 과거의 값이 현재의 값에 영향을 줄 때 쓰는 모형
- 예) X: 강수 여부, Y: 수영장에 입장하는 사람 수, 강수 여부를 예측하기 어렵고, i.i.d를 따른다는 가정 하에,
수영장 입장 사람 수=μ+θ1Weathert+θ2Weathert−1
* hyper parameter: Q
1-3. ARMA(Autoregressive and Moving Average) models
- AR+MA
* hyper parameter: P, Q
1-4. ARIMA(Autoregressive Integrated Moving Average) models
- ARMA 모형에 차분을 D회 수행해준 모델
* 차분(Differencing): 현 시점 데이터에서 d시점 이전 데이터를 뺀 것
- 시계열 데이터의 추세를 제거하기 위해 데이터 간의 차이를 계산하는 과정
- 시계열 데이터가 안정적인 상태에 도달할 때까지 적용
* hyperparameter: P, Q, D
1. P
- 자기회귀(AR)부분의 차수
- 시계열 값이 과거 P시점 만큼 앞선 시점까지의 값에 의존하는 AR 모형의 차수
- ex. p=3, warm tomorrow if it has been warm the past 3 days
2. D
- 1차 차분이 포함된 정도
- # of non-seasonal difference
- ex. d=3, same temperature tomorrow if the difference in temperature in the last 3 days has been very small.
- d를 구현하는 함수 diff(data, differenes=n): 차분을 통해 정상성을 만족시키는 것이 목적
3. Q
- 이동 평균(MA) 부분의 차수
- 시계열 값이 과거 Q시점만큼 앞선 시점까지의 오차에 의존하는 MA 모형의 차수
- # of errors
yt′=c+ϕ1yt−1′+⋯+ϕpyt−p′+θ1ϵt−1+⋯+θqϵt−q+ϵt
- ARIMA(1,0,0) = AR(1), ARIMA(0,0,1) = MR(1)
- Auto Aarima: arima(data, order=c(p,d,q))에서 arima모델의 적절한 p,d,q를 추천해주는 함수
tsa (time series analysis)
From statsmodels. tsa import ArmaProcess (ar,ma)
pmdarima
- 통계검정을 사용해 정상성을 달성하기 위해 차분으로 조정하는 방식을 진행할 경우, 적용해야 할 차분의 차수를 알아낼 수 있는 방법
- pmdarima의 ndiffs, nsdiffs 함수를 사용
- test 방식에는 adf, kpss, pp[필립-페론 검정] 가 있음
pip install pmdarima
from pmdarima.arima import ndiffs, nsdiffs
print(f"Suggested # of differences (ADF): {ndiffs(df.price, test='adf')}")
print(f"Suggested # of differences (KPSS): {ndiffs(df.price, test='kpss')}")
print(f"Suggested # of differences (PP): {ndiffs(df.price, test='pp')}")
stationarity(정상성/안정성), seasonality, adf/kpss stationarity test 이어서
'데이터 분석 > 시계열 데이터 분석' 카테고리의 다른 글
[5] ARIMA - auto_arima를 활용한 예제 실습 (0) | 2023.12.11 |
---|---|
[4] ARIMA - 시계열 모형 추가 설명 / 정상성 검정 정리 (0) | 2023.11.29 |
[1] 시계열 군집 분석 - 계층적 군집화의 개념과 종류 (1) | 2023.11.24 |
[3] ARIMA - 직관적인 정상성 검정 방법 ACF/PACF Plot, 차분 (0) | 2023.11.13 |
[2] ARIMA - 시계열 데이터, 정상성, 검정 방법(ADF/KPSS) (0) | 2023.11.11 |
Comments