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

การหาค่า Likelihood สูงสุด ส่วนที่ 1

ก่อนหน้านี้ เราเลือกใช้ค่าเฉลี่ยของตัวอย่าง (mean) เป็นค่าประมาณของพารามิเตอร์โมเดลประชากร mu แต่จะรู้ได้อย่างไรว่าค่าเฉลี่ยของตัวอย่างเป็นตัวประมาณที่ดีที่สุด? คำถามนี้ตอบได้ไม่ง่ายนัก จึงแบ่งออกเป็น 2 ส่วน

ในส่วนที่ 1 จะใช้แนวทางเชิงคำนวณเพื่อหาค่า log-likelihood ของค่าประมาณที่กำหนด จากนั้นในส่วนที่ 2 จะเห็นว่าเมื่อคำนวณ log-likelihood สำหรับค่าประมาณที่เป็นไปได้หลายค่า จะมีค่าหนึ่งที่ให้ likelihood สูงสุด

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

Introduction to Linear Modeling in Python

ดูคอร์ส

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

  • คำนวณ mean() และ std() ของ sample_distances ที่โหลดไว้แล้ว เพื่อใช้เป็นค่าประมาณของพารามิเตอร์โมเดลความน่าจะเป็น
  • คำนวณความน่าจะเป็นสำหรับแต่ละ distance โดยใช้ gaussian_model() ที่สร้างจาก sample_mean และ sample_stdev
  • คำนวณ loglikelihood จาก sum() ของ log() ของความน่าจะเป็น probs

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

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

# Compute sample mean and stdev, for use as model parameter value guesses
mu_guess = np.____(sample_distances)
sigma_guess = np.____(sample_distances)

# For each sample distance, compute the probability modeled by the parameter guesses
probs = np.zeros(len(sample_distances))
for n, distance in enumerate(sample_distances):
    probs[n] = gaussian_model(____, mu=____, sigma=____)

# Compute and print the log-likelihood as the sum() of the log() of the probabilities
loglikelihood = np.____(np.____(probs))
print('For guesses mu={:0.2f} and sigma={:0.2f}, the loglikelihood={:0.2f}'.format(mu_guess, sigma_guess, ____))
แก้ไขและรันโค้ด