Bắt đầu ngayBắt đầu miễn phí

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, lowerupper đã đượ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.

Bài tập này là một phần của khóa học

Mô phỏng Monte Carlo với Python

Xem khóa học

Hướng dẫn bài tập

  • 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á.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã