Skip to main content
시계열 모델에서 성능 차이를 만드는 대표 피처가 캘린더 정보입니다. 요일, 월말, 공휴일 같은 시간 신호를 구조적으로 넣으면 예측 안정성이 개선됩니다.

기본 캘린더 피처

df["ts"] = pd.to_datetime(df["ts"], utc=True)
local = df["ts"].dt.tz_convert("Asia/Seoul")

df["year"] = local.dt.year
df["month"] = local.dt.month
df["day"] = local.dt.day
df["dayofweek"] = local.dt.dayofweek
df["is_weekend"] = local.dt.dayofweek.isin([5, 6]).astype(int)
df["is_month_start"] = local.dt.is_month_start.astype(int)
df["is_month_end"] = local.dt.is_month_end.astype(int)

공휴일 플래그

import holidays

kr_holidays = holidays.KR(years=[2024, 2025, 2026])

dates = local.dt.date
df["is_holiday"] = dates.isin(kr_holidays).astype(int)

이벤트 윈도우 피처

# 휴일 전/후 영향 구간(예: -1일, +1일)
df["is_holiday_prev_day"] = dates.map(
    lambda d: int((d + pd.Timedelta(days=1)) in kr_holidays)
)
df["is_holiday_next_day"] = dates.map(
    lambda d: int((d - pd.Timedelta(days=1)) in kr_holidays)
)
휴일 당일보다 휴일 전날/다음날 수요 변화가 더 큰 도메인에서 효과적입니다.

검증 포인트

  • 공휴일 피처 추가 전/후 모델 성능 비교
  • 국가/지역별 서비스라면 캘린더를 분리 적용
  • timezone 변환 이후 날짜 기준으로 휴일 플래그를 계산

이어서 볼 문서