기본 콘텐츠로 건너뛰기

라벨이 melt인 게시물 표시

[matplotlib]quiver()함수

Statistical analysis results graph code

The following graphs are the codes for the figures included in Chapters 6 and 7 of the e-book Statistics with Python . import numpy as np import pandas as pd from scipy import stats from sklearn.preprocessing import StandardScaler import FinanceDataReader as fdr import yfinance as yf import statsmodels.api as sm from statsmodels.formula.api import ols from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") #fig 611 st=pd.Timestamp(2024,1, 1) et=pd.Timestamp(2024, 5, 30) code=["^KS11", "^KQ11", "^DJI", "KRW=X"] nme=['kos','kq','dj','WonDol'] da=pd.DataFrame() for i in code: x=yf.download(i,st, et)['Close'] x1=x.pct_change() da=pd.concat([da, x1], axis=1) da.columns=nme da1=da.dropna() da1.index=range(len(da1)) da2=pd.melt(da1, value_vars=['kos', 'kq', 'dj', 'WonDol'], var_name=...

통계분석 결과 그래프

다음 그래프들은 전자책 파이썬과 함께하는 통계이야기 6 장과 7장에 수록된 그림들의 코드들입니다. import numpy as np import pandas as pd from scipy import stats from sklearn.preprocessing import StandardScaler import FinanceDataReader as fdr import yfinance as yf import statsmodels.api as sm from statsmodels.formula.api import ols from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") #fig 611 st=pd.Timestamp(2024,1, 1) et=pd.Timestamp(2024, 5, 30) code=["^KS11", "^KQ11", "^DJI", "KRW=X"] nme=['kos','kq','dj','WonDol'] da=pd.DataFrame() for i in code: x=yf.download(i,st, et)['Close'] x1=x.pct_change() da=pd.concat([da, x1], axis=1) da.columns=nme da1=da.dropna() da1.index=range(len(da1)) da2=pd.melt(da1, value_vars=['kos', 'kq', 'dj', 'WonDol'], var_name="idx", value_name="val") model=ols("val~...

[seaborn] 플롯과 데이터 구조

플롯과 데이터 구조 일반적으로 플롯은 지정된 x와 y에 대응하여 작성됩니다. 각 x와 y를 위해 seaborn 함수에 전달하는 데이터 구조에 따라 입력 형식에서 약간의 차이를 보입니다. DataFrame의 경우 모든 변수들이 열(column)로 배치되고 각 열이름이 하나의 변수를 나타내는 구조이기 때문에 x와 y에 열이름을 전달합니다. 그러나 행과 열이 연결되어 각 값들의 의미를 나타내는 경우 즉, pivot table과 같은 경우 x와 y는 각각 행이름이고 열이름이 됩니다. 이 경우 그래프 함수는 각 행에 대한 열을 x와 y를 암묵적으로 인식하여 그래프를 작성합니다. 이러한 관계를 다음 데이터 flight에 대해 figure-level 함수인 relplot(), catplot() 를 적용하여 알아봅니다( Figure-level과 Axes-level 함수 그리고 히스토그램 참조). import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.family'] ='NanumGothic' plt.rcParams['axes.unicode_minus'] =False import seaborn as sns flights=sns.load_dataset("flights") flights.head(3) year month passengers 0 1949 Jan 112 1 1949 Feb 118 2 1949 Mar 132 sns.set_theme() sns.relplot(data=flights, x="year...

[data analysis] 일원분산분석(One-way ANOVA)

