วิธีการทางกราฟิกสำหรับการประเมินความเป็นปกติ
จากวิดีโอ คุณได้เรียนรู้วิธีสร้างฮิสโตแกรมที่มี 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 = ___)