동서발전 태양광 발전량 예측 AI 경진대회

알고리즘 | 정형 | 회귀 | 에너지 | NMAE

  • moneyIcon 상금 : 1,600만원
  • 1,543명 마감

 

[Public LB-9.4531] Baseline Code / LightGBM (수정)

2021.04.12 11:58 9,142 조회 language

기상 예보를 활용하여 시계열이 아닌 단순 회귀 문제로 접근하였습니다.

시계열 요소 및 기타 다양한 요소를 사용하여 개선이 가능합니다.

코드
로그인이 필요합니다
0 / 1000
10duck
2021.04.12 17:23

좋은 커널 감사합니다. 
저도 날씨 정보를 사용하고 싶었지만 2월 이후의 날씨를 알지 못해 사용불가능하여 아쉬웠습니다. 
미래의 날씨를 사용하니 성능이 상당히 잘나오네요.
한편, 주어진 데이터 외에 미래에 대한 정보를 사용한 것인데 data leakage 범주에 속하지 않는지 궁금합니다. 

DACON.Dobby
2021.04.13 11:19

안녕하세요. 10duck님
이번 대회에서 사용할 수 있는 데이터의 범위는 예측 날짜 전날까지 확인 가능한 정보입니다.
매일 평가되는 private 평가 기간 추론에 사용 가능한 데이터일 경우 data leakage에 해당하지 않습니다.
본 베이스라인에서는 예측날짜 전날 기상청에서 14시에 발표된 기상 정보를 사용하였습니다.
단, 기상 예보가 아닌 당일 기상 관측정보가 사용 되었을 경우 data leakage에 해당하니 주의바랍니다.
감사합니다.

리시호
2021.04.20 15:18

퍼블릭 평가 data leakage 궁금한점이 있습니다!
퍼블릭 평가가 2월달 발전량 예측하는것인데 이때 학습에 이용하는 데이터가 예보 데이터가 아닌 관측 데이터를 쓰면 data leakage라는건가요?
즉 학습시킬때 obs_data.csv 를 이용하면 안되는건가요?

DACON.Dobby
2021.04.20 17:49

안녕하세요. 리시호님
발전량 예측 전날에 얻을 수 있는 데이터만 활용하면 data leakage에 해당하지 않습니다.
예를 들어 2월 2일 발전량을 예측할 시 2월1일에 얻을 수 있는 데이터(2월1일까지 관측 데이터, 2월 1일에 예보한 데이터 등)만 활용가능합니다.
본 베이스라인에서는 예측 전날의 예보 데이터를 활용하였으며 전날 관측정보 활용도 가능합니다.
단, 당일 관측정보 사용시 data leakage에 해당하니 주의바랍니다.
감사합니다.

리시호
2021.04.20 19:52

답변 감사합니다!!^^

우왕여긴어디일까요
2021.04.20 16:13

유익한 코드 감사합니다. 몇가지 궁금한 점이 있습니다.
날씨 정보를 사용하고 싶지만 예보값만 사용 가능하고,
관측값(*._obs_data.csv)은 사용 불가능하다는 것인지 궁금합니다.

DACON.Dobby
2021.04.20 17:51

안녕하세요. 우왕여긴어디일까요님
위의 답변처럼 관측 정보도 사용 가능하나 예측 전날 관측 정보까지만 사용 가능합니다.
오늘 기준 내일을 예측하기위해 얻을 수 있는 데이터만 사용 가능하다 생각해주시기 바랍니다.
감사합니다.

전현직
2021.05.06 12:01

안녕하세요. 코드 공유해주셔서 감사합니다.
약간의 오류가 있는 것 같아서 공유합니다. 
아래로 진행하게 되면 energy 와 fcst  1시간의 차이가 발생합니다.

fcst = dangjin_fcst.loc[1:25608-1] 로 바꾸는게 하나의 방법이 되겠네요
-----------------------------------------------------------------------------------
   # 일기 예보 있는 날짜만 선택
    energy = energy_df.loc[24:]
    energy.index = range(energy.shape[0])
    
    # 발전량 데이터가 있는 날짜만 선택
    fcst = fcst_df.loc[:25608-1]
    fcst.index = range(fcst.shape[0])

Mosmos
2021.05.07 09:04

안녕하세요. 코드공유 감사드립니다. 정확하게 이해가 되지 않는 부분이 있어 이렇게 댓글 남깁니다. 제출대상이 되는 2021년 2월 데이터 예측시 전날의 데이터까지만 사용해야한다는것은 잘 알겠습니다. 제가 궁금한건 그 전에 train을 위해 data를 만들때도 전날의 데이터를 사용해야하는지 입니다.
예를 들면 2021-01-31의 기상관측치와 당일의 발전량을 한 행으로 하여 train의 데이터로 사용해도 되는지 궁금합니다.

DACON.Dobby
2021.05.07 10:21

안녕하세요 .Mosmos님
발전량 예측 시점은 전날입니다.
발전 전날까지 수집이 가능한 데이터는 학습 및 추론에 사용 가능합니다.
예를 들어 2월11일 발전량을 예측하기 위해 2월 10일까지 수집한 데이터를 사용 가능합니다.
단 평가기간의 발전량은 제공되지 않으니 이점 유의바랍니다.
감사합니다.

baeta
2021.05.07 14:36

삭제된 댓글입니다

csy
2021.05.27 13:35

코드 공유 감사합니다. 예보 시간 및 날짜 정보 feature로 추가하는 이유가 무엇일지 궁금합니다.

DACON.Dobby
2021.05.27 15:28

안녕하세요. csy님
태양광 발전량은 계절, 시간, 기상에 많은 영향을 받습니다.
시계열 문제이기는 하나 계절, 시간, 기상 정보만으로도 어느정도 발전량 예측이 가능하여 최소한의 feature만 선택하여 베이스라인을 작성하였습니다.
감사합니다.