So sánh dữ liệu mô phỏng và dữ liệu lịch sử
Một mô phỏng tốt nên cho kết quả tương tự dữ liệu lịch sử. Điều đó có đúng với mô phỏng trong video không? Trong bài tập này, bạn sẽ khám phá một cách để kiểm tra kết quả mô phỏng và tìm câu trả lời!
Trước hết, bạn sẽ thực hiện mô phỏng bằng phân phối chuẩn đa biến, sử dụng vector trung bình và ma trận hiệp phương sai của dia. Sau đó, bạn sẽ kiểm tra giá trị trung bình của cả dữ liệu lịch sử và dữ liệu mô phỏng. Chúng có tương tự nhau không?
Bộ dữ liệu tiểu đường đã được nạp dưới dạng DataFrame dia, và các thư viện sau đã được nhập sẵn: pandas là pd, numpy là np, và scipy.stats là st.
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
Hướng dẫn bài tập
- Thực hiện mô phỏng 10.000 lần bằng phân phối chuẩn đa biến, sử dụng vector trung bình và ma trận hiệp phương sai của
dia. - Dùng hàm
.mean()trong pandas để tính giá trị trung bình của các cộtbmivàtctrong bộ dữ liệu lịch sửdiavà kết quả mô phỏngbmivàtctừdf_resultsđể đánh giá xem chúng có tương tự nhau không. - Tương tự, dùng
.cov()của pandas để tính ma trận hiệp phương sai của các cộtbmivàtctrongdiavà kết quả mô phỏngbmivàtctừdf_resultsđể đánh giá mức độ tương 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.
cov_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].cov()
mean_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].mean()
# Complete the code to perform the simulation
simulation_results = st.multivariate_normal.rvs(____)
df_results = pd.DataFrame(simulation_results,columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])
# Calculate bmi and tc means for the historical and simulated results
print(dia[["bmi","tc"]].____)
print(____)
# Calculate bmi and tc covariances for the historical and simulated results
print(____)
print(____)