[서울기온예측][다중선형회귀모델 2] 코드 함수화, 서울 ASOS 자료의 계절성 제거
·
프로젝트/기계학습 기반 서울 기온 예측
- 개요일평균기온은 당연히 여름에 높고, 겨울에는 낮습니다.적당히 여름에 높게, 겨울에 낮게 온도를 예측하면 성능이 나올거고, 선형회귀모델은 필연적으로 이런 경향을 학습하여 기본적인 성능이 높을 수밖에 없습니다.그렇다면 계절성을 제거하면 예측 능력이 어떻게 될까요? - 함수화 작업계절성 제거 이전에 기존 코드를 함수로 만들고자 합니다.같은 코드를 중복으로 사용할 일이 많아 다시 모든 코드를 넣기에는 글이 너무 길어집니다.긴 코드는 그냥 함수로 만들어서 다음 포스트부터는 함수만 적겠습니다."""read_ASOS108(): 서울 ASOS 자료를 pandas DataFrame 형태로 읽음"""import pandas as pdimport numpy as npimport osdef read_ASOS108(): ..
[서울기온예측][다중선형회귀모델 1] 서울 ASOS 자료만 사용한 기온 예측
·
프로젝트/기계학습 기반 서울 기온 예측
- 개요가장 간단한 예측 모델인 다중선형회귀모델로 하루 뒤 서울 일평균기온을 예측해보겠습니다.선형회귀모델에서 먼저 y(예측) = a*x(입력자료) + b, 선형함수의 a와 b를 구합니다.실제값과 예측값 간 오차를 최대한 작게 만드는 a, b값을 구합니다. 그럼 입력자료를 넣으면 예측값이 나오는 것이죠.이 때 입력자료가 1개뿐이라면 y = a*x + b로 충분하지만 여러개라면 y = a1 * x1 + a2 * x2 ....처럼 다중선형함수로 예측하여 실제값과 예측값 간 오차를 최대한 작게 만드는 a1, a2..., b를 구합니다. 이번 포스트에서는 모델의 입력자료로 서울 ASOS 자료만 씁니다.이것저것 다른 방법을 사용해본 뒤 서울 ASOS 자료말고도 다른 자료를 사용해볼 계획입니다.pandas, nump..
[서울기온예측] 프롤로그
·
프로젝트/기계학습 기반 서울 기온 예측
'기계학습 기반 서울 기온 예측' 카테고리에서는 다양한 기계학습 방법을 통해 서울 ASOS(47108) 기온을 예측하는 것을 목표로 관련 주제 글을 게시합니다. 저는 보통 글을 쓰기 전 확실한 최종 목표를 정한 뒤 머릿속에서 이 주제를 잘게 쪼개고 대충 글 주제를 정합니다.그리고 최종결과물을 만드는 코드를 작성하고, 설명하기 좋게 코드를 리팩토링 과정에서 단계별로 과정을 쪼개어 포스트를 하나씩 씁니다.하지만 이번 시리즈는 하나의 프로젝트 느낌으로 평소와 다른 방식으로 진행합니다. 이거 한 다음 저거 한다는 계획을 미리 세우지 않고 기계학습을 이용해서 서울 기온을 예측합니다.뭐 쉽게 말하면 생각나는대로 하겠다는거죠. 정확히 무엇을 할지는 모르겠지만 입력 자료를 분석해보고 기계학습 중 가장 쉬운 decisi..
[설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 3. 설날기간의 서울 교통량/대기오염물질 농도
·
여러가지 데이터/프로그래밍 & 분석
- 개요이전 포스트에서 서울 교통량과 대기오염물질 농도 자료에 대한 전처리 작업을 수행했습니다.이번에는 설날기간과 아닌 기간의 교통량/대기오염물질 농도를 확인하고 해석합니다. - 분석기간 설정설날기간은 말그대로 설날연휴 기간이지만 설날과 비교하기 위한 설날이 아닌 기간을 어떻게 정해야할까요.저는 설날이 아닌 기간을 1월, 2월 중 설날이 아닌 기간으로 정했습니다.설날은 항상 1월 아니면 2월이며, 1월, 2월의 교통량과 대기오염물질의 특성이 그렇게 다르지 않을 것으로 가정했습니다.연구를 하거나 논문을 쓰시는 분들은 위의 사항을 엄밀히 확인하셔야 합니다.전 그냥 블로그 글이니까 대충 넘어가는 겁니다.그리고 앞으로 설날이 아닌 기간은 비설날기간으로 명명하겠습니다. - 설날기간/비설날기간의 교통량 분류설날기간..
[설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 2. 대기오염물질 자료 수집 및 후처리
·
여러가지 데이터/프로그래밍 & 분석
- 개요이번 포스트에서는 설날 대기오염물질 자료를 분석하기 위해 대기오염물질 자료를 수집하고, 후처리 작업을 합니다.에어코리아에서 제공하는 대기오염물질 자료는 이미 정제가 된 자료라 정제라 표현하기 애매하네요. - 자료 수집먼저 에어코리아 최종확정자료를 다운받습니다.아래의 링크를 따라가면 바로 자료를 다운로드 받을 수 있는 페이지가 나옵니다.에어코리아 메인페이지부터 시작하는 분은 그림의 통계정보 >> 최종확정 측정자료 조회 >> 확정자료 다운로드를 클릭해서 받아주세요.https://www.airkorea.or.kr/web/last_amb_hour_data?pMENU_NO=123  - 자료 후처리자료 후처리의 기준은 2가지입니다.1. 설날은 1월, 2월에만 있으므로 1, 2월 자료만 추출2. 서울의 교통량..
[설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 1. 서울 교통량 자료 수집 및 정제
·
여러가지 데이터/프로그래밍 & 분석
- 개요굳이 분석해보지 않아도 설날에는 서울 교통량이 줄어든다고 느끼실겁니다.그럼 자동차가 배출하는 CO(일산화탄소), NO2(이산화질소)는 줄어들겠죠?이번 포스트에서는 서울에서 정말로 설날에 교통량이 줄어드는지, 줄어든다면 얼마나 줄어드는지그리고 설날에는 자동차 배출물질인 CO, NO2 농도가 얼마나 변하는지 확인하려고 합니다. 아래의 세 주제로 글을 연재합니다.1. 서울 교통량 자료 수집 및 정제2. 대기오염물질 자료 수집 및 정제3. 설날기간의 서울 교통량, 대기오염물질 시계열 확인 및 해석  - 교통량 자료 수집1. 서울 교통량 자료 다운로드서울 교통량 자료는 '서울시 교통정보 시스템(TOPIS)' 홈페이지에서 다운로드 받습니다.자료는 https://topis.seoul.go.kr/refRoom/..
[numpy] np.sum()은 np.einsum()보다 느리다.
·
프로그래밍/파이썬
- np.einsum()이란?numpy 라이브러리에는 각종 연산을 해주는 함수가 있습니다.그중 아인슈타인 표기법을 함수로 만든 np.einsum()이 있습니다.아인슈타인 표기법의 자세한 내용은 다음 링크를 참고해주세요. https://rockt.ai/2018/04/30/einsum numpy 변수 관점에서 설명하면 아인슈타인 표기법은 axis(행과 열)에 따라 특정 규칙으로 계산을 하는 것입니다.좀 더 간단하게 설명하기 위해 3x3 행렬을 생각해봅시다. 이는 3x3 shape의 numpy 배열이라 봐도 되겠죠.행렬 안에 있는 원소 aij라치면 i는 행의 인덱스, j는 열의 인덱스입니다.a31이면 행렬 내에서 3행 1열에 위치한다는 뜻이죠.아인슈타인 표기법에서는 행렬 내의 원소를 ij와 같은 인덱스를 이용..
[python] 스마트서울 도시데이터 센서(S-DoT)로 보는 집중호우 발생시 온도장: 2. 온도장 확인 및 레이더 에코와 비교
·
대기과학/프로그래밍
- 개요저번 포스트에서는 S-DoT 자료를 전처리하고 간단히 그림을 그려보았습니다.2024년 8월 13일에 내린 집중호우는 서울 전역을 강타한 것이 아니라 특정 지역에만 내렸습니다.ASOS/AWS 관측소가 서울에 30개나 있지만 이 정도로는 국지성 호우의 영향을 보기 어렵습니다.하지만 서울에 1000개나 설치한 S-DoT이라면 국지성 호우의 영향을 확인할 수 있겠죠. 집중호우가 내린 곳은 온도가 급격히 떨어지기 때문에 레이더 에코의 위치와 S-DoT의 온도가 감소하는 위치가 거의 같을 겁니다.그러므로 2024년 8월 13일 시간별로 레이더 에코와 S-DoT 온도장을 확인해보겠습니다.우리는 변화를 봐야하기 때문에 정확히는 온도장을 그리는 것이 아니라 1시간 동안 변한 온도의 공간장을 그려야 합니다.만약 진..
[python] 스마트서울 도시데이터 센서(S-DoT)로 보는 집중호우 발생시 온도장: 1. 자료 전처리
·
대기과학/프로그래밍
- 개요한국에서 기상 관측 자료라 하면 보통 ASOS/AWS 기상 관측 자료를 말합니다.기상청뿐만 아니라 다른 기관이 설치한 ASOS/AWS 관측소의 수는 전국에 500개가 넘는데요.다른 나라와 비교해서 우리나라 정부가 정말 기상 관측소를 정말 촘촘히 설치한 겁니다.심지어 국가가 관리하기 때문에 관측품질도 좋죠.이렇게 촘촘히 설치했지만 서울에 설치되어있는 기상청 ASOS/AWS 관측소 숫자는 약 30개입니다.서울에 25개 행정구가 있으니 1구에 1개 정도 있는 셈이죠.  이외에도 2020년부터 서울에서는 IoT 센서가 설치되어 기상 변수가 측정되고 있습니다.서울 곳곳에 약 1000개의 IoT 센서가 설치되어 있고, 기상 변수 외에 다른 변수도 측정합니다. 기간은 2020년 4월부터 현재까지 시간은 1시간..