[projects] 서울 시내 구 별 대기 오염도와 조성에 관한 데이터 프레젠테이션
01-05 ~ 01-26까지 DataScience Lab 학회에서 진행한 EDA 프로젝트 요약본입니다.
깃허브 repository link:
https://github.com/a2ran/9th_EDA/tree/main/4%E1%84%8C%E1%85%A9
환경 (서울 시내 구 별 대기 오염도와 조성에 관한 데이터)
참여자 : 이재우, 김서진, 박서연, 임선민, 조세린, 조의현
EDA 프로젝트 자료 소개
- Dataset
- 서울시 년도별 평균 대기오염도 정보 : 연도별 평균 대기오염물질 농도 정보를 담은 데이터
- 서울시 월별 평균 대기오염도 정보: 월별 평균 대기오염물질 농도 정보를 담은 데이터
- 서울시 시간 평균 대기오염도 정보: 시간별 평균 대기오염물질 농도 정보를 담은 데이터
- 서울시 지역 구별 측정소 행정코드 정보: 대기오염 측정소의 행정코드 정보를 담은 데이터
- 서울시 기간별 일평균 대기환경 정보: 기간별로 하루 평균 대기오염물질 농도 정보를 담은 데이터
- 서울시 기간별 시간평균 대기환경 정보: 기간별로 시간 평균(1시간, 24시간) 대기오염물질 농도 정보를 담은 데이터
- 네이버 블로그 크롤링 API: 블로그 크롤링으로 워드클라우드 작성 시 사용한 공개 API
- 4조 EDA 발표자료 : EDA 발표 때 사용한 ppt입니다.
- 4조 EDA 최종 코드 : EDA 발표와 관련하여 사용된 코드입니다.
EDA 프로젝트 요약
1. 데이터 소개
1) 서울시 년도별 평균 대기오염도 정보: 측정년도, 측정소명, 이산화질소농도, 오존농도, 일산화탄소농도, 아황산가스, 미세먼지, 초미세먼지 농도를 담은 데이터 2) 서울시 월별 평균 대기오염도 정보: 측정월, 측정소명, 이산화질소농도, 오존농도, 일산화탄소농도, 아황산가스, 미세먼지, 초미세먼지 농도를 담은 데이터 3) 서울시 시간 평균 대기오염도 정보: 측정일시, 측정소명, 이산화질소농도, 오존농도, 일산화탄소농도, 아황산가스, 미세먼지, 초미세먼지 농도를 담은 데이터 4) 서울시 지역 구별 측정소 행정코드 정보: 측정소명, 측정소행정용코드를 담은 데이터 5) 서울시 기간별 일평균 대기환경 정보: 측정일자, 권역명, 측정소명, 미세먼지, 초미세먼지, 오존, 이산화질소농도, 일산화탄소농도, 아황산가스농도를 담은 데이터 6) 서울시 기간별 시간평균 대기환경 정보: 측정일시, 권역코드, 권역명, 측정소코드, 측정소명, 미세먼지 1시간, 미세먼지 24시간, 초미세먼지, 오존, 이산화질소농도, 일산화탄소농도, 아황산가스농도를 담은 데이터
2. 데이터 전처리
- 앞서 소개한 데이터 중 1), 2) 5), 6) 데이터를 사용하였다.
- (시간별 데이터의 경우 시간 평균 대기오염도 정보와 시간평균 대기환경 정보가 포함하는 정보가 같아 결측치가 적은 대기환경 정보 데이터를 활용함)
- 여섯가지 대기오염물질 변수 중 미세먼지, 초미세먼지, 이산화질소, 오존 변수만 분석 진행
- 미세먼지 & 초미세먼지 : 사람들이 가장 관심을 가지는 대기오염지표
- 이산화질소 & 오존 : 교통량과 가장 관련이 깊은 오염원인 이산화질소, 오존은 이산화질소가 햇빛과 광화학 반응해 생성되는 2차 오염물질
- 데이터별 전처리 과정이 다름
- 서울시 연도별 평균 대기오염도 정보 (1987 - 2023 데이터 존재), 월별 평균 대기오염도 정보 (1987년 1월 - 2023년 1월 데이터 존재)
- 이산화질소, 오존 : 1987년부터 데이터 존재 -> 결측치 평균 보간
- 미세먼지 : 1990년대 후반 ~ 2000년대 초반부터 데이터 존재
- 초미세먼지 : 2000년대 이후부터 데이터 존재
- 미세먼지, 초미세먼지 : 2000년대 이후 데이터로 분석
- 서울시 기간별 일평균/시간평균 대기환경 정보 (2022.1.14-2023.1.14, 2019.1-2020.4)
- 결측치 없음
3. 분석 방법 및 결과
1) 분석 장소, 기간 설정
- 분석 장소 : 방문객 수가 많은 한강공원이 위치한 ‘광진구, 영등포구, 서초구, 마포구, 송파구’ 지역에 대한 분석 진행
- 분석 시기 : 초봄, 벚꽃 개화시기인 3, 4월
2) 측정장소별 오염물질 농도 - 지도 시각화를 통해 농도 파악 : 연도별 평균 데이터, 농도가 높을수록 진한 색이 되도록 표기
3) 구별 분석
(1) 광진구
- 연도별 분석
- 이산화질소 & 오존 : 불규칙적 변동, 경향성 파악되지 않음
- 미세먼지 & 초미세먼지 : 2000년대 초반부터 감소, 최근 가파른 증가세(자양 1구역 재개발 공사에 의한 것으로 추측)
- 월별 분석
- 이산화질소 & 오존 : 여름, 겨울 계절성을 보임 (t-test를 통해 검증)
- 여름 : 이산화질소 하강, 오존 상승
- 겨울 : 이산화질소 상승, 오존 하강
- 미세먼지 & 초미세먼지
- 봄 : 미세먼지, 초미세먼지 모두 상승
- 여름 : 미세먼지, 초미세먼지 모두 하강
- 요일별 분석
- 3, 4월 데이터 요일별 데이터 평균 시각화
- StandardScaler()을 통해 스케일링 후 합산하여 요일별 수 시각화
- > 분석 결과 월요일 or 일요일 피크닉을 추천함
- 시간별 분석
- 이산화질소 : 출퇴근 시간(8-10시, 20-22시)에 높음 (교통량)
- 오존 : 오후 시간대(14-17시)에 높음 (질소산화물 + 햇빛 -(광화학반응)-> 오존 생성)
- 미세먼지, 초미세먼지 : 11-13시 정점, 아침부터 저녁까지 활동시간대에 높음(활동에 의한 미세먼지 영향)
(2) 서초구
- 연도별 분석
- 최근 10년간 미세먼지, 초미세먼지 감소 추세
- 오존은 소폭 증가, 이산화질소와 반대 경향성
- 월별 분석
- 월별 오염물질 농도의 평균을 구하여 시각화 : 미세먼지, 초미세먼지는 3월에 높으며 이산화질소는 겨울철, 오존은 여름철 농도가 높음을 확인
- StandardScaler() 을 통해 농도를 표준화한 뒤 합산치를 비교 > 3월에 대기오염물질 농도가 가장 높음
- 요일별 분석
- 3, 4월 데이터 요일별 데이터 평균 시각화
- StandardScaler()을 통해 스케일링 후 합산하여 요일별 수치 시각화
- > 분석 결과 토요일 피크닉을 추천함
- 시간별 분석
- 피크닉 시간대를 A(10-13시), B(14-17시), C(18-21시)로 나누어 추천 방문 요일인 금, 토, 일을 중심으로 분석
- 금 : A, 토 : B, 일 : B 를 추천함
(3) 마포구
- 미세먼지 집중 분석 :연도별/월별/요일별 분석
- 미세먼지 농도에 따라 경보 발령 기준 파악 : 나쁨, 매우나쁨일 경우에 경보 발령
- 연도별 : 보통(45.37%), 좋음(43.22%), 나쁨(9.65%), 매우나쁨(1.77%)
- 월별 : 발령 횟수가 3월에 가장 많음을 확인
- 요일별 : 수요일에 가장 많이 발령되었고 일요일에 가장 적게 발령됨
- 미세먼지 시간별 분석
- TOP10 시각화 : 집중 현상 발견 (미세먼지 심한 시간이 밀집되어 있음)
- TOP100에서도 13일로 집중되어 있음
- 대기오염농도 : 교통량이 적은 새벽, 오전보다 10-12시 사이 점심, 14-16시 사이 오후 시간대에 높음
(4) 영등포구
- 연도별 분석
- 이산화질소 & 오존 : 뚜렷한 경향성 찾기 어려움
- 미세먼지 & 초미세먼지 : 대체로 비슷한 증감양상
- 월별 분석
- 이산화질소 & 오존 : 여름, 겨울 계절성을 보임
- 여름 : 이산화질소 하강, 오존 상승
- 겨울 : 이산화질소 상승, 오존 하강
- 미세먼지 & 초미세먼지
- 여름 : 미세먼지 & 초미세먼지 모두 하강
- 겨울 : 미세먼지 & 초미세먼지 모두 상승
- t-test 결과 3, 4월의 미세먼지 농도가 다른 기간에 비해 유의미하게 높음
- 요일별 분석
- 3, 4월의 요일별 평균과 스케일링 후 합산한 요일별 점수 시각화
- > 주말에 특히 낮은 수치를 보임 : 토요일/일요일 추천
- 시간별 분석
- 피크닉 시간대를 A(10-13시), B(14-17시), C(18-21시)로 나누어 추천 요일(토, 일)을 중심으로 분석
- 토 : B, 일 : B를 추천
(5) 송파구
- 연도별 분석
- 이산화질소 & 오존 : 뚜렷한 경향성을 찾기 어려움
- 미세먼지 & 초미세먼지 : 높은 상관관계를 보임
- 데이터 특성분석
- 이산화질소 & 오존 : 대부분 고르게 분포
- 미세먼지 & 초미세먼지 : 이상치 다수 분포
- 활동시간/비활동시간으로 나누어 분석 시 활동시간에는 미세먼지와 오존 농도가, 비활동시간에는 이산화질소와 초미세먼지 농도가 높음
- 월별 분석
- 통계 테스트 진행을 통해 각 변수가 벚꽃시즌과 그렇지 않은 시즌에 유의미한 차이가 존재함을 확인
- 요일별 & 시간별 분석
- 3, 4월 요일별 평균, 스케일링 후 합산한 요일별 점수 시각화
- > 세가지 오염물질의 농도가 일요일에 가장 낮음 : 일요일 추천
- 시간별 수치 역시 같은 방법으로 스케일링 : 14, 15시가 가장
4. 결론
- 피크닉을 가기 좋은 금-일 중 요일과 시간대 추천을 진행함.
- 광진구 : 토/일 14-17시
- 마포구 : 금 10-13시, 토 14-17시
- 영등포구 : 토/일 14-17시
- 서초구 : 금 10-13시, 토 18-21시, 일 14-17시
- 송파구 : 토/일 14-17시
5. 아쉬운 점
- 이상치 및 결측치 : 데이터의 유실, 이상치 등을 인해 평균 계산의 오류 가능성
- 다른 변수의 영향 : 대기오염물질 농도에 영향을 미칠 수 있는 요인을 모두 고려하기 어려움
- 결론의 깊이 : 대기오염농도를 분석한 사후 분석만을 바탕으로 결론을 도출해 결론의 깊이가 부족함
- 대기오염물질 농도 합산 지표 : 스케일링 후 합산한 수치는 오차가 존재함. 가중치 부여 기준을 세우기 어려움
6. 추가로 하면 좋을 분석 방법
- t-test 진행 시 가정 진단 test 추가로 진행하여 근거의 타당성 확보
- 3, 4월 미세먼지가 높은데에 대한 원인 진단 : 기타 데이터와 연계분석 진행
- 시계열 데이터의 특성을 고려해 이상치 제거 후 주변 시기만 활용한 분석 결과와 현 결과를 비교분석
- 합산 방식에 가중치 추가 : 설문조사 실시, 전문가 자문을 통한 유해도 순위 반영, EDA 결과 토대 가중치 부여(ex. 위치에 따라)
- 주말 시기에 대한 심층 분석 진행
- 지역구별 대기 오염물질 배출 데이터 분석을 통해 각 요소의 비중 분석 -> 대기 오염도 추세 분석의 타당성 확보
- 특히 대기오염이 심했던 날을 따로 분류해 분석 -> 심한 이유를 분석 가능
## 각 팀원의 역할
|이름|활동 내용|
|:—:|:—:|
|이재우| - (팀장) 전체 일정 관리 및 회의 진행
- 발표자료 제작 도움|
|김서진| - 지도 시각화
- 송파구 구별 분석
- README.md 파일 작성|
|박서연| - 광진구 구별 분석
- 발표|
|임선민| - 서초구 구별 분석
- 발표자료 제작|
|조의현| - word cloud 제작
- 마포구 구별 분석
- 최종 코드 파일 제작|
|조세린| - 영등포구 구별 분석
- 발표자료 제작|
tree
├── Dataset
│ ├── 서울시 년도별 평균 대기오염도 정보.csv
│ ├── 서울시 월별 평균 대기오염도 정보.csv
│ ├── 서울시 시간 평균 대기오염도 정보.csv
│ ├── 서울시 지역 구별 측정소 행정코드 정보.csv
│ ├── 서울시 기간별 일평균 대기환경 정보.csv
│ ├── 서울시 기간별 시간평균 대기환경 정보.csv
│ └── 네이버 블로그 크롤링 API
│
├── 이재우
│ └── dummy.txt
├── 김서진
│ └── 기초세션과제
├── 박서연
│ └── 기초세션과제
├── 임선민
│ └── 기초세션과제
├── 조의현
│ └── 기초세션과제
├── 조세린
│ └── 기초세션과제
│
├── EDA_4조_발표자료.pdf
├── EDA_4조_코드.ipynb
│
│
└── README.md
댓글남기기