Search

[KEPRI] load-forecast-xai

논문 개요

제목: Towards explainable electric load forecasting based on XAI and feature engineering techniques
기여사항

실험 설계

모델: Random Forest(Bagging), Catboost(Boosting-Gradient Boosting), LSTM
XAI: LIME, SHAP, Layer-Wise Relevance Propagation (only LSTM)
특징 중요도 기반 특징 선택 및 성능 평가
모델 별 특징 중요도 결과
모델-XAI(Top-k) 페어 별 성능 평가(Baseline: 전체 특징 집합 사용)

코드 구조

1.
데이터셋 전처리: anonymization.py, etl.py, create_db.py
2.
기초 분석 및 데이터셋 준비: eda.py → create_feature.py → clustering.py → select_data.py
3.
모델 학습 및 저장: train_model.py
구현 모델: LSTM
4.
XAI 적용 및 모델 설명: [explain_model_lstm.py | explain_model_rf.py]
추가 예정: explain_model_cat.py

TDL

1. EDA

대상 데이터: 선택된 배전선로 군집
전처리: 배전선로 별 스케일링(min-max normalization)
패턴 시각화
요일별 부하 패턴
요일별 패턴 시각화 참고
평일/공휴일 부하 패턴
평일/휴일 패턴 시각화 참고(distribution plot)
월별 부하 패턴
참고: The crash occurrence patterns across time of day and day of week (Li 2016) 수정안: 월(x축), 요일(y축).

2. 특징 추출

EDA 결과에 따라 요일, 평일/휴일, 월에 대한 특징 추출
코딩: create_feature.py

3. Model, XAI 코드 작성

Random Forest, XGBoost, LSTM
LIME, SHAP, LRP

References

1.
파이썬으로 공휴일 날짜 구하기 pytimekr, 티스토리 (link)
문제점: 1월1일을 평일로 처리
2.
Cho, J., et al., “A Study on Load Forecasting of Distribution Line Based on Ensemble Learning for Mid- to Long-Term Distribution Planning,” Energies (link)
관련성 높은 논문
3.
Python으로 공휴일 리스트를 만들자, 티스토리 (link)
4.
Maitra, S., Technical Indicators and GRU/LSTM for Time-Series Prediction, Towards Data Science (link)
주식 분석에 사용되는 Technical Indicators 소개 → 일변량 시계열에 대한 특징 추출에 참고 가능