기본 콘텐츠로 건너뛰기

라벨이 vlines인 게시물 표시

[matplotlib]quiver()함수

Graph code related to statistical tests

The following graphs are the codes for the figures included in Chapter 5 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 yfinance as yf import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") #fig511 st=pd.Timestamp(2024, 4,20) et=pd.Timestamp(2024, 5, 30) da1=yf.download('GOOGL', st, et)["Close"] da2=yf.download('MSFT', st, et)["Close"] da1=da1.iloc[:,0].pct_change()[1:]*100 da2=da2.iloc[:,0].pct_change()[1:]*100 da=pd.DataFrame([da1, da2], index=['data1', 'data2']).T da.index=range(len(da1)) mu1, sd1, n1=np.mean(da1), np.std(da1, ddof=1), len(da1) mu2, sd2, n2=np.mean(da2), np.std(da2, ddof=1), len(da2) s_p=np.sqrt(((n1-1)*sd1**2+(n2-1)*sd2**2)/(n1+n2-2)) se=s_p*np.sqrt((1/n1+1/n2)) df=n1+n2-2 mu=mu1-mu2 testStatic=((mu1-mu2)-0)/se x=np.linspace(-3, 3, 500) p=stats.t.pdf(x, df) l=stats.t...

통계 검정에 관련된 그래프

다음 그래프들은 전자책 파이썬과 함께하는 통계이야기 5 장에 수록된 그림들의 코드들입니다. 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 matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") #fig 511 st=pd.Timestamp(2024, 4,20) et=pd.Timestamp(2024, 5, 30) da1=fdr.DataReader('091160', st, et)["Close"] da2=fdr.DataReader('005930', st, et)["Close"] da1=da1.pct_change()[1:]*100 da2=da2.pct_change()[1:]*100 da=pd.DataFrame([da1, da2], index=['data1', 'data2']).T da.index=range(len(da1)) mu1, sd1, n1=np.mean(da1), np.std(da1, ddof=1), len(da1) mu2, sd2, n2=np.mean(da2), np.std(da2, ddof=1), len(da2) s_p=np.sqrt(((n1-1)*sd1**2+(n2-1)*sd2**2)/(n1+n2-2)) se=s_p*np.sqrt((1/n1+1/n2)) se=s_p*np.sqrt((1/n1+1/n2)) df=n1+n2-2 mu=mu1-mu2 ci=stats.t.interval(0.95, df, mu, se) testStatic=((mu1-mu2)-0)/se x=np.linspace(-3, 3, 500) ...

[matplotlib] 조각 함수 그리기

조각 함수(pairwise function) 작성 다음 함수 f(x)와 같이 일정한 구간별로 다른 값을 가지는 함수를 조각함수라고 합니다. $$f(x) =\begin{cases}4& \text{for}\; x\lt 0\\3-x^2& \text{for}\; 0\lt x \le 2\\ 2x-6& \text{for}\; x \gt 2\end{cases}$$ 선 그래프를 작성하기 위해 각 조건에 맞는 x와 y 값을 설정합니다. import numpy as np import matplotlib.pyplot as plt x=np.linspace(0, 2, 50) y=3-x**2 x1=np.linspace(2, 7, 50) y1=2*x1-6 x, y 축을 점 (0, 0)을 통과하도록 조정하기 위해 다음 함수를 적용합니다. plt.subplots(nrows=1, ncols=1, figsize=()) 여러개의 그래프를 그리기 위한 함수 그림들이 배열되는 구조는 nrows(행의 수), ncols(열의 수)로 지정 이 함수는 전체적인 그림을 위한 객체, 그 객체내에 각 그래프의 좌표의 수들을 반환 다음 코드는 1행, 1열로 1개의 그래프를 작성하므로 그림 객체를 나타내는 fig와 그 그래프의 좌표쌍을 나타내는 ax 객체를 반환 figsize=(가로, 세로), 그래프의 크기를 나타냄 fig, ax=plt.subplots(figsize=(4, 3)) ax.plot(x, y, color="g", label=r"y=3-$x^2$") ax.plot(x1, y1, color="brown", label="y=2x-6") .plot(x, y, color, ls, lw, label): x에 대응하는 y에 대한 선그래프를 작성 ls: linestyle , 선의 형태를 지정 ...