순열 연습
NBA 선수들은 미국 성인 남성보다 더 무거울까요? 이제 NBA 선수와 미국 성인 남성의 평균 체중 차이(킬로그램)의 95% 신뢰구간을 구해 보려고 합니다. 제공된 두 리스트를 사용할 거예요.
차이를 검정할 때는 순열(permutation) 방법이 특히 유용하므로, 여기서는 이 재표본추출(resampling) 방법을 사용합니다!
nba_weights = [96.7, 101.1, 97.9, 98.1, 98.1, 100.3, 101.0, 98.0, 97.4, 100.5, 100.3, 100.2, 100.6]
us_adult_weights = [75.1, 100.1, 95.2, 81.0, 72.0, 63.5, 80.0, 97.1, 94.3, 80.3, 93.5, 85.8, 95.1]
위의 각 리스트에는 체중 값이 13개씩 들어 있습니다.
다음 모듈은 이미 임포트되어 있어요: random, numpy는 np, seaborn은 sns, 그리고 matplotlib.pyplot은 plt.
이 연습은 강의의 일부입니다
Python으로 배우는 Monte Carlo 시뮬레이션
연습 안내
nba_weights와us_adult_weights의 값을 모두 포함하는 리스트를all_weights로 정의하세요.np.random.permutation()을 사용해all_weights에 순열을 적용하세요.- 순열된 샘플 중 처음 13개를
perm_nba에, 나머지 13개를perm_adult에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define all_weights
all_weights = ____
simu_diff = []
for i in range(1000):
# Perform the permutation on all_weights
perm_sample = ____
# Assign the permutated samples to perm_nba and perm_adult
perm_nba, perm_adult = ____, ____
perm_diff = np.mean(perm_nba) - np.mean(perm_adult)
simu_diff.append(perm_diff)
mean_diff = np.mean(nba_weights) - np.mean(us_adult_weights)
upper = np.quantile(simu_diff, 0.975)
lower = np.quantile(simu_diff, 0.025)
print(mean_diff, lower, upper)