끄적이는 개발노트

260521_강의 정리 (시계열 분석) 본문

Python

260521_강의 정리 (시계열 분석)

크런키스틱 2026. 5. 21. 10:01
728x90

 

비지도 학습 · 시계열 분석
시계열 분석 정리
  • 시간 순서로 관측한 값들의 집합 → 과거 패턴으로 현재 이해 및 미래 예측
  • 자기상관이 존재하는 데이터 → 일반 회귀가 아닌 시계열 전용 분석 필요
📈
1. 시계열 데이터란?
  • 시간에 따라 순차적으로 관측한 값들의 집합
  • 관측값들이 서로 독립적이지 않고 이전 값의 영향을 받음
  • 자기상관이 있으면 반드시 시계열 분석 방법 적용
💡 새 개념 — 이 섹션에 등장하는 용어
비지도 학습 Unsupervised Learning
  • 정답(레이블) 없이 데이터 패턴·구조를 스스로 탐색
  • 시계열은 미래 정답 없이 과거 패턴만으로 예측 → 비지도 학습에 해당
자기상관 Autocorrelation
  • 같은 시계열 내 서로 다른 두 시점 값 사이의 상관관계
  • 값이 클수록 과거가 현재에 강하게 영향
오늘 주가 ↔ 어제 주가
독립성 Independence
  • 각 관측값이 서로 영향을 주지 않는 상태
  • 일반 회귀는 독립성을 전제 → 시계열 데이터에는 부적합
Pandas 시계열 자료구조
Time stamp
특정 시점 · DatetimeIndex
예: "2020-01-10"
Time duration
시간 간격 · TimedeltaIndex
예: "10 hours"
Fixed frequency
고정 주기 · PeriodIndex
예: "2 business days"
 
🔍
2. 시계열 데이터의 4가지 특성
📈 경향 (Trend)
  • 장기적 증가·감소 추세
  • 방향성 있는 변화 패턴
🔄 주기 (Periodicity)
  • 불규칙한 간격으로 반복
  • 경기 사이클 등 비고정 주기
🗓 계절성 (Seasonal)
  • 연·월·주 등 고정 주기로 반복
  • 달력 기준으로 패턴 고정
🎲 불규칙성 (Irregular)
  • 예측 불가능한 무작위 노이즈
  • 패턴 없이 발생하는 오차 성분
💡 새 개념 — 이 섹션에 등장하는 용어
노이즈 Noise
  • 신호에 섞인 불규칙 오차
  • 패턴이 없어 예측 불가
  • 전처리 단계에서 제거가 핵심 목표
날씨 예측 중 갑작스러운 이상기온
주기 vs 계절성
  • 계절성 → 달력 기준 고정 주기 반복 (연·월·주)
  • 주기성 → 반복은 있으나 간격이 불규칙
계절성: 여름 에어컨 판매 급증 / 주기: 경기침체 사이클
 
⚖️
3. 정상 시계열 vs 비정상 시계열
✅ 정상 시계열 조건
시간 무관 평균 일정
시간 무관 분산 일정
두 시점 공분산 → 기준시점 무관
🔄 비정상 → 정상 변환 방법
  • AR·MA·ARMA·ARIMA 모델 적용 전 반드시 변환 필요
차분 (diff) log 변환 exp 변환 Box-Cox 변환
차분(diff) — 이전 시점 값과의 변화량만 남김
· 연속수학의 미분과 유사한 역할
· 추세(trend) 제거 → 정상성 확보
💡 새 개념 — 이 섹션에 등장하는 용어
분산 Variance
  • 평균으로부터 데이터가 얼마나 퍼져 있는지를 나타냄
  • 분산이 크면 변동폭이 큰 것
  • 정상 시계열 → 시간이 지나도 분산 일정
시간 갈수록 폭등·폭락 → 분산 증가 → 비정상
공분산 Covariance
  • 두 변수가 함께 변화하는 정도
  • 시계열에서는 두 시점(t, t+s)의 동조 변화량
  • 정상 시계열 → 두 시점의 간격(s)에만 의존
