사쿠의 데이터 블로그

Ai 프렌즈 시즌 1 참가 후기 본문

Dacon

Ai 프렌즈 시즌 1 참가 후기

토스트먹어 2020. 4. 13. 23:14

https://dacon.io/competitions/official/235584/overview/

 

[기상] AI프렌즈 시즌1 온도 추정 경진대회

출처 : DACON - Data Science Competition

dacon.io

 

오늘(2020-04-13) 대회 마감인 온도 추정 경진대회는 아쉬움이 많이 남는 대회인것 같다. 

첫 대회 문제를 살펴봤을 때는 그렇게 어렵지 않을거라 예상했지만 당연히 나의 착각&^^&

 


데이터 설명

Dacon 홈페이지 캡쳐

데이터는 다른 대회 대비 크기(size)도 고 간단하게 생겼다. 

train의 X 는 기상청에서 제공하는 데이터다. (기온, 현지 기압, 풍속, 누적강수량, 해면기압, 누적일사량, 습도, 풍향)

Y00 ~ Y17은 대전 지역 실내외에서 측정한 기온 데이터다. 

 

대회 목적은 제공된 데이터를 통해 Y18을 예측하는 것이다. 얼핏 보면 간단해 보인다. 기상청 데이터와 Y00 ~ Y17 기온 데이터가 있다면 Y18정도야 간단하지 않을까? 하고 대회를 시작했었다.

Dacon 문제 설명 캡쳐

하지만.. 문제는 Y18은 train 33일 중 3일 밖에 주어지지 않는다는 점이다. 읭.?.?

위 그림을 보면 첫 30일은 기상청 데이터 & Y00 ~ Y17 데이터는 주어진다.

반면, Y18은 첫30 데이터는 없고 31, 32, 33일차 데이터만 주어진다.

그리고 우리가 해결해야 할 문제는 기상청 데이터만을 이용해 앞으로 80일을 추정해야 한다. Oh..

 

 

접근 방법

가장 먼저 든 생각은 "Y18의 첫 30일 데이터를 채워야겠다" 라는 생각을 했다. 그래야 모델을 만들 수 있을 것 같았다.

생각한 방법은 Y00 ~ Y17의 평균값을 삽입하고 LGB를 돌렸더니 그럭저럭 괜찮은 값이 나왔다. 하지만 상위권과는 거리가 한참 있다.

 

다음으로는 Y18을 예측하는데 가장 필요한 Y는 무엇일까 고민을 했다. Y들 중에서 모두 동일한 가중치를 가지고 있지 않을거라 생각했다. 

그래서 진행한 방법이  "베이지안 옵티마이제이션" 이다.

Y00 ~ Y17과 Y18 데이터

 

 

방법

1) Y18을 가장 잘 표현해 주는 W들이 있을 것이라 가정을 했다. 이전에 평균은 W가 모두 1/18로 동일했다

2) 베이즈 최적화를 통해 W를 구한다.

203번 시도에서 가장 좋은 W를 구했다

 

결과

이 외에도 변수를 추가로 생성하고, 갖은 노력을 해봐도 최상위권에 들지는 못했다. 972팀 중 30등으로 최종 마감을 했다.

 

우승자 코드가 나오면 언넝 분석해 보고 싶다.