728x90

분류 전체보기 148

작업17: Python으로 EBM 기후모델 만들기2

저번 포스팅에 이어서 기후모델이 다양한 조건들을 넣어 결과를 확인해 보겠습니다 이전 포스팅에서 기후모델을 Runge-kutta 4차 방법으로 만들어봤었습니다 과제로 나왔던 조건들을 넣으면서 예상 결과와 어떻게 다른지 확인해보겠습니다 먼저 첫 번째 입니다 1. Try changing ϵ=0.78 to ϵ=0.80 in the code provided. (It is noticeable that this change in emissivity of the atmosphere can occur due to doubled CO2 concentration) = 방출률을 0.78에서 0.8로 바꿔보십쇼(이는 이산화탄소 농도가 2배로 증가했을 때 발생할 수 있다) 코드에서 기본으로 주어진 상태에서 0.78로 설정했던 방..

파이썬 2023.01.06

작업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

작업3: NCL로 막대그래프 그려보기2

저번 포스팅에 이어서 축 이름들하고 제목을 넣어보겠습니다 x = (/1, 2, 3, 4, 5/) y = (/2, 4, 6, 8, 10/) w = gsn_open_wks("x11", "blog1") gsn_define_colormap(w, "amwg256") res = True res@gsnXYBarChart = True res@gsnYRefLine = 0 res@gsnXYBarChartColors = (/20, 80, 140, 200, 230/) p = gsn_csm_xy(w, x, y, res) 먼저 저번 포스팅까지 다뤘던 코드입니다 색깔하고 레퍼선스 라인까지 추가해봤는데요 이번에는 x, y축 이름, 제목을 추가해보겠습니다 먼저 제목입니다 res@tiMainString = "Basic Bar Graph..

NCL 2023.01.02

작업2: NCL로 막대그래프 그려보기1

정말 오랜만에 NCL 포스팅입니다 저희 교수님이 자주 쓰시는 툴이라 저도 알아두면 좋을거 같아서 다시 공부해보려고 합니다 기본적인 막대그래프에 리소스를 추가해보겠습니다 먼저 기본적인 xy 구성의 막대 그래프 코드입니다 x = (/1, 2, 3, 4, 5/) y = (/2, 4, 6, 8, 10/) w = gsn_open_wks("x11", "blog1") res = True res@gsnXYBarChart = True p = gsn_csm_xy(w, x, y, res) x 윈도우 형대로 여는 방식을 사용했습니다 실행하면 바로 열려서 좋더라구요 저 코드를 실행하면 이런 그림이 나옵니다 하지만 뭐가 이상하지 않나요? 이건 파이썬으로 그림 그림입니다 ncl 그림은 파이썬 그림과 다르게 맨 앞에 x =1, y ..

NCL 2023.01.01

작업 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 의미 알아보고 F비 파이썬으로 구해보기

종강하고 푹 쉬고 오느라고 한동안 포스팅을 못했네여.. MSR, MSE, F비로 다시 이어가보겠습니다 먼저 MSE랑 MSR, F비에 대해 설명이 조금 필요합니다 쉬운 이해를 위해 그림을 그려왔습니다 파란색 점들은 관측값, 빨간색 선 위에 점들은 예측값, 초록색 수평선은 관측값의 평균입니다 맨 앞부분을 가져와서 옆으로 눕혀서 보겠습니다 (눕혀서 보는게 편해요!) 정의를 써놨지만 그림만 보면 모를수도 있으니 아래에 써보도록 할께요 여기서 예측값은 파이썬에서 Linear Regression 모듈에 predict로 구해진 값을 말합니다 - 평균과 회귀값의 차이 : 평균값 - 예측값 - 편차 : 관측값 - 평균값 - 잔차 : 관측값 - 예측값 이렇게 정의 할 수 있습니다 위에 3가지 정의를 가지고 SSR, SSE..

통계 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

t-value와 p-value의 관계 파이썬으로 알아보기

어제도 제 블로그를 찾아주신 일곱 분 감사드립니다! 오늘은 t분포와 p-value, 확률 밀도 함수에 대해 더 자세히 알아보겠습니다 저번에 이제 선형 회귀 분석에서 결정계수와 p-value가 의미하는 것을 확인해봤습니다 p-value를 제대로 사용하려면 먼저 student - t분포에 대해 알아야 합니다 원래 t-value는 모집단의 표준편차를 모르는 경우 표본의 표준편차를 가지고 모집단의 표준편차를 추정할 때 사용하는 값 입니다 t-value 공식은 다음과 같습니다 제가 배운 방법으로는 상관계수를 검증하는 부분에서 나오기 때문에 상관계수를 이용해서 구합니다 상관계수를 구하는 공식은 이렇습니다 n-2는 자유도를 의미합니다 t-value는 2개의 모수가 추정이 가능하기 때문에 n-2가 된다고 알려져 있습니..

통계 2022.12.20

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

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

통계 2022.12.09