BUGIL ACADEMY ASSOCIATED WITH KENTECH

여름철 불쾌지수에 따른

전력소비량 예측

북일고등학교

하지우

Abstract

기온, 습도 데이터와 여름이라는 시간적 배경을 고려하여 불쾌지수라는 새로운 변수를 설정하고 건물특성, 관측 시간 등의 다양한 외부 변수들의 조정을 위해 4가지 필터링 조건으로 탐구목적에 최적화된 데이터들을 선정하였다. 단계별로 데이터의 특징과 외부 요인들의 특성을 고려하여 차근차근 조건을 붙이고 알맞은 학습방법을 제시하여 여름철 불쾌지수에 따른 전력소비량을 예측모델을 제작하였다.

BUGIL ACADEMY ASSOCIATED WITH KENTECH

서론

해를 거듭할수록 전력 사용량은 증가하며 전력 수급량은 줄어드는 추세이다. 8월 6일 한국전력거래소에 따르면 이날 최대 전력 수요는 오후 7시 91.8GW(기가와트)를 기록했다. 무더위가 이어질수록 냉방 수요가 점증하는 전기 소비 패턴상 이번 주에 2022년 12월 기록한 역대 최대 수요(94.5GW) 돌파 관측이 나온다. 특히 과거엔 더위가 비교적 약해졌던 8월 셋째 주에도 올해는 수도권의 낮 기온이 30도를 웃돌 것으로 예상되면서 전력 수급 위기에 대한 우려가 커지고있다. 다양한 신재생 에너지와 에너지 그리드 같은 효율적인 사용도 필요하겠지만 이를 위해서는 사용되는 전력의 추세를 미리 알아내어 대비해야한다.

이 탐구활동은 전력 사용량이 제일 큰 여름철의 전력 사용량을 예측 할 수 있는 모델을 만들어 블랙 아웃과 같은 전력 부족에 의한 피해를 사전에 방지하고자 하는 목적이 있다.

주 탐구 목차는 이러하다

- 여름철 에너지량과의 관계를 잘 표현할 수 있는 변수 설정

- 여름철 데이터 분석과 필터링 과정을 통해 변수를 가장 잘 설명할 수 있는 데이터 골라내기

- 예측모델 제작을 통해 실제량과 예측값 비교해보기

BUGIL ACADEMY ASSOCIATED WITH KENTECH

Ⅱ

본론

데이터 선정

데이콘의 전력사용량 예측 AI 경진대회의 데이터셋을 사용했으며 train, building info의 두가지 파일이다. train.csv 에는 20220601 00시 ~ 20220831 24 까지의 기온, 습도, 전력 사용량, 건물번호, 풍속, 풍향 등 다양한 정보를 담고 있다. building info에는 train데이터의 건물변호에 따른 연면적, 냉방면적 등의 건물 데이터를 담고 있다.

1-1) 변수 선정 - 불쾌지수

데이터에는 다양한 값들이 있었지만 그 중 온도와 습도, 전력사용량을 사용하기로 하였다.

1. 기존 변수의 복잡함 : 처음에는 온도나 습도를 통해 분석을 진행하려하였지만 적정 온도나 적정 습도의 값은 알기 쉽지만 그 둘을 아우르는 적정 온도에 따른 적정 습도를 찾기 어려웠기 때문이다.

2. 건물별 특징 고려 : 데이터에는 냉방, 난방 면적과 같은 건물별 특징이 존재한다. 그렇기에 똑같은 관점에서 모든 데이터들을 바라보기에는 한계가 있다. 그렇기에 최대한 건물의 영향을 덜 받는 사람의 특성을 고려하기로 하였다.

3. 여름철 데이터 특성 : 데이터는 2022년 06월 01일부터 2022년 08월 24일까지를 담고 있기에 이는 여름철에 해당한다. 온도와 습도가 변동이 큰 계절이기에 불쾌지수를 사용하는 것이 알맞다고 판단했다. 또한 여러 기사를 참조한 결과 불쾌지수를 높이는 데에는 습도와 온도가 기여하며, 이를 낮추기 위해 제습기, 가습기 혹은 에어컨 등을 사용할 확률이 높기에 용이한 변수라고 생각하여 채택하였다.

