https://hackmd.io/Qp9gd6gxQiGgSAMbhoOICQ?edit
링크를 신영님 브라우저에 복붙하셔서
한글 복붙 대용으로 사용해봐요
---
[해커톤 바로가기](https://aifactory.space/task/2513/overview)
<br><br>
[웹폴더 바로가기](https://file.kiwi/4e34a72b#0NTUf2oiWZkML3xFvGTleA)
<br><br>
---
## 미팅 1
시각: 8/8(화) 20:00
### 내용
* 파트 1(재필, 신영): MLP 공부하고 문제 데이터셋 Tensorflow로 간단하게 학습할 수 있는 구조 만들어오기
* 파트 2(종원, 대헌): RNN/LSTM 공부하고 시계열 데이터셋을 어떻게 처리할 지 및 코드로 어떻게 표현해야 하는지 알아오기
### 파트 1 보고 및 정리
텐서플로 튜토리얼 사이트 참고하세용 -> [링크](https://www.tensorflow.org/tutorials/quickstart/beginner?hl=ko) <br>
### 파트 2 보고 및 정리
[lstm 참고 사이트](https://dgkim5360.tistory.com/entry/understanding-long-short-term-memory-lstm-kr)
---
## 미팅 2
시각: 8/12(토) 09:30
### 내용
* 앞으로의 진행방향 : 각 BS 별로 하루(288개)의 데이터를 Sub_Data로 추출하여 LSTM에 사용할 것. BS_A 부터 BS_I까지 각 BS에서 0~287, 1~288, 2~289...과 같이 288개의 데이터 학습.
* 이러한 방향으로 진행하기 위해 다음과 같은 작업이 선행되어야 한다.
1. 결측치 채우기 : 288개의 데이터를 추출하면서 결측치가 존재할 경우 이전 시계열과 다음 시계열의 값의 평균으로 채워넣기. 결측치는 data하나인게 아마 6개고, 행이 없는게 3개일 것입니다.
2. 상관관계 일반화 함수 : ChatGPT를 활용한 상관계수 분석 코드를 참고해서 상관 계수가 높은 순으로 n개를 return 하는 함수 만들기
3. 정규화하기
4. BS별 Sub_Data 생성 : 앞서 말했듯, 288개의 정보를 담고 있는 sub_data생성하기
5. LSTM 학습
### 이종원 진행사항 보고 : 08-12
1. 데이터를 처리하던중
2023-06-12 18:15:00 2023-07-05 04:30:00
데이터가 아예 존재하지 않음을 확인했습니다.
추가로 기지국 EFG는
2023-06-28 00:55:00
데이터가 아예 존재하지 않습니다.
또 특정 열들은 9개씩의 결측치가 존재합니다. <br>
따라서 9개의 결측치는 해당 열의 해당 Station에 따라 평균 값으로 대체,
존재하지 않는 데이터의 경우 전후 5분 값의 평균 값으로 대체 하여 처리했습니다.
2. 시간축의 연속성을 고려하여 학습해야할 듯 하여 기지국 마다 데이터를 분리했습니다.(Train, test 모두)
3. 분리한 데이터를 바탕으로 학습시키되, a_data가 끝나면 c_data시작, c_data끝나면 d_data시작하는 형식으로 구성하여 시간이 연속적이지 않으면 학습이 안되도록 구성했습니다.
4. uenomax와 상관관계가 높은 18개 데이터를 이용했습니다.
5. time_step은 144step을 사용하여 12시간 단위로 수행했습니다.
#### 08-13 보고내용
1. 일주일 시계열 특성을 반영하기 위해서 데이터 전처리를 달리함 -> 1시간 단위로 데이터를 묶음 ex) 00분 묶음 : 12시,13시,14시 ..... 05분 묶음 : 12시05분 , 13시 05분, 14시 05분 ...
2. 00분 묶음, 05분 묶음 등등 모든 종류의 묶음을 차례로 학습시킴
3. 결과 : mse 0.863 정도.
[코드 확인하기](http://155.230.107.94:9999/notebooks/network_safety/Jongwon/Jongwon.ipynb)
5. 데이터 분석 : 상관관계가 높은 열들의 datetime에 따른 평균값 비교




-> 상관관계가 높은 열들은 생각보다 연관성이 매우 높다. 이 열들만 잘 학습시켜도 매우 잘 예측할 듯하다.
-> B,J 기지국의 경우 A나 F,E와는 데이터의 차이가 있어보인다.
[코드 확인하기](http://155.230.107.94:9999/notebooks/network_safety/Jongwon/DATAPLOT.ipynb)
### 윤대헌 일요일 점심시간대 진행상황
[코드 확인하기](http://155.230.107.94:9999/notebooks/network_safety/Corr1.ipynb)
유사성을 판별할 수 있는 좋은 방법으로, 각 기지국 별 x data는 모두 조회가 되므로 그 값을 바탕으로 하여 서로 간 비슷한 정도를 유추할 수 있을 것으로 생각됨
그래서 모든 기지국의 시간대 별 평균 상관관계을 구해봤는데 b와 j 기지국 입장에서는 딱히 유의미한 값이 도출되는 것 같지는 않음. 다만 c,d,e,f,g 기지국은 비교적 서로 더 높은 상관관계를 유지하고 있는 것으로 보아 해당 기지국이 축제 중심, 나머지는 축제 외각에 위치한 것으로 추측됨


이번에는 상관관계에 중요한 역할을 하는 feature만을 이용하여 상관관계 분석을 했는데 역시나 상관관계 색이 진해졌다. 하지만 하늘도 무심하시지, 딱 B, I, J는 연관이 별로 연관이 없는 형태로 나타났다...

일단 스터디원들의 코드를 받아서 미팅2에서 이론적으로 이야기해본 LSTM을 이어나가고자 하니 작업한 코드나 설명이 있으면 좋을 것 같음!
---
## 미팅 3
시각: 8/14(월) 19:00
정규화 전략 dictionary : {'erabaddatt': 'min-max', 'erabaddsucc': 'min-max', 'endcaddatt': 'min-max', 'endcaddsucc': 'min-max', 'endcmodbymenbatt': 'z-score', 'endcmodbymenbsucc': 'z-score', 'endcmodbysgnbatt': 'min-max', 'endcmodbysgnbsucc': 'min-max', 'connestabatt': 'z-score', 'connestabsucc': 'z-score', 'handoveratt': 'z-score', 'handoversucc': 'z-score', 'rachpreamblea': 'min-max', 'numrar': 'min-max', 'nummsg3': 'min-max'}