리샘플링 결과 시각화
이제 이전 연습 문제에서 만든 시뮬레이션 결과를 시각화해 보세요! nba_weights 데이터는 NBA 선수들의 몸무게(kg)를 담고 있어요:
nba_weights = [96.7, 101.1, 97.9, 98.1, 98.1,
100.3, 101.0, 98.0, 97.4]
다음은 이전 연습 문제에서 사용한 시뮬레이션 코드예요:
simu_weights = []
for i in range(1000):
bootstrap_sample = random.choices(nba_weights, k=9)
simu_weights.append(np.mean(bootstrap_sample))
mean_weight = np.mean(simu_weights)
upper = np.quantile(simu_weights, 0.975)
lower = np.quantile(simu_weights, 0.025)
print(mean_weight, lower, upper)
지난 연습 문제에서 생성한 simu_weights 리스트는 이미 불러와 두었어요. 마찬가지로 mean_weight, lower, upper도 신뢰 구간을 위한 평균과 2.5%, 97.5% 분위수 값으로 정의되어 있어요.
다음 패키지는 이미 로드되어 있어요: random, numpy는 np로, seaborn은 sns로, matplotlib.pyplot은 plt로 불러왔어요.
이 연습은 강의의 일부입니다
Python으로 배우는 Monte Carlo 시뮬레이션
연습 안내
sns.displot()으로 시뮬레이션된 몸무게의 분포를 그리세요.plt.axvline()으로 95% 신뢰 구간을 표시하는 두 개의 세로선을 빨간색으로(lower를 먼저, 그다음upper) 그리고, 평균은 초록색으로 그리세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Plot the distribution of the simulated weights
____
# Plot vertical lines for the 95% confidence intervals and mean
plt.axvline(____, color="red")
plt.axvline(____, color="red")
plt.axvline(____, color="green")
plt.show()