4. 당연한 사실 : 다른 변수들과 달리 여름철 불쾌지수가 높으면 냉방을 하고 싶다는 것은 당연한 사실이다. 그렇기에 변수의 유용성을 점검해 볼 필요가 없다.

BUGIL ACADEMY ASSOCIATED WITH KENTECH

2. 분석

날짜에 따른 데이터셋이므로 시계열 분석을 진행하였다.

시계열 분석 코드

이후 시계열 코드들은 분량을 너무 차지하는 것 같기에 생략하겠다.

20220601 00 ~ 20220831 24 기온, 습도, 전력사용량

특징

변동이 심하다 : 그래프가 극도의 증가와 감소의 형태로 요동치고 있다.

주기적이다 :　그래프의 변동이 주기적으로 나타나고 있다.

0인 값이 많다 : 전력 사용량의 경우 0인 값들이 굉장히 많이 보인다.

건물들 간에 전력 사용량 차이가 크다.

그래프의 범위를 조정하여 다시 그려보게된다면

BUGIL ACADEMY ASSOCIATED WITH KENTECH

20220601 00 ~ 20220701 00 기온, 습도, 전력사용량 / 20220601 00 ~ 20220607 24 전력 사용량

특징

시간에 따라 굉장히 기온과 습도의 변동이 심하다

전력사용량은 0이 되는 경우는 잘 없으며 삼차함수 형태로 주기성을 보인다.

3. 전력사용량 그래프에서 간간히 진하게 보이는 부분들에는 낮은 전력사용량 데이터들과 겹쳐져서 보이는 것이며 이는 전력사용량 값들간의 차이가 굉장히 큰 것을 알 수 있다. 그리고 이는 아마 다른 건물들의 특성이 반영된 결과일 것이다.

위 특징들을 바탕으로 기온, 습도, 전력 사용량은 주기성을 띄며 기온과 습도의 경우 변동성이 너무 심한 것을 고려하여 결측값 처리해야할 데이터 또한 존재한다는 것을 알 수 있다. 또한 주기성을 띈다는 것은 데이터 분석을 할 가치가 있는 데이터로 판단 할 수 있다,

앞서 말했던 바와 같이 기온과 습도를 고려하여 불쾌지수 변수를 생성하여 탐구를 진행하겠다.