Box-Cox 변환
  • 시간에 따라 커지는 분산을 안정화하는 수학적 변환
  • 람다(λ) 파라미터로 변환 강도 조정
  • λ=0 → log 변환과 동일
지수적으로 증가하는 매출 데이터에 적용
정상성 Stationarity
  • 평균·분산·공분산이 시간이 지나도 불변인 성질
  • AR·MA·ARMA 모델의 전제 조건
  • 비정상이면 차분·변환으로 정상화 후 모델 적용
 
🛠
4. 시계열 전처리 기법
Resample
  • 시간 단위 변경 (업·다운 샘플링)
  • 빈 값 → interpolate·fill로 보간
Shift / Lag
  • 시계열을 시간축 방향으로 이동
  • 과거·미래 값 참조 시 사용
Diff (차분)
  • 연속된 관측값 간 차이 계산
  • 추세 제거 → 정상성 확보
MA Smoothing
  • 이동평균으로 노이즈 제거
  • 추세선 추출에 활용
💡 새 개념 — 이 섹션에 등장하는 용어
업·다운 샘플링
  • 업샘플링 → 간격을 더 촘촘하게 (일→시간)
  • 다운샘플링 → 간격을 더 듬성하게 (일→월)
  • 업샘플링 후 생기는 빈 값은 보간으로 채움
월간 데이터를 주간으로 늘릴 때 → 업샘플링 후 보간
Interpolate 보간
  • 결측값을 주변 데이터 추세로 수학적 추정
  • fill보다 정교 → 선형·다항식 등 다양한 방식 지원
1월·3월 사이 2월 누락 → 중간값으로 채움
Lag 시차
  • 현재 시점 기준 과거 n단계 이전 값
  • lag 1 = 바로 이전 시점 값
  • 자기상관 분석·AR 모델의 핵심 개념
오늘(t) 기준 lag 1 = 어제(t-1) 값
평활화 Smoothing
  • 급격한 변동(노이즈)을 완화해 경향만 남기는 작업
  • 이동평균(MA)이 대표적 기법
일별 주가의 급등락 → 7일 MA로 부드럽게 표현
 
🔗
5. 자기상관 (Autocorrelation)
  • 시계열 내 서로 다른 두 시점 값 사이의 선형 상관 정도
  • ACF → MA 모델 차수 q 결정
  • PACF → AR 모델 차수 p 결정
자기상관계수 (이론값 · 추정값)
ρₛ = cov(yₜ, yₜ₊ₛ) / var(yₜ)
ρ̂ₖ = Σ(rₜ − r̄)(rₜ₋ₖ − r̄) / Σ(rₜ − r̄)²
자기상관 있는 데이터 = 과거값이 현재값에 영향
→ AR·MA·ARMA·ARIMA 시계열 전용 모델 적용 필수
💡 새 개념 — 이 섹션에 등장하는 용어
ACF Autocorrelation Function
  • 각 lag별 자기상관계수를 그래프로 표현
  • MA 모델 차수 q 결정에 사용
  • lag q 이후 ACF가 0에 수렴 → MA(q) 적합
PACF Partial ACF · 편자기상관함수
  • 중간 lag 영향을 제거한 순수 상관관계 표현
  • AR 모델 차수 p 결정에 사용
  • lag p 이후 PACF가 0으로 급감 → AR(p) 적합
선형 상관 Linear Correlation
  • 두 변수의 직선적 비례 관계 정도
  • 범위: -1(완전 반비례) ~ +1(완전 비례)
  • 0에 가까울수록 선형 관계 없음
r̄ (r-bar)
  • 시계열 전체 평균값
  • 각 시점값에서 r̄를 빼면 평균 중심화(centering)
  • 절대 크기 대신 변동 패턴만 비교 가능
 
