728x90

python 42

작업20: Metpy로 온도 단위 다뤄보기 (degC, degF)

오늘은 단위 다루기 마지막 온도 단위를 다뤄보겠습니다 이전 포스팅들에서는 길이나 시간과 같은 단위들을 다뤄봤습니다 이 단위들을 곱하거나 나누는 것만 가능했었죠?? 그럼 이제 온도 단위를 생각해보겠습니다 5℃ x 10℃ = ?? 위 식이 계산이 가능한가요?? 보통 값을 곱할때 단위도 같이 곱해지기 때문에 위 식을 계산하면 ℃^2 이라는 단위가 나와야합니다 그런데 ℃^2 이런 단위가 있나요?? 당연히 존재하지 않습니다 그럼 여기서 생각할 수 있는 것은 '온도 단위는 더하거나 빼는거만 가능하다' 라고 생각할 수 있습니다 이것들을 파이썬으로도 실행해보겠습니다 온도 단위는 크게 3가지가 있습니다 보통적으로 사용하는 ℃(도씨), si 단위계에 속하는 K(켈빈), 미국에서 자주 사용하는 ℉ 이렇게 3가지입니다 이번 ..

파이썬/metpy 2023.01.13

작업19: Metpy로 단위 변환 해보기 (ito)

저번 포스팅에 이어서 Metpy를 사용해보겠습니다 저번에 단위를 달아보고 단위 연산까지 해봤습니다 이번에는 단위 변환하는 모듈을 다뤄보도록 하겠습니다 단위 변환이라는 말의 뜻은 다 아실거라고 생각합니다 1m = 100㎝, 1㎝ = 10㎜, 1m = 1000㎜ 이런 과정을 말합니다 과학에서는 단위를 가지고도 새로운 변수를 만들어낼 정도로 단위가 중요합니다 가장 쉽게 접할 수 있는 단위인 미터를 예시로 사용해보겠습니다 1m = 3.28084ft (feet) = 1.093613yd (yard) = 39.370079in (inch) = 0.000621mile 이렇게 변환이 가능합니다 파이썬으로 직접 해볼까요? 1. feet a = np.arange(5.) * units.meter 단위 환산 a.ito('feet..

파이썬/metpy 2023.01.11

작업18: Metpy로 단위 달아보기 (metpy.units)

오늘부터는 대기과학에서 많이 사용하는 라이브러리인 Metpy를 이용해보려고 합니다 기상자료개방포털에서 자료도 직접 가지고 와서 SkewT log-p diagram 같은 그림들을 시각화해보고 분석도 해보겠습니다 우선 Metpy라는 라이브러리가 무엇인지 알아야합니다 공식 홈페이지에 나와있는 내용으로는 "기상 데이터를 읽고 시각화하고 계산을 수행하기 위한 도구 모음" 이라고 나와있습니다 대기과 학생인 저한테는 딱 맞는 라이브러리죠?? 데이터를 읽고 시각화하는 건 그렇다고 쳐도 계산을 수행하는 도구는 다른 라이브러리에도 있는데 왜 또 포함하고 있고 기상 데이터를 계산한다고 하는 걸까요? 그 이유는 Metpy는 단위를 가지고 게산을 수행하기 때문입니다 이 단위가 단순히 문자열로 붙여주는 것을 떠나서 기압이면 10..

파이썬/metpy 2023.01.10

작업16: Python으로 EBM 기후모델 만들기1

오늘은 과제로 나왔던 EBM 기후모델을 만들어보겠습니다 먼저 EBM 모델에 대해 간단하게 설명하겠습니다 제가 배운 내용으로는 기후모델은 크게 4가지가 있습니다 - Energy Balance Models - One-Dimensional Radiative-convective Models - Two-Dimensional Statistical-Dynamical Models - Thress-Dimensional General Circulation Models 저는 여기서 맨 앞에 있는 Energy Balance Models을 만들어보겠습니다 줄여서 EBM이라고 부르겠습니다 EBM은 이 기후 시스템에서 적용되는 열역학 제 1법칙만을 나타냅니다 주변 환경과 물질이나 공간을 교환하지 않기 때문에 닫힌 열역학 시스템입니..

파이썬 2023.01.04

작업 15: Python으로 선형 회귀 모델 적합성 검사 라이브러리 만들기2

앞에 설명하는 부분들은 파이썬 설명보다는 통계 설명이 더 많아서 통계 카테고리로 옮겼습니다 이 포스팅에서는 전체 코드를 올리고 마무리 지을까 합니다 당분간은 파이썬보다는 포트란과 NCL로 조금 눈을 돌려볼까 합니다 한동안 너무 파이썬만 한 거 같아요.. 과제에서 했던 것들을 간간히 올려보는 걸로 파이썬은 이어가겠습니다! 정말 정말 깁니다... 318줄 정도 되요.. 꼼꼼히 읽어보셔야 해요! import numpy as np from scipy import stats from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt #Coefficent of Detect class COD: def __init__(self, x..

파이썬 2022.12.31

상관계수와 회귀식, 예측값 파이썬으로 구해보기

어제도 제 블로그를 찾아주신 다섯 분 감사드립니다! 오늘은 상관계수와 선형회귀 분석, MSE, MSR 부분입니다 저번 포스팅에서 유의성 검사까지 마쳤습니다 이제 상관계수가 유의한지 않은지를 알 수 있으니 선형 회귀 분석도 해보겠습니다 #Correlation class correlation: def __init__(self, x, y): self.p_r, self.pp_val = stats.pearsonr(x, y) self.s_r, self.sp_val = stats.spearmanr(x, y) def pearson(self): print('변수 X,Y에 대한 피어슨 상관계수는 {}입니다'.format(round(self.p_r, 4))) def spearman(self): print('변수 X,Y에 대..

통계 2022.12.21

상관 계수 5%, 1% 수준 유의성 검사 파이썬으로 해보기

어제도 제 블로그를 찾아주신 일곱 분 감사드립니다! 오늘은 유의성 검사 부분 코드 분석을 가보겠습니다 저번에 p-value의 정확한 정의와 사용법을 알아봤습니다 그럼 이제 유의성 검사를 코드로 구현해보겠습니다 #5% 유의성 검사 class valence5: def __init__(self, x, y): self.r10, self.p10_val = stats.pearsonr(x, y) if self.p10_val < 0.05: print('P-value가 유의 수준 5%보다 작기 때문에 상관계수가 유의합니다') else: print('P-value가 유의 수준 5%보다 크기 때문에 상관계수가 유의하지 않습니다') #1% 유의성 검사 class valence1: def __init__(self, x, y):..

통계 2022.12.20

결정계수와 p-value 파이썬으로 구해보기

오늘부터 본격적으로 적합성 검사 라이브러리를 만들어보겠습니다! 기초) 먼저 라이브러리를 만들기 전에 조금에 통계학적 지식이 필요합니다 저희가 적합성 검사를 하는 이유는 제가 입력시켜준 자료에 모델이 적합한지를 확인하기 위해서입니다 통계에서 가설을 검정하기 위해서는 대립가설과 귀무가설을 사용합니다 조금 어려운 말 같아 보이지만 이렇게 이해하면 쉽습니다 대립 가설 : 내가 검정하고 싶은 것, 증명하고 싶은 것, 확인하고 싶은 것 귀무 가설 : 대립 가설과 정반대되는 가설 그러면 적합성에 이 두 가설을 적용시켜봅시다 우리가 적합성을 검사를 하는 이유를 모델이 내 자료에 적합한지 확인하기 위해서라고 했져?? 그러면 대립 가설이 '모델이 내 자료에 적합하다' 로 설정이 됩니다 반대로 귀무 가설은 '모델이 내 자료..

