기본 콘텐츠로 건너뛰기

라벨이 정규분포인 게시물 표시

[matplotlib]quiver()함수

확률, 통계 관련 그래프

다음 그래프들은 전자책 파이썬과 함께하는 통계이야기 3 장에 수록된 그림들의 코드들입니다. import numpy as np import pandas as pd from scipy import stats import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") #fig 311 uni, p=[0, 1, 2],[0.25, 0.5, 0.25] fig, ax=plt.subplots(figsize=(4,3)) ax.bar(uni, p, color="g", alpha=0.3) ax.set_xlabel("# of head(H)") ax.set_ylabel("PMF") ax.set_yticks(p) ax.set_xticks(uni) plt.show() #fig 312 import itertools ca=list(itertools.product(range(1, 7), repeat=2)) S=[sum(i) for i in ca] uni, fre=np.unique(S, return_counts=True) fresum=sum(fre) p=[i/fresum for i in fre] fig, ax=plt.subplots(figsize=(4,3)) ax.bar(uni, p, color="g", alpha=0.3) ax.set_xlabel("Sum of number") ax.set_ylabel("PMF") ax.set_yticks(np.array(p).round(3)) ax.set_xticks(uni) plt.show() #fig 313 ca=list(itertools.product([0, 1], repeat=2)) S=[sum(i) for i in ca] uni, fre=np.unique(S, return_counts=True) re=pd.DataFrame([...

기술 통계 관련 그래프

다음 그래프들은 전자책 파이썬과 함께하는 통계이야기 0, 1, 2 장에 수록된 그림들의 코드들입니다. import numpy as np import pandas as pd from scipy import stats import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") #fig 021 plt.figure(figsize=(4,3)) plt.subplot(1,2,1) plt.arrow(0,0, 1, 2, width=0.02, color="b", label="vecor a") plt.legend(loc="best", labelcolor="linecolor", frameon=False) plt.title("(a)") plt.subplot(1,2,2) plt.arrow(0,0, 1, 2, width=0.02, color="g", label="vector a1") plt.arrow(0,0, 2, 1, width=0.02, color="r", label="vector a2") plt.yticks([]) plt.legend(loc="best", labelcolor="linecolor", frameon=False) plt.title("(b)") plt.show() #fig 031 x=np.sort(stats.norm.rvs(loc=2, scale=np.sqrt(3), size=1000, random_state=3)) y=stats.norm.pdf(x, loc=2, scale=np.sqrt(3)) plt.figure(figsize=(5,3)) plt.hist(x, bins=10, density=True, alpha=0.2, rwidth=0.8) plt....

함수의 그래프: 적분의 적용

다음 그림들은 전자책 파이썬과 함께하는 미분적분 의 7장에 수록된 그래프들과 코드들입니다. import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt import seaborn as sns sns.set_style("darkgrid") def axisTran(ax): ax.spines['left'].set_position(("data", 0)) ax.spines['bottom'].set_position(("data", 0)) ax.spines['right'].set_visible(False) ax.spines['top'].set_visible(False) #그림 7.1.1 a=symbols("a") f=(a-1)*(a-2)*(a-5)+5 x=np.linspace(0.5,5, 100) y=[f.subs(a, i) for i in x] fig,ax=plt.subplots(figsize=(4,3)) ax.plot(x, y ,color="g", label="f(x)") idx=np.linspace(0, 99, 7).astype(int) for i in range(1, len(idx)): x0=x[[(idx[i-1]),idx[i]]] y0=[f.subs(a, i) for i in x0] ax.scatter(x0, y0, s=50, c="b") ax.plot(x0, y0, ls="dashed", color="r") ax.text(x[(idx[i-1])]+0.2, f.subs(a, x[(idx[i-1])]), f"p{i-1}" , color="b"...

[data analysis] 정규분포(Normal Distribution)

정규분포(Normal (Gaussian) Distribution) 여러 현상들에 대해 큰 규모의 자료를 조사하면 그림 1과 같이 평균에서 가장 높은 확률을 보이며 그 평균을 중심으로 양쪽으로 같은 정도로 확률 감소를 보이는 종 모양의 형태를 보입니다. 이러한 분포를 정규분포(normal Distribution) 라고 합니다. 특히 큰 규모의 확률변수들에 대한 분포는 그 변수들의 조건에 상관없이 정규분포에 근접하기 때문에 데이터들의 여러 특성들을 연구하는데 중심이 되는 분포입니다. 그림 1. 정규분포에서 확률과 표준편차의 관계. x=np.linspace(-4, 4, 100) p=stats.norm.pdf(x) nme=[r"-2.56$\sigma$", r"-1.96$\sigma$", r"$\sigma$", r'$\mu$', r"$\sigma$", r"1.96$\sigma$", r"2.56$\sigma$"] x1=np.linspace(-1, 1, 100) x21=np.linspace(-1.96, -1, 100) x22=np.linspace(1, 1.96, 100) x31=np.linspace(-2.56, -1.96, 100 ) x32=np.linspace(1.96, 2.56, 100) fig, ax=plt.subplots(figsize=(9,3)) ax.plot(x, p, color="r") ax.fill_between(x1, stats.norm.pdf(x1), color="g", alpha=0.3, label="68%") ax.fill_between(x21, stats.norm.pdf(x21), color="b", alpha=0.3, label="95%") ax.fill_between(x22, stats.norm.pdf(x22), color...

[data anlysis]표본분포(Sample distribution)

표본분포(Sample distribution) 다음과 같이 모집단에서 추출한 표본들이 모든 요소(데이터)들을 사용하는 이상적인 경우 모평균과 표본평균들의 평균은 같습니다. 즉, 6개의 요소를 가지는 모집단으로부터 요소 3개를 포함하는 표본 2개에 대해 식 1의 관계가 성립합니다. \begin{align}X&=\{x_1, \,x_2, \,x_3, \,x_4, \,x_5, \,x_6\} \\ X_1&=\{x_1, \,x_2, \,x_3\},\; X_2=\{x_4, \,x_5, \,x_6\}\\ \mu&=\frac{x_1+x_2+x_3+x_4+x_5+x_6}{6}\\ \overline{X_1} &=\frac{x_1+x_2+x_3}{3}\\ \overline{X_2} &=\frac{x_4+x_5+x_6}{3}\\ \overline{X} &= \frac{\overline{X_1}+\overline{X_2}}{2}\\&=\frac{\frac{x_1+x_2+x_3}{3}+\frac{x_4+x_5+x_6}{3}}{2}\\ &=\mu\end{align} (식 1) 표본 집단들은 모집단으로부터 무작위로 추출된 것으로 표본들 사이에는 편차가 존재합니다. 그러나 모든 샘플들이 모집단의 요소들을 포함한다면 식 1과 같이 각 샘플의 평균으로 유도되는 평균은 모평균과 같아질 것입니다. 다시 말하면 각 샘플의 평균들은 일정한 분포를 이룰 수 있습니다. 중심극한 정리 에 의해 그 수가 많으며 정규분포에 부합합니다. 이러한 분포를 표본평균분포 또는 표본 분포(sample distribution) 라고 하고 이 분포의 평균을 표본평균(sample mean) 이라 합니다. 식 1과 중심극한 정리와 같은 모집단과 표본들의 관계로 인해 표본평균은 미지의 모평균을 대체하여 사용합니다. 이러한 추정치를 불편추정치(unbiased estimator) 라고 합니다. 즉, 모평균과 표본평균 사이에 발생하는 편차는 일반적인 ...