ตัวประมาณค่าแบบไม่มาตรฐาน
ในแบบฝึกหัดที่ผ่านมา คุณได้รันการ bootstrap แบบพื้นฐาน ซึ่งตอนนี้เราจะปรับให้รองรับตัวประมาณค่าที่ซับซ้อนยิ่งขึ้น
สมมติว่ากำลังศึกษาข้อมูลสุขภาพของนักเรียน โดยมีข้อมูลส่วนสูงและน้ำหนักของนักเรียน 1,000 คน และต้องการหาค่ามัธยฐานของส่วนสูง รวมถึงค่าสหสัมพันธ์ระหว่างส่วนสูงกับน้ำหนัก พร้อมทั้งช่วงความเชื่อมั่น 95% ของทั้งสองค่า มาใช้การ bootstrapping กัน
ตรวจสอบ DataFrame df ของ pandas ที่เก็บข้อมูลส่วนสูงและน้ำหนักของนักเรียน 1,000 คน จากข้อมูลนี้ ให้คำนวณช่วงความเชื่อมั่น 95% สำหรับทั้ง ค่ามัธยฐานของส่วนสูง และ ค่าสหสัมพันธ์ ระหว่างส่วนสูงกับน้ำหนัก
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจำลองทางสถิติด้วย Python
คำแนะนำการฝึกหัด
- ใช้เมธอด
.sample()กับdfเพื่อสุ่มตัวอย่างข้อมูลแบบมีการคืนค่า แล้วกำหนดผลลัพธ์ให้กับtmp_df - สำหรับแต่ละชุดข้อมูลที่สร้างขึ้นใน
tmp_dfให้คำนวณค่ามัธยฐานของส่วนสูงและค่าสหสัมพันธ์ระหว่างส่วนสูงกับน้ำหนัก โดยใช้.median()และ.corr() - เพิ่มค่ามัธยฐานของส่วนสูงลงใน
height_mediansและค่าสหสัมพันธ์ลงในhw_corr - สุดท้าย คำนวณช่วงความเชื่อมั่น 95% (
[2.5, 97.5]) สำหรับแต่ละค่าข้างต้นโดยใช้np.percentile()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Sample with replacement and calculate quantities of interest
sims, data_size, height_medians, hw_corr = 1000, df.shape[0], [], []
for i in range(sims):
tmp_df = ____(n=____, replace=____)
height_medians.append(____)
hw_corr.append(____)
# Calculate confidence intervals
height_median_ci = np.____
height_weight_corr_ci = np.____
print("Height Median CI = {} \nHeight Weight Correlation CI = {}".format( height_median_ci, height_weight_corr_ci))