6. 이동평균 (Moving Average) 공식
단순 이동평균 (SMA)
SMA = (A₁ + A₂ + … + Aₙ) / n
  • n개 데이터의 단순 산술 평균
  • 모든 시점에 동일 가중치 적용
  • 노이즈 제거·추세 파악에 활용
가중 이동평균 (WMA)
WMA = A₁×W₁ + A₂×W₂ + … + Aₙ×Wₙ
  • 최근 데이터일수록 더 높은 가중치 부여
  • 모든 가중치의 합 = 1
  • SMA보다 최신 변화에 민감하게 반응
지수 이동평균 (EMA)
EMAₜ = Valueₜ × (α / (1+Days)) + EMAₜ₋₁ × (1 − α / (1+Days))
  • 과거로 갈수록 가중치가 지수적으로 감소
  • α가 클수록 최신 데이터 반영 비중 증가
  • 세 이동평균 중 최신 변화에 가장 민감
💡 새 개념 — 이 섹션에 등장하는 용어
가중치 Weight
  • 각 데이터가 결과에 영향을 주는 비율
  • 최근 데이터 → 높은 가중치 → 민감 반응
  • 전체 가중치 합 = 반드시 1
W₁=0.1, W₂=0.3, W₃=0.6 → 최근값이 60% 반영
α (알파) · 스무딩 계수
  • EMA에서 최신 값 반응 속도 결정 (0~1 사이)
  • α 클수록 → 최신 데이터 비중 높음 (빠른 반응)
  • α 작을수록 → 과거 평균 중심 (안정적)
α≈0.9 → 최신 민감 / α≈0.1 → 과거 평균 중심
지수적 감소
  • 과거로 갈수록 가중치가 지수함수(aˣ)처럼 급감
  • 먼 과거 데이터는 사실상 0에 수렴하는 영향만 미침
 
🧩
7. 시계열 분석 모델
AR
Autoregression · 자기회귀 모델
  • 현재값 = 과거 자신의 값들의 선형 결합으로 예측
  • 차수 p → PACF 그래프로 결정
MA
Moving Average · 이동평균 모델
  • 현재값 = 과거 오차항(백색잡음)의 선형 결합으로 표현
  • 차수 q → ACF 그래프로 결정
ARMA
Autoregressive Moving Average
  • AR + MA 결합 모델
  • 정상 시계열에만 적용 가능
  • 파라미터: (p, q)
ARIMA
Autoregressive Integrated Moving Average
  • ARMA + 차분(d회) 통합 → 비정상 시계열에도 적용 가능
  • 파라미터: (p, d, q)
  • d = 정상성 확보를 위한 차분 횟수
💡 새 개념 — 이 섹션에 등장하는 용어
선형 결합 Linear Combination
  • 여러 값에 각각 계수를 곱한 뒤 합산
  • AR: 현재값 = (계수₁×어제값) + (계수₂×그제값) + …
yₜ = 0.7×yₜ₋₁ + 0.2×yₜ₋₂ + 오차
백색잡음 White Noise
  • 평균 0, 분산 일정, 시점 간 상관관계 없는 순수 무작위 오차
  • 잔차가 백색잡음에 가까울수록 좋은 모델
완전 무작위한 주사위 던지기 결과
차수 p, d, q
  • p → AR에서 참조할 과거 시점 수 (PACF 결정)
  • d → 정상성 확보를 위한 차분 횟수
  • q → MA에서 참조할 과거 오차항 수 (ACF 결정)
ARIMA(2,1,1) → 2시점 AR, 1회 차분, 1시점 MA
잔차 Residual
  • 예측값과 실제 관측값의 차이
  • 잔차가 백색잡음에 가까울수록 모델 적합도 높음
  • ACF·PACF로 잔차 확인 → 모델 검증
모델 선택 흐름
· 비정상 → 차분으로 정상화 (d 결정)
· ACF 확인 → q 결정
· PACF 확인 → p 결정
· ARIMA(p, d, q) 적합
비정상 시계열
차분·변환
정상 시계열
ACF / PACF
모델 선택 및 예측
728x90