Phân phối mẫu
Thuộc phần Thống kê cho machine learning trong hành trình Machine Learning của Coddy. Bài học 21 trên 64.
Các phiên xem video có phân phối lệch phải: hầu hết chỉ kéo dài vài phút, một số kéo dài hai giờ. Tuy vậy, giá trị trung bình của 1000 mẫu, mỗi mẫu gồm 40 phiên, tạo thành hình chuông:
Biểu đồ tần suất của nhiều giá trị trung bình mẫu là phân phối lấy mẫu. Khi mỗi mẫu có đủ giá trị, biểu đồ có dạng hình chuông và tập trung quanh giá trị trung bình của tổng thể, ngay cả với dữ liệu lệch:
means = sample_means(sessions, 40, 1000) # hàm (function) của bạn từ bài học Sample Means Vary
ax.hist(means, bins=12)Đó là định lý giới hạn trung tâm (central limit theorem). Định lý này giúp ta dự đoán các giá trị trung bình: sai số trung bình của một mô hình trên một tập dữ liệu kiểm tra (test set) cũng xấp xỉ phân phối chuẩn.
Thử thách
Trung bình6000 kích thước tệp trên ổ đĩa đám mây trong files (MB) có phân phối lệch phải: nhiều tài liệu, một vài video. Chương trình đọc kích thước mẫu; đoạn code khởi đầu có sample_means và hai biểu đồ.
- Tính 500 giá trị trung bình mẫu với kích thước đó.
- In trung bình trừ trung vị của các tệp, rồi đến các giá trị trung bình (2 chữ số thập phân).
- Vẽ biểu đồ tần suất của các tệp trên
axs[0]và của các giá trị trung bình trênaxs[1], đặtbins=12, rồi hiển thị.
Với một ổ đĩa khác và 60:
Files: mean - median = 25.28 MB
Sample means: mean - median = 0.55 MBSau đó, Coddy hiển thị từng biểu đồ. Khoảng cách gần 0 nghĩa là độ lệch đã biến mất.
Tự làm thử
import numpy as np
import matplotlib.pyplot as plt
size = int(input())
# Đừng thay đổi các dòng bên dưới: kích thước tính bằng MB của từng tệp trong ổ đĩa
rng = np.random.default_rng(21)
files = np.round(rng.random(6000) ** 4 * 300 + 5, 2)
# Hàm (function) của bạn trong Sample Means Vary: giá trị trung bình của count mẫu
def sample_means(data, size, count):
means = []
for i in range(count):
sample = rng.choice(data, size=size, replace=False)
means.append(sample.mean())
return np.array(means)
fig, axs = plt.subplots(1, 2)
axs[0].set_title("All Files")
axs[0].set_xlabel("File size (MB)")
axs[1].set_title("Sample Means")
axs[1].set_xlabel("Mean file size (MB)")
# Viết code bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Thống kê cho machine learning
1Giá trị trung tâm và độ phân tán
Giá trị trung bình và trung vịPhân vị và tứ phân vịPhương sai và độ lệch chuẩnMẫu hay tổng thể?Giá trị xuất hiện nhiều nhấtÔn tập: Thời gian giao hàng4Mẫu và tổng thể
Tổng thể và mẫuTrung bình mẫu biến thiênPhân phối mẫuMẫu lớn hơn, ít nhiễu hơnÔn tập: khảo sát một thị trấn2Các phân phối
Biểu đồ tần suất mật độHình dạng của dữ liệuĐường cong chuẩnQuy tắc 68-95-99,7Điểm ZÔn tập: Thời lượng pin3Xác suất qua mô phỏng
Xác suất dưới dạng tần suấtLuật số lớnTổng điểm khi gieo xúc xắcGiá trị kỳ vọngXác suất có điều kiệnÔn tập: Tỷ lệ thắng ở quầy xúc xắc6Mối quan hệ
Đọc biểu đồ phân tánTương quanMa trận tương quanBản đồ nhiệt tương quanTương quan không đồng nghĩa với quan hệ nhân quảÔn tập: Kem và mặt trờiTự luyện tập: Trình biên dịch Python online