Search
moon
sun

[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 소개 → 일변량 시계열에 대한 특징 추출에 참고 가능