Độ biến thiên của thống kê mẫu
Nếu bạn tạo một mẫu với size=1000 bằng cách rút bấy nhiêu điểm từ một population, rồi tính một thống kê mẫu, như mean, bạn sẽ thu được một giá trị duy nhất tóm tắt chính mẫu đó.
Nếu bạn lặp lại quy trình lấy mẫu đó num_samples=100 lần, bạn sẽ có 100 mẫu. Việc tính thống kê mẫu, như mean, cho từng mẫu khác nhau sẽ tạo ra một phân phối các giá trị của mean. Mục tiêu là tính mean của các mean và standard deviation của các mean.
Tại đây bạn sẽ dùng sẵn population, num_samples, và num_pts, và lưu ý rằng các mảng means và deviations đã được khởi tạo bằng không để làm “container” cho vòng lặp for.
Bài tập này là một phần của khóa học
Nhập môn Mô hình tuyến tính với Python
Hướng dẫn bài tập
- Với mỗi lần trong
num_samples=100, tạo một mẫu, rồi tính và lưu các thống kê mẫu. - Mỗi vòng lặp, tạo
samplebằngnp.random.choice()để rút ngẫu nhiên1000điểm từ population. - Mỗi vòng lặp, tính và lưu các giá trị
sample.mean()vàsample.std()để lấy mean và standard deviation của mẫu. - Với mảng
meansvà mảngdeviations, hãy tính cả mean và standard deviation của từng mảng, rồi in kết quả.
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.
# Initialize two arrays of zeros to be used as containers
means = np.zeros(num_samples)
stdevs = np.zeros(num_samples)
# For each iteration, compute and store the sample mean and sample stdev
for ns in range(num_samples):
sample = np.____.choice(population, num_pts)
means[ns] = sample.____()
stdevs[ns] = sample.____()
# Compute and print the mean() and std() for the sample statistic distributions
print("Means: center={:>6.2f}, spread={:>6.2f}".format(means.mean(), means.std()))
print("Stdevs: center={:>6.2f}, spread={:>6.2f}".format(stdevs.____(), stdevs.____()))