<jupyter_start><jupyter_text>Q-Q Plot- 가지고 있는 분포를 분위로 쪼개서 정규분포의 분위와 일대일 대응시켜봐서 - 정규분포인지 아닌지 시각적으로 판단하도록 도와줌<jupyter_code>np.random.seed(0)
x = np.random.randn(100) # randn 자체가 정규분포를 따라 값이 뽑힘
plt.figure(figsize=(7, 7))
sp.stats.probplot(x, plot=plt)
# plt.axis("equal")
plt.show()
np.random.seed(0)
x = np.random.rand(100) # uniform 분포이기 때문에 short tail형태로 그래프가 나옴.
plt.figure(figsize=(7, 7))
sp.stats.probplot(x, plot=plt)
plt.ylim(-0.5, 1.5)
plt.show()
X = np.random.rand(2,10) # 2 X 10 matrix
print(X,"\n\n",X.mean(axis=1),"\n\n", X.mean(axis=0))

# axis = 1 : 각 행의 연산(평균, 합계....)
# axis = 0 : 각 열의 연산
# 여기에서는 0부터 1까지의 균일 분포의 기댓값이 0.5 , 
# 분산이 1/12 라는 사실을 이용

np.random.seed(0)
xx = np.linspace(-2, 2, 100)
plt.figure(figsize=(6,9))
for i, N in enumerate([1, 2, 20]):
    X = np.random.rand(5000, N) # uniform 분포 
    # 세트당(각 행벡터) 평균을 내고 정규화까지 하는 과정...총 5000세트
    Xbar = (X.mean(axis=1) - 0.5) * np.sqrt(12 * N) 
    ax = plt.subplot(3, 2, 2 * i + 1)
    sns.distplot(Xbar, bins=10, kde=False, norm_hist=True)
    plt.xlim(-5, 5)
    plt.yticks([])
    ax.set_title("N = {0}".format(N))
    plt.subplot(3, 2, 2 * i + 2)
    sp.stats.probplot(Xbar, plot=plt)

plt.tight_layout()
plt.show()
# N = 1 인 경우를 좀 더 자세하게 보자.

X = np.random.rand(5000, 1) # uniform 분포 
# 세트당(각 행벡터) 평균을 내고 정규화까지 하는 과정...총 5000세트
Xbar = (X.mean(axis=1) - 0.5) * np.sqrt(12 * 1) 
print(type(Xbar))
sns.distplot(Xbar, bins=10, kde=False, norm_hist=True)<jupyter_output><class 'numpy.ndarray'>
{'fraction_non_alphanumeric': 0.19262295081967212, 'fraction_numerical': 0.060792349726775954, 'mean_word_length': 3.4259818731117826, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '496796', 'license': 'MIT', 'n_tokens_mistral': 934, 'n_tokens_neox': 1005, 'n_words': 165, 'path': 'probability/gaussian_review.ipynb', 'repo_name': 'Junhojuno/TIL', 'size': '1464'}