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

วิธีการทางกราฟิกสำหรับการประเมินความเป็นปกติ

จากวิดีโอ คุณได้เรียนรู้วิธีสร้างฮิสโตแกรมที่มี 20 ช่วงเพื่อแสดงความหนาแน่นของความน่าจะเป็นของข้อมูล FTSE รวมถึงการเพิ่ม การแจกแจงแบบปกติ ลงในกราฟในรูปเส้นสีแดง:

> hist(ftse, nclass = 20, probability = TRUE)
> lines(ftse, dnorm(ftse, mean = mu, sd = sigma), col = "red")

ดังที่เห็น dnorm(x, mean, sd) คำนวณฟังก์ชันความหนาแน่นของความน่าจะเป็น (PDF) ของข้อมูล x โดยใช้ค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของกลุ่มตัวอย่าง ซึ่งเรียกวิธีนี้ว่า method-of-moments

นอกจากนี้ หากต้องการประมาณความหนาแน่นของข้อมูล x ให้ใช้ density(x) ซึ่งจะสร้างสิ่งที่เรียกว่า kernel-density estimate (KDE) โดยใช้วิธีการแบบ non-parametric ที่ไม่ตั้งสมมติฐานเกี่ยวกับการแจกแจงพื้นฐาน

กราฟต่าง ๆ ชี้ให้เห็นว่าข้อมูลมีหางที่หนักกว่าการแจกแจงแบบปกติ อย่างไรก็ตาม คุณจะได้เรียนรู้การทดสอบทางกราฟิกและตัวเลขที่ดีกว่านี้ในแบบฝึกหัดถัดไป

ในแบบฝึกหัดนี้ จะฟิตการแจกแจงแบบปกติให้กับ log-returns ของดัชนี Dow Jones ในช่วงปี 2008-2009 และเปรียบเทียบข้อมูลกับการแจกแจงที่ฟิตได้โดยใช้ฮิสโตแกรมและกราฟความหนาแน่น โดยออบเจกต์ djx ที่บรรจุข้อมูล Dow Jones ได้ถูกโหลดเข้า workspace ของคุณแล้ว

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

Quantitative Risk Management in R

ดูคอร์ส

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

  • คำนวณค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐาน (sd()) ของข้อมูล djx แล้วกำหนดให้กับ mu และ sigma ตามลำดับ
  • พล็อตฮิสโตแกรมของ djx ที่มี 20 ช่วง เพื่อแสดงความหนาแน่นของความน่าจะเป็นของข้อมูล
  • กรอกฟังก์ชัน lines() และ dnorm() เพื่อเพิ่มเส้นโค้งความหนาแน่นแบบปกติของ djx เป็นเส้นสีแดงลงในฮิสโตแกรม
  • พล็อต kernel-density estimate ของ djx โดยใช้ density()
  • ใช้คำสั่ง lines() เดิมเพื่อเพิ่มเส้นโค้งความหนาแน่นแบบปกติของ djx เป็นเส้นสีแดงลงใน KDE

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

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

# Calculate average and standard deviation of djx
mu <- ___
sigma <- ___

# Plot histogram of djx
___(___)

# Add the normal density as a red line to histogram
lines(___, dnorm(___), col = ___)

# Plot non-parametric KDE of djx
___(___)

# Add the normal density as red line to KDE
lines(___, dnorm(___), col = ___)
แก้ไขและรันโค้ด