기본 콘텐츠로 건너뛰기

라벨이 chi2인 게시물 표시

[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([...

[data analysis]카이제곱분포(chi-squared distribution)

카이제곱 분포(Chi-square distribution) 카이제곱분포(χ 2 분포) 는 식 1과 같이 제곱한 k개의 서로 독립적인 표준정규 확률변수들을 합하여 얻어지는 분포입니다. 이때 k를 자유도라 하며 X 2 분포의 모수가 됩니다. X 2 (k) = Z 1 2 + Z 2 2 + … + Z k 2 (식 1) Z: 표준정규분포를 따르는 확률변수 식 1의 Z은 표준정규분포를 따르는 확률변수로서 식 2와 같이 나타낼 수 있습니다. $$\chi^2_{(k)}=\left(\frac{X_1-\mu_1}{\sigma_1}\right)+\left(\frac{X_2-\mu_2}{\sigma_2}\right)+\cdots +\left(\frac{X_k-\mu_k}{\sigma_k}\right)$$ (식 2) 식 2에서 나타낸 것과 같이 χ 2 분포를 구성하는 모든 확률변수는 표준정규분포를 따르는 것으로 평균이 0, 표준편차가 1이므로 (-1, 1) 구간에 위치할 확률이 클것입니다. 이것은 자유도가 1인 경우 확률밀도함수는 (0, 1) 부분에 밀집되므로 카이제곱분포는 외쪽에 치우친 형태를 보일 것입니다. 자유도가 증가할수록 평균과 표준편차의 증가되고 정규분포화 될 것입니다. 이러한 분포의 경향은 그림 1에서 나타낸 것과 일치합니다. scipy.stats.chi2() 클래스의 다양한 메서드를 적용할 수 있습니다. 그림 1은 stats.chi2.pdf(x, df=k) 메서드를 사용하여 작성한 것입니다. 이 메서드의 인수 df는 χ 2 분포의 자유도를 나타내며 그림에서 나타낸 것과 같이 이 인수에 의해 분포의 형태가 달라집니다. 이 이유로 df의 인수값인 k를 형태매개변수 라고 합니다. 그림 1. χ 2 분포에서 자유도의 영향. x=np.linspace(0, 21, 1000) k=[1, 3,5,10,20] col=['g','b','r','k', "ora...