꿈꾸는아이(AI) 전력 수요량 예측 경진대회

알고리즘 | 정형 | 회귀 | 전력 수요량 | power demand | SMAPE

  • moneyIcon 상금 : 총 4,850만원
  • 111명 마감
마감

 

[DACON 답변 요청] Data leakage 문의

2020.11.03 21:53 2,009 조회




데이터에서 결측치를 어떻게 채우냐에 따라


모델의 성능이 많이 영향을 받아 중요할 것 같은데


data leakage 여부를 판단하는 데에


애매한 부분이 있어 문의드립니다.



  1. baseline 코드에서는 결측치를 다음주, 같은 요일의 값으로 채워서 target으로 사용하여 학습하였는데 이 경우에는 data leakage로 판단되는 것이 아닌가요?
  2. 만약 1번의 경우가 data leakage가 아니라면 같은 방식으로 결측치를 없앤 후 target이 아니라 input으로 사용되는 경우에도 data leakage가 아닌 것으로 판단될 수 있나요?
  3. 결측치를 채울 때 평균값 또는 중앙값으로 채워 모델의 input 또는 output으로 사용한다면  data leakage로 판단될 수 있나요?(ex. 2017.07.01의 결측치를 2017.07.01~2018.06.30의 평균값 또는 중앙값으로 채움)




로그인이 필요합니다
0 / 1000
DACON.JeanValjean
2020.11.04 09:54

삭제된 댓글입니다

DACON.JeanValjean
2020.11.04 09:55

안녕하세요, 데이콘입니다.
대회에서 주어진 train과 test set 내의 결측치를 미래 시점의 값으로 채우고 해당 데이터들로 훈련시키는 것은 data leakage에 해당하지 않습니다.
그러나 prediction할 때 사용되는 피쳐들에 미래 시점의 데이터가 들어가 과거 시점의 데이터를 예측하는 것은 data leakage에 해당됩니다.

즉, submission 파일에서 예측해야 하는 시간들의 값들을 예측하는 과정에서만 data leakage가 발생하지 않으면 됩니다.
예를 들어, 2018년 7월 1일부터 10일까지의 일간 전력 수요량을 예측할 때, 2018년 7월 1일자의 전력 수요량을 예측하기 위해 2018년 7월 1일부터 2018년 7월 7일까지의 평균 전력 수요량을 피쳐로 활용한다면 이를 data leakage로 간주합니다.

감사합니다.
데이콘팀 드림

DACON.JeanValjean
2020.11.04 10:20

피쳐뿐만 아니라 input으로 넣는 것에 대한 것도 위의 개념과 동일하게 적용됩니다.

train과 test set 내의 결측치를 미래 시점의 값으로 채우고 해당 데이터들로 훈련시키는 것은 data leakage에 해당하지 않습니다.
그러나 prediction할 때 사용되는 데이터에 미래 시점의 데이터가 들어가 과거 시점의 데이터를 예측하는 것은 data leakage에 해당됩니다.