เปรียบเทียบข้อมูลที่จำลองกับข้อมูลในอดีต
การจำลองที่ดีควรให้ผลลัพธ์ใกล้เคียงกับข้อมูลในอดีต ในวิดีโอที่ผ่านมาเป็นเช่นนั้นไหม? แบบฝึกหัดนี้จะพาไปสำรวจวิธีหนึ่งในการตรวจสอบผลลัพธ์ของการจำลอง
เริ่มต้นด้วยการจำลองโดยใช้การแจกแจงปกติหลายตัวแปร (multivariate normal distribution) พร้อมกับค่าเฉลี่ยและเมทริกซ์โคแวเรียนซ์ของ dia จากนั้นตรวจสอบค่าเฉลี่ยของข้อมูลในอดีตและข้อมูลที่จำลองได้ว่าใกล้เคียงกันหรือไม่
ชุดข้อมูลโรคเบาหวานถูกโหลดเป็น DataFrame ชื่อ dia และมีการนำเข้าไลบรารีต่อไปนี้ให้แล้ว: pandas เป็น pd, numpy เป็น np และ scipy.stats เป็น st
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Monte Carlo Simulations ใน Python
คำแนะนำการฝึกหัด
- จำลองข้อมูล 10,000 ครั้งโดยใช้การแจกแจงปกติหลายตัวแปร พร้อมกับค่าเฉลี่ยและเมทริกซ์โคแวเรียนซ์ของ
dia - ใช้ฟังก์ชัน
.mean()ใน pandas คำนวณค่าเฉลี่ยของคอลัมน์bmiและtcจากชุดข้อมูลในอดีตdiaและจากผลลัพธ์bmiกับtcที่จำลองได้ในdf_resultsเพื่อตรวจสอบว่าใกล้เคียงกันหรือไม่ - ในทำนองเดียวกัน ใช้
.cov()จาก pandas คำนวณเมทริกซ์โคแวเรียนซ์ของคอลัมน์bmiและtcจากdiaและจากผลลัพธ์bmiกับtcที่จำลองได้ในdf_resultsเพื่อตรวจสอบว่าใกล้เคียงกันหรือไม่
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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(____)