23.05.06.
Today I learned
- 응용수학
응용수학
from scipy import stats
import matplotlib.pyplot as plt
fig, axs=plt.subplots(nrows=2, ncols=2, figsize=(6,4) )
n=30
# X~U(0,1)에 해당하는 균일분포에서 30번 변수를 발생시켜 갖는 확률값의 분포가 어떤지 히스토그램으로 표현
# (2,2) 히스토그램 배열로 만들어 총 4번 반복
axs[0, 0].hist(stats.uniform.rvs( size=n))
# 히스토그램의 제목은 변수 n
axs[0, 0].set_title(f'{n}')
axs[0, 1].hist(stats.uniform.rvs( size=n))
axs[0, 1].set_title(f'{n}')
axs[1, 0].hist(stats.uniform.rvs( size=n))
axs[1, 0].set_title(f'{n}')
axs[1, 1].hist(stats.uniform.rvs( size=n))
axs[1, 1].set_title(f'{n}')
fig.tight_layout()
plt.show()
import numpy as np
from scipy import stats
# interval 설정
r=[0,0.35,0.6,0.8,1]
x=stats.uniform.rvs(0,1,size=30)
# 구간별로 발생한 사건의 횟수는 np.histogram의 첫번째 인덱스에 있음
Y= np.histogram(x,bins=r)[0]
# 100회 반복하면서, 구간별로 발생한 횟수를 Y에 stack형식으로 담음
for i in np.arange(100):
x=stats.uniform.rvs(0,1,size=30)
counts=np.histogram(x,bins=r)[0]
Y=np.vstack([Y,counts])
# 평균, 분산 출력
# axis=0을 사용하면 열의 평균/분산을 구할 수 있음
print("the expectation is", np.mean(Y,axis=0))
print("the variation is", np.var(Y,axis=0))