เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การคำนวณ ECDF

ในแบบฝึกหัดนี้ จะได้เขียนฟังก์ชันที่รับอาร์เรย์ข้อมูล 1 มิติเป็น input แล้วคืนค่า x และ y ของ ECDF ฟังก์ชันนี้จะถูกใช้ซ้ำหลายครั้งตลอดทั้งคอร์สนี้และคอร์สต่อเนื่อง ECDF ถือเป็นหนึ่งในกราฟที่สำคัญที่สุดในการวิเคราะห์ทางสถิติ สามารถเขียนฟังก์ชันของตัวเองในชื่อ foo(x,y) ตามโครงสร้างด้านล่างได้เลย:

def foo(a,b):
    """State what function does here"""
    # Computation performed here
    return x, y

ฟังก์ชัน foo() ข้างต้นรับอาร์กิวเมนต์สองตัวคือ a และ b และคืนค่าสองตัวคือ x และ y ส่วนหัวฟังก์ชัน def foo(a,b): ประกอบด้วย signature ของฟังก์ชันคือ foo(a,b) ซึ่งได้แก่ชื่อฟังก์ชันและพารามิเตอร์ของมัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Statistical Thinking in Python (ตอนที่ 1)

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดฟังก์ชันที่มี signature เป็น ecdf(data) โดยภายในฟังก์ชัน ให้ดำเนินการดังนี้
    • คำนวณจำนวนจุดข้อมูล n โดยใช้ฟังก์ชัน len()
    • ค่า \(x\) คือข้อมูลที่เรียงลำดับแล้ว ใช้ฟังก์ชัน np.sort() ในการเรียงลำดับ
    • ค่า \(y\) ของ ECDF จะเริ่มจาก 1/n ไปจนถึง 1 โดยมีช่วงห่างเท่ากัน สร้างได้โดยใช้ np.arange() แต่จำไว้ว่าค่าสุดท้ายใน np.arange() จะไม่ถูกรวมอยู่ด้วย ดังนั้นให้กำหนดช่วงตั้งแต่ 1 ถึง n+1 แล้วหารผลลัพธ์ด้วย n
    • ให้ฟังก์ชันคืนค่า x และ y

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

def ecdf(data):
    """Compute ECDF for a one-dimensional array of measurements."""
    # Number of data points: n
    ____ = ____(____)

    # x-data for the ECDF: x
    ____ = ____(____)

    # y-data for the ECDF: y
    ____ = ____(____, ____) / n

    return x, y
แก้ไขและรันโค้ด