일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오토인코더
- 기초통계학
- google.cloud
- 봇탐지
- 통계학
- 이상탐지
- LTV예측
- anomaly
- 데이터분석
- Kaggle
- 게임분석
- LTV
- 게임
- AE
- 사례
- self-similarity
- 게임 데이터분석
- AutoEncoder
- dacon
- Detection
- 자기유사도
- 데이터 분석
- anomaly detection
- google.oauth2
- 딥러닝
- 대회
- 유저이탈
- 게임 이탈 분석
- 자료의요약
- PYTHON
- Today
- Total
사쿠의 데이터 블로그
Ai 프렌즈 시즌 1 참가 후기 본문
https://dacon.io/competitions/official/235584/overview/
오늘(2020-04-13) 대회 마감인 온도 추정 경진대회는 아쉬움이 많이 남는 대회인것 같다.
첫 대회 문제를 살펴봤을 때는 그렇게 어렵지 않을거라 예상했지만 당연히 나의 착각&^^&
데이터 설명
데이터는 다른 대회 대비 크기(size)도 작고 간단하게 생겼다.
train의 X 는 기상청에서 제공하는 데이터다. (기온, 현지 기압, 풍속, 누적강수량, 해면기압, 누적일사량, 습도, 풍향)
Y00 ~ Y17은 대전 지역 실내외에서 측정한 기온 데이터다.
대회 목적은 제공된 데이터를 통해 Y18을 예측하는 것이다. 얼핏 보면 간단해 보인다. 기상청 데이터와 Y00 ~ Y17 기온 데이터가 있다면 Y18정도야 간단하지 않을까? 하고 대회를 시작했었다.
하지만.. 문제는 Y18은 train 33일 중 3일 밖에 주어지지 않는다는 점이다. 읭.?.?
위 그림을 보면 첫 30일은 기상청 데이터 & Y00 ~ Y17 데이터는 주어진다.
반면, Y18은 첫30 데이터는 없고 31, 32, 33일차 데이터만 주어진다.
그리고 우리가 해결해야 할 문제는 기상청 데이터만을 이용해 앞으로 80일을 추정해야 한다. Oh..
접근 방법
가장 먼저 든 생각은 "Y18의 첫 30일 데이터를 채워야겠다" 라는 생각을 했다. 그래야 모델을 만들 수 있을 것 같았다.
생각한 방법은 Y00 ~ Y17의 평균값을 삽입하고 LGB를 돌렸더니 그럭저럭 괜찮은 값이 나왔다. 하지만 상위권과는 거리가 한참 있다.
다음으로는 Y18을 예측하는데 가장 필요한 Y는 무엇일까 고민을 했다. Y들 중에서 모두 동일한 가중치를 가지고 있지 않을거라 생각했다.
그래서 진행한 방법이 "베이지안 옵티마이제이션" 이다.
방법
1) Y18을 가장 잘 표현해 주는 W들이 있을 것이라 가정을 했다. 이전에 평균은 W가 모두 1/18로 동일했다
2) 베이즈 최적화를 통해 W를 구한다.
결과
이 외에도 변수를 추가로 생성하고, 갖은 노력을 해봐도 최상위권에 들지는 못했다. 972팀 중 30등으로 최종 마감을 했다.
우승자 코드가 나오면 언넝 분석해 보고 싶다.