전력데이터 분석 가이드
전력사용량 예측 경진대회와 관련하여 데이터 정제, 결합, 피처 생성, 모델 선정 등의 내용을 정리한 것으로 하기 방법 외에도 다양한 방법을 적용하여 사용량을 예측할 수 있습니다.
데이터 결측 보간
대부분의 예측 모델은 투입 데이터에 결측이 존재할 경우 정상 동작하지 않으므로 이동평균법,선형보간법 등의 방법을 사용하여 결측치 보간
이동평균법 | 결측지점 전, 후 데이터의 평균값을 이용하여 보간, 구간 내 데이터가 없는 경우 결측치가 보간되지 않을 수 있음 |
---|---|
선형보간법 | 이동평균법으로 보간이 어려운 경우, 결측지점과 동일한 요일, 시간대별 데이터를 활용하여 선형 보간 |
기상데이터 활용
냉방 전력사용량은 기온과 상관관계가 높으므로 전력사용량 예측 시 기상요인 분석 및 활용 필요
기상데이터 수집
공공데이터 포털에서 API 등을 이용하여 수집
구분 | 내용 | API명 | 홈페이지 |
---|---|---|---|
종관관측데이터 | 전국 관측소에서 동일 시점에 관측된 기상데이터 | 기상청_지상(종관, ASOS) 시간자료 조회서비스 | 홈페이지로 이동 |
기상청_지상(종관 ASOS) 일자료 조회서비스 | 홈페이지로 이동 | ||
동네예보 | 금일부터 +3일까지의 기상예보(강수확률, 강수량, 습도, 하늘상태, 최저/최고기온 등) | 기상청_동네예보 조회서비스(2.0) | 홈페이지로 이동 |
중기예보 | +3일부터 +10일까지의 기상예보(강수확률, 최저/최고기온 등) | 기상청_중기예보 조회서비스 | 홈페이지로 이동 |
기상데이터 보간
관측값이 일부 누락된 경우에는 선형 보간하고, 일사량 등의 관측값이 존재하지 않는 관측소는 XGBOOST 등의 모델을 활용하여 보간
*일부 관측소의 경우 일사량 데이터가 존재하지 않음
기상데이터 매칭
사업장과 기상관측소의 GPS 정보를 활용하여 사업장의 전력데이터를 최인접 기상관측소의 기상데이터와 매칭
*매칭 시 대상 데이터의 주기가 다를 경우 해당 데이터를 주기가 동일하도록 변환
feature 생성
전력, 기상데이터를 활용하여 전력사용량의 증감을 설명할 수 있는 인자(feature)를 생성
날짜인자
날짜 정보에서 월, 주, 일, 휴일여부, 시간에 대한 정보 추출, 시간 정보는 주기성* 표현을 위해 삼각함수**를 이용하여 변환
*수치상으로 23이 차이나는 23시와 0시가 변환 후에는 인접한 것으로 표현됨
**sin_time = sin(2×π×h÷24), cos_time = cos(2×π×h÷24)
-
날짜인자 생성 예시
-
날짜인자 생성 예시입니다. date_time 2020-06-01 00 2020-06-01 01 2020-06-01 02 - 2020-08-24 21 2020-08-24 22 2020-08-24 23 2020-06-01 00 -
날짜인자 생성 예시입니다. day month week holiday sin_time cos_time 0 6 23 0 0.000000 1.000000 0 6 23 0 0.258819 1.965926 0 6 23 0 0.500000 1.866025 - - - - - - 0 8 35 0 -0.866025 1.500000 0 8 35 0 -0.707107 1.707107 0 8 35 0 -0.500000 1.866025 0 8 35 0 -0.258819 1.965926
-
-
시간 정보 변환
패턴인자
사업장의 주기적인 전력사용 패턴을 설명할 수 있는 요일별, 시간대별 전력사용량 평균, 표준편차 등의 패턴인자 생성
-
건물4의 요일별 시간대별 전기사용량 히트맵
-
건물5의 요일별 시간대별 전기사용량 히트맵
-
건물6의 요일별 시간대별 전기사용량 히트맵
냉방전력인자
냉방 전력사용량과 관련이 높은 냉방도시간(Cooling Degree Hours)*, 불쾌지수(Temperature Humidity Index)** 인자 생성
*냉방 기준온도보다 높은 시점에 해당 시점의 온도와 기준온도와의 차이를 적산하여 산출
**불쾌지수(THI) : 기온과 습도의 조합으로 사람이 느끼는 온도를 표현한 변수
-
냉방도시간(Cooling Degree Hours)
Temp는 기온, i는 계측시점, 기준온도는 26도(℃)
* 계측시점 기준 최근 12개 기온 데이터를 사용하여 냉방도시간 계산
-
불쾌지수
Temp는 기온, Hum은 습도
군집인자
예측대상 사업장이 다수인 경우 K-means 등의 군집분석(Clustering) 방법에 따른 군집정보를 인자로 활용
사업장의 요일별, 시간대별 전력사용량 데이터 군집화 예시
모델 선정
시계열 예측은 XGBOOST(Extreme Gradient Boosting)와 LSTM(Long Short-Term Memory)모델이 많이 사용됨
*Extreme Gradient Boosting, Long Short-Term Memory
XGBOOST | 약한 예측모형을 순차적으로 개선하면서, 강한 예측모형을 생성하는 앙상블 알고리즘 중의 하나로 다수의 인공지능 경진대회에서 수상자가 채택하여 유명해짐 |
---|---|
LSTM | 연속된 시계열 정보를 입력하여 예측하는 모델로, 기존의 순환신경망이 갖고 있는 기울기 소실 문제를 해결한 알고리즘으로, 감성분석, 음성인식, 실시간 번역 등에 활용되고 있음 |
모델 비교 | LSTM은 XGBOOST에 비해 상대적으로 훈련시간이 많이 소요되어 빠른 분석이 필요한 경우 XGBOOST가 많이 사용됨 |
모델 학습
모델 학습 시 학습데이터를 과하게 학습하여 실제 사용량을 예측할 때 예측 오차가 커지는 과적합 문제를 방지하기 위한 교차검증 방법 등의 설계 필요
*학습데이터를 과하게 학습하여 실제 사용량을 예측할 때 예측 오차가 커지는 문제
인자 최적화 | 인자가 가질 수 있는 값의 범위에 대해 반복적으로 모델 성능을 확인하여 최적값을 도출하는 방식이 많이 사용됨 |
---|---|
교차검증 | 전체 데이터 중 일부를 검증(Valid) 데이터로 활용하는 다수의 학습/검증 데이터 set을 활용하여 모델의 성능을 평가 |
교차검증 예시