건물의 냉난방 에너지는 바깥 기온을 크게 따라갑니다. 한 해 동안 1시간마다 잰 실제 기온 기록으로, 다음 몇 시간의 기온을 맞히는 방법을 가장 단순한 것부터 학습 모델까지 견줘 봅니다.
시계열은 흔히 추세 + 계절 무늬 + 나머지로 읽습니다. 시간별 기온에서 뚜렷한 계절은 하루입니다. 오후에 덥고 밤에 서늘합니다. 고전적 분해는 가운데 24시간 이동 평균을 추세로 삼고, 남은 것을 시각별로 평균해 하루 무늬를 얻고, 그 나머지를 나머지로 둡니다. 자기상관 함수(ACF)는 k시간 전의 자기 자신과 얼마나 닮았는지 보여 줍니다.
자료: 미국 노스캐롤라이나 그린즈버러의 전형 기상년(TMY3). 달마다 서로 다른 해의 실제 시간별 관측 한 달을 골라 이어 붙였습니다(예: 1월은 1988년, 2월은 1996년). 그래서 달이 바뀌는 곳에서 값이 튈 수 있습니다. 1월은 파일 안에 그 전 기록이 없어 예측 탭에서 뺐습니다.
| 기호 | 뜻 | 단위 |
|---|---|---|
| xt | t시의 기온 | °C |
| T, S, R | 추세, 계절(하루) 성분, 나머지 | °C |
| ρ(k) | k시간 차 자기상관 | — |
어떤 모델보다 먼저, 학습이 필요 없는 예측으로 기준을 세웁니다. Naive는 마지막 값을 그대로 씁니다. Seasonal naive는 어제 같은 시각의 값을 씁니다. 이동 평균은 지난 w시간의 평균을 씁니다. 이것들을 이기지 못하는 모델은 복잡할 이유가 없습니다.
그 달 매일 00시에 예측하고, 몇 시간 앞마다 평균 절대 오차(MAE)를 냅니다.
Holt-Winters는 수준(level), 추세(trend), 시각별 계절 보정값 24개를 들고 다니며, 새 값이 올 때마다 각자의 비율 α, β, γ만큼 그쪽으로 옮깁니다. ARIMA 계열은 값이 앞의 값에 어떻게 기대는지를 모델로 삼습니다. 여기서는 먼저 24시간 차분(오늘 − 어제 같은 시각)을 하고, 차수 p의 자기회귀를 최소제곱으로 맞춥니다: SARIMA(p,0,0)(0,1,0)₂₄.
예측은 회귀 문제로 바꿀 수 있습니다. 과거로 만든 특징, 여기서는 지난 L시간의 값, 24시간 전 값, 하루 중 시각(sin·cos)으로 다음 한 시간을 맞힙니다. Ridge 회귀는 가중치를 작게 묶는 벌점 λ가 붙은 선형 모델이고, 작은 신경망은 관계를 굽힐 수 있습니다. 여러 시간 앞을 예측할 때는 예측값을 관측값처럼 다시 넣으므로(재귀 예측) 오차가 쌓입니다.
예측은 보지 못한 데이터로, 시간 순서대로 평가합니다. Rolling origin 평가는 여러 시점에서 그때까지의 과거만으로 예측하고, 몇 시간 앞인지별로 오차를 평균합니다. 오차 지표도 서로 다릅니다. MAPE는 실제 값으로 나누므로 기온이 0 °C 근처면 터집니다. 시계열 행을 무작위로 섞어 학습·시험으로 나누면, 모델이 시험 시각 바로 옆 시간에서 배우게 되어 점수가 부풀려집니다.
직접 모델이 같은 특징(ridge, L = 6)으로 24시간 뒤 기온을 맞힙니다. 한 해 전체에서 행의 80%로 학습하고 20%로 시험하되, 나누는 방법을 두 가지로 합니다.
교육용 페이지입니다. 예측은 방법을 비교하려는 것이며 일기 예보가 아닙니다. 오차는 이 자료 한 곳·한 해에 대한 값입니다.