✅ 오늘 한 것
태블로, 시계열 라이브세션, 기초 프로젝트 복습
✏️ 오늘 배운 점
시계열
ARIMA, SARIMA 같은 고전 시계열 모델은 데이터가 정상 시계열이라고 가정
하지만, 실제 데이터들은 대부분 비정상 시계열이다.
따라서, 모델링 진행 전 정상성 검사 → ADF 사용을 통해 정상 시계열로 변환이 필요하다.
ADF의 귀무가설(H0)과 대립가설(H1)
| 구분 | 의미 |
| H₀ (귀무가설) | 단위근 존재 → 비정상 시계열 |
| H₁ (대립가설) | 단위근 없음 → 정상 시계열 |
- p-value > 0.05 → 단위근을 기각할 수 없음 → 비정상 시계열
- p-value < 0.05 → 단위근 기각 → 정상 시계열
정상 시계열: 시간이 지나도 평균, 분산, 자기공분산이 일정한 시계열
특징 3가지
- 평균이 일정함
- 분산이 일정함
- 자기공분산이 “시점 t”가 아니라 “두 점의 차이 h(lag)”에만 의존
비정상 시계열: 평균·분산·구조가 시간에 따라 변하는 시계열
특징
- 추세(Trend) 존재
- 계절성(Seasonality) 존재
- 확률 보행(Random walk)
- 분산이 점점 커짐(heteroscedastic)
ADF 함수의 반환값 구조
result = adfuller(series)
result[0] → ADF Statistic
result[1] → p-value
result[2] → usedlag(사용된 lag 수)
result[3] → nobs(검정 시 사용된 관측치 수)
result[4] → critical values (임계값 dict)
result[5] → icbest (정보기준값)
result[0]가 음수일수록 정상일 가능성 높아짐
result[1]을 통해 정상 시계열과 비정상 시계열 확인
ARIMA
ADF로 정상 여부 판단
- p-value < 0.05 → 정상 시계열
- p-value > 0.05 → 비정상 → 변환 필요
정상성 확보 후 적용한 차분 횟수가 ARIMA의 d가 된다. ARIMA의 구성 요소(p, d, q)
- ACF → MA(q)
과거 오차(ε)의 영향이 몇 시점까지 있는지 확인 - PACF → AR(p)
과거 값(y)의 영향이 몇 시점까지 있는지 확인
ARIMA(p, d, q)로 예
- p: 자기회귀(AR) 차수
- d: 차분(diff) 횟수
- q: 이동평균(MA) 차수
정상화된 데이터를 기반으로 ARIMA(p, d, q) 모델이 미래 시점 값을 예측합니다.
get_forecast(): statsmodels ARIMA/ARMA/ARIMAX/SARIMA/AR/MA 모델에서 앞으로의 값을 예측하는 함수
result = model.get_forecast(steps=len(test))
✏️ 오늘의 질문
1. 정상성 검사 → ADF 사용을 통해 정상 시계열로 변환이 되는가?
ADF는 현재 시계열이 정상인지 비정상인지 판별하는 역할만 진행
ADF 검정 실행 결과 비정상일 경우 차분(diff)을 적용하여 정상성이 확인될 때까지 반복한다.
비정상 시계열 → (차분) → ADF → (정상판정) → ARIMA 모델링
2. ADF 확인을 위한 정상으로의 과정은 로그 변환, 차분(diff)으로만 진행이 되는가?
로그 변환과 차분(diff)만으로 이루어지는 것이 아니다.
로그 변환 후 차분을 하는 방법이 흔히 사용되지만, 데이터의 특성에 따라 Box–Cox 변환 → 차분(diff) 과정을 적용하여 정상성을 확보하는 것이 더 효과적일 때도 있다.
📌추가로 해야 할 점
태블로, Streamlit 라이브세션
'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글
| 본캠프_11주차(월)_TIL(Streamlit) (0) | 2025.11.24 |
|---|---|
| 본캠프_10주차(금)_TIL(Streamlit, Tableau) (0) | 2025.11.21 |
| 본캠프_10주차(수)_TIL(심화 프로젝트 기반 피드백) (0) | 2025.11.19 |
| 본캠프_10주차(화)_TIL(머신러닝 정리) (0) | 2025.11.18 |
| 본캠프_10주차(월)_TIL(데이터 준비 & 통계적 검정 정리) (0) | 2025.11.17 |