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

การคำนวณค่าของ ECDF อย่างเป็นทางการ

เพื่อทำการทดสอบ Kolmogorov-Smirnov เราจำเป็นต้องคำนวณค่าของ ECDF อย่างเป็นทางการที่จุดใดก็ได้ กล่าวคือ ต้องมีฟังก์ชัน ecdf_formal(x, data) ที่คืนค่าของ ECDF อย่างเป็นทางการที่ได้จากชุดข้อมูล data สำหรับแต่ละค่าในอาร์เรย์ x มีสองฟังก์ชันที่ทำงานได้ถูกต้อง และหนึ่งฟังก์ชันที่ไม่ถูกต้อง ในสองฟังก์ชันที่คำนวณได้ถูกต้อง มีหนึ่งฟังก์ชันที่เร็วกว่า ให้ระบุว่าแต่ละฟังก์ชันเป็นอย่างไร

ทบทวนนิยามอีกครั้ง: ECDF นิยามอย่างเป็นทางการว่า ECDF(x) = (จำนวนตัวอย่างที่ ≤ x) / (จำนวนตัวอย่างทั้งหมด) และอาจลองดู doc string ของ np.searchsorted() ประกอบ

a)

def ecdf_formal(x, data):
    return np.searchsorted(np.sort(data), x) / len(data)

b)

def ecdf_formal(x, data):
    return np.searchsorted(np.sort(data), x, side='right') / len(data)

c)

def ecdf_formal(x, data):
    output = np.empty(len(x))

    data = np.sort(data)

    for i, x_val in x:
        j = 0
        while j < len(data) and x_val >= data[j]:
            j += 1

        output[i] = j

    return output / len(data)

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

กรณีศึกษาด้านการคิดเชิงสถิติ

ดูคอร์ส

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

เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา

เริ่มแบบฝึกหัด