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

เปรียบเทียบ RMSE และ Root-Mean-Squared Relative Error

ในแบบฝึกหัดนี้ จะแสดงให้เห็นว่าการแปลงผลลัพธ์ทางการเงินด้วย log ก่อนสร้างโมเดลช่วยปรับปรุง mean relative error (แต่จะเพิ่มค่า RMSE) เมื่อเทียบกับการสร้างโมเดลจากผลลัพธ์โดยตรง โดยจะเปรียบเทียบผลลัพธ์ของ model.log จากแบบฝึกหัดก่อนหน้ากับโมเดล model.abs ที่ fit ค่า income โดยตรง

ชุดข้อมูล income_train และ income_test ถูกโหลดไว้แล้ว พร้อมกับโมเดล model.log

นอกจากนี้ยังมี:

  • model.abs: โมเดลที่ fit ค่า income กับตัวแปร input โดยตรง โดยใช้สูตร

    Income2005 ~ Arith + Word + Parag + Math + AFQT

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

Supervised Learning ใน R: การถดถอย

ดูคอร์ส

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

  • เติมช่องว่างเพื่อเพิ่มค่าพยากรณ์จากแต่ละโมเดลลงใน income_test
    • อย่าลืมหาค่า exponent ของค่าพยากรณ์จาก model.log เพื่อยกเลิก log transform!
  • เติมช่องว่างเพื่อใช้ pivot_longer() กับค่าพยากรณ์ และคำนวณค่า residual และค่าความคลาดเคลื่อนสัมพัทธ์
  • เติมช่องว่างเพื่อคำนวณ RMSE และ relative RMSE ของค่าพยากรณ์
    • โมเดลใดมีค่าความคลาดเคลื่อนเชิงสัมบูรณ์มากกว่า และโมเดลใดมีค่าความคลาดเคลื่อนสัมพัทธ์มากกว่า?

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

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

# fmla.abs is available
fmla.abs

# model.abs is available
summary(model.abs)

# Add predictions to the test set
income_test <- income_test %>%
  mutate(pred.absmodel = ___(___, income_test),        # predictions from model.abs
         pred.logmodel = ___(___(___, income_test)))   # predictions from model.log

# pivot_longer the predictions and calculate residuals and relative error
income_long <- income_test %>% 
  pivot_longer(names_to = 'modeltype', values_to = 'pred', cols=c('pred.absmodel', 'pred.logmodel')) %>%
  mutate(residual = ___,   # residuals
         relerr   = ___)   # relative error

# Calculate RMSE and relative RMSE and compare
income_long %>% 
  group_by(modeltype) %>%      # group by modeltype
  summarize(rmse     = ___,    # RMSE
            rmse.rel = ___)    # Root mean squared relative error
แก้ไขและรันโค้ด