2. 목차
1
2
3
STEP 1
STEP 2
STEP 3
https://dacon.io 2
데이터 전처리 & EDA
모델 구축 & 학습
결과 및 결언
데이터 전처리 &EDA
모델 구축 & 학습
결과 및 결언
• 변수 선택
• 모델 구축
• 훈련
• 예측
• 외부 데이터
• 데이터 전처리
• 데이터 결합
• EDA
3. https://dacon.io 3
1-1 외부데이터 -SMP
https://www.kpx.or.kr/www/contents.do?key=226
대회에서 제공되는 데이터들과 같은 데이터를 사용
일별 제주 지역의 SMP 최대, 최소, 가중평균의 데이터를 수집
기간 : 2010-01-01 ~ 2020-05-18
4. https://dacon.io 4
1-1 외부데이터 - supply
https://www.kpx.or.kr/www/contents.do?key=356
대회에서 제공되는 데이터들과 같은 데이터 + 추가 데이터를 사용
일별 제주지역의 설비용량, 공급능력, 최대전력, 공급예비력, 예비율 데이터를 수집
기간 : 2010-01-01 ~ 2020-05-18
5. https://dacon.io 5
1-1 외부데이터 – 제주 기온
https://data.kma.go.kr/data/grnd/selectAsosRltmList.do?pgmNo=36
대회에서 제공되는 데이터들과 같은 데이터를 사용
일별 제주 지역에서 측정된 지점별 평균, 최저, 최고 기온을 수집
기간 : 2010-01-01 ~ 2020-05-18
6. https://dacon.io 6
1-2 supply 데이터 전처리
2016년 5월 17일 데이터에서 결측값이 존재하여 전 날과 다음 날의 평균으로 대체
각각의 파일들을 로드하여 2010-01-01 ~ 2020-05-18 의 일별 데이터로 결합
8. https://dacon.io 8
1-2 제주 기온 데이터 전처리
각각의 파일들을 로드하여 2010-01-01 ~ 2020-05-18 의 일별 데이터로 결합
제주 지점별 데이터에서 평균, 최고, 최저 기온을 일별로 평균낸다.
9. https://dacon.io 9
1-3 데이터 결합
앞에서 생성 했던 supply, SMP, 기온 데이터들을 결합한다.
추가로 날짜를 통해 month, day, dayofweek 데이터를 생성하여 데이터를 결합한다.
10. https://dacon.io 10
1.4 EDA - supply
• Supply 데이터는 분기별 특성을 가지는 것으로 보인다.
• 과거에서 현재로 올수록 저점과 고점이 꾸준히 상상하는 형태가 나타난다.
• 저점 보다 고점이 더 큰 폭으로 커지는 것으로 보인다.
• 날짜 데이터와 이전 며칠동안 측정된 supply 데이터가 예측하는데 큰 영향을 끼칠 것으로 예상된다.
11. https://dacon.io 11
1-4 EDA – SMP(max)
• 중간중간 위로 치솟는 데이터가 존재
• 10년 동안의 자료로 보아선 분기별 특성이 뚜렷하게 나타나지는 않는 것 처럼 보인다.
• 상승할 때는 꾸준히 상승하고 하락할 대는 꾸준히 하락하는 모습을 보인다.
• 하락과 상승이 뚜렷하게 보이지 않고 횡보하는 형태를 나타날 때는 날별로 큰 변동이 보인다.
• 최근의 데이터를 보면 날 마다 큰 변동이 있는 것으로 보아 꾸준한 상승이나 하락 보다는 횡보하는
형태로 나타날 것으로 보인다.
12. https://dacon.io 12
1-4 EDA – SMP(min)
• 중간중간 밑으로 떨어지는 데이터가 존재
• 과거 데이터에는 큰 폭으로 떨어지는 데이터가 많이 없지만 2014년 이후 크게 떨어지는 날 이 잦다.
• 상승할 때는 꾸준한 상승, 하락할 때는 꾸준한 하락을 보인다.
• 최근 들어서는 변동이 심하다.
13. https://dacon.io 13
1-4 EDA – SMP(mean)
• 가중 평균 값이기 때문에 변동성이 큰 날은 잦지 않다.
• 과거에는 꾸준한 하락 혹은 꾸준한 상상을 하고 있지만 최근에는 변동성이 심해진 것을 볼 수 있다.
14. https://dacon.io 14
2-1 모델 구축 & 훈련 – 변수 선택
• target value인 supply, SMP(mean, max, min)을 예측하기 위해 각각 입력 데이터들을 다르게 설정하였다.
• Supply
• 주기적인 특성이 뚜렷히 보이는 것 같아 날짜 관련 데이터를 모두 사용하고 supply 관련 데이터, 기
온 데이터를 모두 사용하였다.
• SMP 데이터들은 최대한 많은 과거 데이터를 통해 최근 30일의 데이터로 현재를 예측할 수 있도록 구성
• SMP(mean)
• smp_mean과 기온의 평균 데이터를 사용하였다.
• SMP(max)
• smp_max와 smp_mean, 날짜 관련 데이터, 기온의 평균 데이터를 사용
• SMP(min)
• smp_min, supply, 기온의 평균 데이터를 사용하였다.
15. https://dacon.io 15
2-2 모델 구축 & 훈련
• 사용한 모델 : LightGBM
• 파라미터
• 4개의 파라미터로 target들을 각각 예측한다.
• Loss를 MAE 혹은 MSE로 하는 2가지 경우와 feature_fracion옵션을 0.1로 하거나 기본으로 하는 2가지
경우의 수를 조합하여 총 4개의 파라미터로 설정
• 사용하는 파라미터는 target에 따라 다르게 설정
• 100 번 동안 성능 개선 없을 시 학습 종료 (Early Stopping)
• 학습하기 위한 데이터 구축
• 30일 간의 시계열 데이터를 학습하기 위한 featur로 하고 7일 후 ~ 35일 후 데이터를 타겟 값으로
하여 데이터를 구축한다.(N일 후를 예측하는 모델이 생성되어 28개의 모델이 생성됨)
• 학습하기 위한 데이터를 구축한 후 전체 데이터에서 최근 날짜 20%는 검증데이터로 사용한다.
나머지는 훈련 데이터로 사용한다.
• 훈련
• SMP, supply를 각 파라미터를 통해 7일 ~ 35일 후 타겟값들을 예측할 수 있도록 훈련
30일
TARGET
30일
TARGET
30일
TARGET
30일
TARGET
16. https://dacon.io 16
2-3 모델 예측 결과 – SMP(max, min)
2020-04-19 ~ 2020-05-18 데이터를 통해 2020-05-25 ~ 2020-06-28 (28일) 의 target 값들을 예측
17. https://dacon.io 17
2-3 모델 예측 결과 – SMP(mean), supply
2020-04-19 ~ 2020-05-18 데이터를 통해 2020-05-25 ~ 2020-06-28 (28일) 의 target 값들을 예측
18. https://dacon.io 18
3-1 결과 - 실제 측정된 데이터와 비교
2020-05-25 ~ 2020-06-28 (28일) 의 실제 데이터를 예측 데이터와 비교
• SMP
• 변동성을 예측하게 될 시 반대로 예측하게 되면 큰 오류 값을 가지게 된다.
• 예측 한 값들을 보면 변동성을 예측하기 보다 이전 데이터들을 통해 현재 추세의 평균 정도로
예측하는 것으로 보인다.
19. https://dacon.io 19
3-1 결과 - 실제 측정된 데이터와 비교
2020-05-25 ~ 2020-06-28 (28일) 의 실제 데이터를 예측 데이터와 비교
• Supply 하루하루 변동되는 추세를 잘 예측하고 있는 것으로 보인다.
20. https://dacon.io 20
3-2 결언
• 7일 후 ~ 28일 후의 데이터를 정확한 값을 예측하기 보다 과거의 많은 데이터를 통해 어떤 패턴으로
움직이는지, 꾸준한 상승 혹은 하락을 보이는지 예측했던 모델이 장기적으로 큰 오류없이 좋은
성적을 낸 것으로 보인다.
• 평가 가중치가 높았던 supply 모델이 실제 데이터와 비슷한 움직임으로 예측하여 좋은 성적을 낸
것으로 보인다.