1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Mô phỏng Monte Carlo với Python

Connected

Bài tập

Trực quan hóa kết quả resampling

Bây giờ bạn sẽ trực quan hóa kết quả mô phỏng từ bài trước! Bạn sẽ tiếp tục làm việc với nba_weights, chứa cân nặng (kg) của một nhóm cầu thủ NBA:

nba_weights = [96.7, 101.1, 97.9, 98.1, 98.1, 
               100.3, 101.0, 98.0, 97.4]

Đây là mã mô phỏng của bạn từ bài trước:

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)

Danh sách simu_weights mà bạn đã tạo ở bài trước đã được nạp sẵn. Tương tự, mean_weight, lower và upper đã được định nghĩa sẵn lần lượt là giá trị trung bình và các phân vị 2.5% và 97.5% cho khoảng tin cậy của bạn.

Các gói sau đã được nạp sẵn: random, numpy với bí danh n p, seaborn với bí danh sns, và matplotlib.pyplot với bí danh plt.

Hướng dẫn

100 XP
  • Dùng sns.displot() để vẽ phân phối của các cân nặng được mô phỏng.
  • Dùng plt.axvline() để vẽ hai đường thẳng đứng cho khoảng tin cậy 95% (vẽ lower rồi đến upper) bằng màu đỏ, và vẽ giá trị trung bình bằng màu xanh lá.