통계 2022.12.09

작업 14: Python으로 선형 회귀 모델 적합성 검사 라이브러리 만들기1

오늘부터는 파이썬으로 선형 회귀 모델 적합성을 검사할 수 있는 라이브러리를 만들어보겠습니다 기본적인 파이썬의 Class 기능과 몇 가지 라이브러리를 합쳐서 만들어보려고 합니다 추가로 선형 회귀식과 원래 자료가 함께 그림이 그려지는 코드도 넣었습니다 먼저 Class가 어떤 건지 설명드리겠습니다 먼저 Class의 구성은 이렇습니다 class COD: def __init__(self, x, y): self.r, self.p_val = stats.pearsonr(x, y) self.R = self.r**2 print('R_squared : {}, p-value : {}'.format(round(self.R, 4), round(self.p_val, 4))) 제가 작성한 코드의 일부분 입니다 크게 나누면 class..

파이썬 2022.12.06

작업13: Python으로 부산 평균 최고기온 분석하기 4

저번 포스팅에 이어서 히스토그램과 박스플롯을 그려보겠습니다 기간 1973년 ~ 2021년 지점 ASOS 부산 관측 지점 자료 월 별 평균 최고기온 박스플롯) 히스토그램은 제 포스팅 중에 설명해 놓은게 있습니다 ​ 그렇기 때문에 박스플롯에 대해서 알아보겠습니다 ​ 먼저 박스플롯은 통계치들을 한 눈에 보여주는 그림입니다 ​ 이 그림 입니다 ​ 가운데 박스가 있고 위아래로 수염이 튀어나와있는 모양이라 수염 그림이라고도 합니다 ​ 요소들을 하나씩 알아보겠습니다 ​ 먼저 박스 부분입니다 ​ 박스의 가장 윗 부분은 Q3, 즉 상위 하위 75%값을 의미합니다 3사분위수라고도 합니다 ​ 박스 중간에 있는 실선은 Q2, 즉 중앙값이자 하위 50%값을 의미합니다 ​ 그럼 당연하게도 박스 가장 아래 부분은 Q1 하위 25%..

파이썬 2022.12.04