일원분산분석(One-way ANOVA) 관련된 내용 분산분석 (Analysis of variance)의 개요 일원분산분석(one-way ANOVA) 사후분석(Post-hoc test) 이원분산분석(two-way ANOVA) 분산분석의 귀무가설은 다음과 같습니다. H0 : µ 1 = µ 2 = · · · = µ n 분산분석을 위해 다음을 가정합니다. 각 모집단은 정규분포를 따릅니다. 모든 모집단의 분산은 동일합니다. 관측치들은 독립적이어야 합니다. 위의 정규성 가정은 각 그룹에 대응하는 모집단을 검정하는 것은 어렵기 때문에 모델의 잔차에 대한 검정으로 대신합니다. 또한 독립성은 자료의 수집단계의 정보에 의해 판단되는 것으로 분석 중에 그 검정은 쉽지 않습니다. 표 1에서 나타낸 것과 같이 one-way ANOVA는 각 factor에 포함되는 수준 즉 처리(treatment, 요인수준)가 없습니다. 그러므로 일원분산분석에서는 요인과 treatment가 같으며 각 요인에 포함된 값들(반응변수)을 그룹화합니다. 이 구조에서 각 그룹내의 변동과 각 요인들 사이의 변동을 비교합니다. 표 1 일원분산분석을 위한 자료구조 요인(처리) 1 2 … t 반응(값) x 11 x 12 … x 1t x 21 x 22 … x 2t ⋮ ⋮ ⋮ ⋮ x n1 x n2 … x nt 평균 X 1 X 2 … X .t 총평균 X .. 표 1로부터 각 값들은 식 1과 같이 일반화한 모형으로 나타낼 수 있습니다. x ij  = μ j + e ij (식 1) x ij : 각 값 μ j : 그룹 j의 평균 e ij : x ij 에 대응하는 오차 i:1, 2,…, n(그룹내 값의 수) j:1, 2, …, t(그룹의 수) 이 모형에서 각 변수는 독립적이고 정규분포에 부합한다고 가정했으므로 오차항(e) 역시 평균이 0이고 일정한 분산을 가진 정규분...

R 기술통계

내용 기술통계(descriptive statistics) 그룹화에 의한 기술통계 패키지 함수 적용 기본통계 기술통계(descriptive statistics) mtcars vars mpg hp wt Mazda RX4 21.0 110 2.620 Mazda RX4 Wag 21.0 110 2.875 Datsun 710 22.8 93 2.320 Hornet 4 Drive 21.4 110 3.215 Hornet Sportabout 18.7 175 3.440 Valiant 18.1 105 3.460 summary(mt1)#요약통계량을 반환 mpg hp wt Min. :10.40 Min. : 52.0 Min. :1.513 1st Qu.:15.43 1st Qu.: 96.5 1st Qu.:2.581 Median :19.20 Median :123.0 Median :3.325 Mean :20.09 Mean :146.7 Mean :3.217 3rd Qu.:22.80 3rd Qu.:180.0 3rd Qu.:3.610 Max. :33.90 Max. :335.0 Max. :5.424 apply(객체, 1 or 2, FUN)는 객체의 행 또는 열에 함수를 적용합니다. 1: row, 2:column sapply(객체, FUN)는 객체의 각 열에 함수를 적용합니다. 위 함수에서 객체의 결측치를 제외하기 위해 함수에 인자 na.omit=True를 첨가합니다. 위 함수들의 인수중 FUN에 사용되는 전형적인 함수들은 다음과 같습니다. mean, sd, var, min,max, median, length, range, quantile fivenum() 은 Turkey의 5가지 요약...

R 데이터의 집계 및 재구성

내용 전치(transpose) 데이터의 집계 reshape 패키지 melting casting 데이터의 집계 및 재구성(aggregation and restructuring) R은 데이터를 집계하고 재구성하기 위한 여러 가지 강력한 방법을 제공합니다. 데이터를 집계할 때 관찰 그룹을 해당 관찰을 기반으로 하는 요약 통계로 바꿉니다. 데이터를 재구성할 때 데이터가 구성되는 방식을 결정하는 구조(행 및 열)를 변경합니다. 이 섹션에서는 이러한 작업을 수행하는 다양한 방법에 대해 설명합니다. 다음 두 하위 섹션에서는 R의 기본 설치에 포함된 mtcars 데이터 프레임을 사용할 것입니다. Motor Trend Magazine(1974)에서 추출한 이 데이터 세트는 설계 및 성능 특성(실린더 수, 배기량, 마력, mpg 등) 34대용. 데이터세트에 대한 자세한 내용은 help(mtcars)를 참조하세요. 전치(transpose) 전치는 데이터의 구조 즉, 행과 열을 교환하는 것입니다. 함수 t() 를 사용합니다. cars mpg cyl disp hp Mazda RX4 21.0 6 160 110 Mazda RX4 Wag 21.0 6 160 110 Datsun 710 22.8 4 108 93 Hornet 4 Drive 21.4 6 258 110 Hornet Sportabout 18.7 8 360 175 t(cars) MazdaRX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout mpg 21 21 22.8 21.4 18.7 cyl 6 6 ...