Tính số đếm kỳ vọng
Ở các bài trước, bạn đã tính trung bình và phương sai của dữ liệu cua và thấy rằng chúng không bằng nhau. Trong bài này, bạn sẽ luyện tập một cách phân tích khác cho hiện tượng quá phân tán (overdispersion) bằng cách sử dụng trung bình đã tính và tính số đếm kỳ vọng cho một giá trị đếm nhất định, ví dụ số đếm bằng 0. Nói cách khác, với trung bình mẫu đã tính, ta kỳ vọng có bao nhiêu quan sát có số vệ tinh bằng 0 trong mẫu.
Hãy nhớ lại biểu đồ từ bộ dữ liệu crab nơi bạn có thể thấy rất nhiều số đếm bằng 0.

Nhắc lại rằng để tính số đếm kỳ vọng với một tham số cho trước, bạn có thể dùng phân phối Poisson được xác định bởi
$$ P(y)=\frac{\lambda^ye^{-\lambda}}{y!} $$
Bộ dữ liệu crab và giá trị trung bình đã tính sat_mean đã được nạp sẵn trong không gian làm việc.
Bài tập này là một phần của khóa học
Mô hình Tuyến tính Tổng quát (GLM) trong Python
Hướng dẫn bài tập
- Dùng trung bình đã tính
sat_meanvà số đếm bằng 0 \(y = 0\) để tính số đếm kỳ vọng bằng 0. Dùngmathfactorial(). - Tính số quan sát có số đếm bằng 0 trong biến
satbằngsum()và tổng số quan sát trong mẫu bằnglen(). - In tỷ lệ giữa số quan sát có số đếm bằng 0 thực tế và tổng số quan sát.
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.
# Expected number of zero counts
exp_zero_cnt = ((____**____)*np.____(-____))/math.____(____)
# Print exp_zero_counts
print('Expected zero counts given mean of ', round(____,3),
'is ', round(____,3)*100)
# Number of zero counts in sat variable
actual_zero_cnt = sum(____[____] == 0)
# Number of observations in crab dataset
num_obs = len(____)
# Print the percentage of zero count observations in the sample
print('Actual zero counts in the sample: ', round(____ / ____,3)*100)