불쾌지수는 [eqn: 불쾌지수`=`1.8` TIMES `기온`-`0.55` TIMES (1-습도`)` TIMES `(1.8` TIMES `기온-`26)`+`32]의 공식으로 구할 수 있다.

BUGIL ACADEMY ASSOCIATED WITH KENTECH

x축 값이 불쾌지수, y축값이 전력소비량으로 선형성을 알아보기 위해 시각화하였을 때

1. 불쾌지수 값은 평이하게 분포하는 데에 비해 전력사용량 데이터들 간의 편차가 매우 크며 바닥을 치는 값들이 굉장히 많다. 이는 전력을 잘 사용하지 않는 심야시간이나 데이터 오류등의 값으로 정상적이지 않은 값이다.

2. 건물들 간의 전력사용량의 차이가 상당한 것을 볼 수 있다. building_info.csv파일에서 건물들의 냉방면적은 수천 m^2에서 수십만 m^2까지로 큰 스펙트럼을 보였다. 건물들의 특성이 크게 작용하고 있다.

3. 불쾌지수는 68 미만이면 전원 쾌적함을 느끼는 값으로 불쾌지수에 따른 전력사용량을 판단할 때 68밑의 값은 의미가 없다고 할 수 있다.

데이터 수가 약 20만개로 굉장히 다양한 요소들을 담고 있는 데이터라고 할 수 있다.

필요하고 최적화된 데이터를 사용하기 위해 필터링 조건을 여러 가지 적용하였다.

BUGIL ACADEMY ASSOCIATED WITH KENTECH

건물 면적에 의한 영향을 최소화하기 위해 1만 ~ 2만까지의 냉방면적에 해당하는 건물의 데이터만을 활용하겠다, (건물번호 14~25번)

00시 ~ 24시까지의 다양한 시간대의 값들이 있는데 심야, 휴일과 같이 전력을 잘 사용하지 않는 시간대의 데이터들도 학습에 사용될 수 있기에 배제하겠다. 전력 피크 시간대라고 불리우는 14~17시 외의 값들은 필터링하겠다.

불쾌지수 값에 따른 전력 사용량을 예측하는 것이기 때문에 불쾌지수에 영향을 받지 않는 전력사용량은 의미가 없다. 그렇기 때문에 기상청 불쾌지수 단계 자료에 따라 쾌적함을 느끼는 68미만의 값들은 필터링하겠다.

수집에 오류가 있거나 너무나 큰거나 작은 값들은 이상치로서 학습에 방해가 될 수 있다. 이상치의 상한, 하한 외에 해당하는 값들은 제거하겠다.

이상치 판단

이상치 그림 예시

이상치(Outlier)란, 보통 관측된 데이터의 범위에서 많이 벗어난 아주 작은 값이나 큰 값을 말한다.

Standard Deviation

데이터가 정규 분포를 이룰 때, 표준편차를 이용하여 결측치를 계산해내는 방법이다.

BUGIL ACADEMY ASSOCIATED WITH KENTECH

Z-score는 해당 값이 평균으로부터 얼마의 표준편차만큼 벗어나 있는지를 나타내는 값이다.

예를 들어 2 표준 편차값 만큼을 벗어나는 데이터를 이상치로 보는 것은 Z-score 가 2 보다 크고 -2 보다 작은 데이터를 이상치로 처리하는 것과 같은 것이다.

Standard Deviation

데이터의 분포가 정규 분포를 이루지 않거나 한 쪽으로 치우친 경우, 데이터의 IQR 값을 이용해 이상치를 판단하는 방법

박스 플롯 : 데이터의 최소, 최대, 중간값, 첫번째 사분위(Q1)과 세번째 사분위(Q3) 값에 대한 정보를 제공한다. 이때 IQR 값은 Q3 에서 Q1 을 뺀 값이다.

(Q1 – 1.5 * IQR) 보다 작거나 (Q3 + 1.5 * IQR) 보다 큰 데이터는 이상치로 처리한다. 1.5 보다 큰 3 혹은 그 이상의 값을 곱하기도 하며 값이 커질수록 더욱 최극단의 이상치를 처리함을 알 수 있다.

현재 데이터가 정규분포를 이루고 있지 않고 한쪽으로 치우쳐져 있기 때문에 IQR방법을 채택했다.

BUGIL ACADEMY ASSOCIATED WITH KENTECH

IQR 방법을 이용한 이상치 계산과 그 결과

모든 필터링을 마쳤을 때 데이터 분포는 이러하다.

아무리봐도 불쾌지수와 전력사용량이 선형관계를 이루고 있지 않기에 비선형관계로 판단하고 랜덤포레스트 비선형 모델을 이용하여 예측을 진행해보도록 하겠다.

BUGIL ACADEMY ASSOCIATED WITH KENTECH

필터링 조건들 적용 및 불쾌지수 랜덤포레스트 모델

결과값 / RMSE : 335.1494248111874

성공적으로 회귀 함수를 따라가는 추세를 보이며 적절한 RMSE 값을 보였다.

BUGIL ACADEMY ASSOCIATED WITH KENTECH

Ⅳ

출처

https://gannigoing.medium.com/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9D%B4%EC%83%81%EC%B9%98-outlier-%EC%9D%98-%EA%B8%B0%EC%A4%80%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C-f11f60bf901a

https://dacon.io/competitions/official/236125/data

https://www.chosun.com/economy/industry-company/2024/08/07/ATUCWZAWPFCBPMWWEFOJM3DZ7I/?utm_source=naver&utm_medium=referral&utm_campaign=naver-news