อธิบายคะแนนการสอนด้วยอายุ

การสร้างโมเดลด้วยข้อมูลใน Tidyverse

Albert Y. Kim

Assistant Professor of Statistical and Data Sciences

ทบทวน: การสำรวจข้อมูลด้วยภาพ

การสร้างโมเดลด้วยข้อมูลใน Tidyverse

เส้นถดถอย

# Code to create scatterplot
ggplot(evals, aes(x = age, y = score)) +
  geom_point() + 
  labs(x = "age", y = "score", 
       title = "Teaching score over age")

# Add a "best-fitting" line ggplot(evals, aes(x = age, y = score)) + geom_point() + labs(x = "age", y = "score", title = "Teaching score over age") + geom_smooth(method = "lm", se = FALSE)
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

เส้นถดถอย

การสร้างโมเดลด้วยข้อมูลใน Tidyverse

ทบทวน: การสร้างโมเดลโดยทั่วไป

  • ความจริง: โมเดลที่สมมติคือ $y = f(\vec{x}) + \epsilon$
  • เป้าหมาย: เมื่อกำหนด $y$ และ $\vec{x}$ ให้ฟิตโมเดล $\hat{f}(\vec{x})$ ที่ ประมาณค่า $f(\vec{x})$ โดยที่ $\hat{y} = \hat{f}(\vec{x})$ คือค่า fitted/predicted สำหรับค่า observed $y$
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

การสร้างโมเดลด้วย linear regression พื้นฐาน

  • ความจริง:
    • สมมติว่า $f(x) = \beta_0 + \beta_1 \cdot x$
    • ค่า observed $y = f(x) + \epsilon = \beta_0 + \beta_1 \cdot x + \epsilon$
  • Fitted:
    • สมมติว่า $\hat{f}(x) = \hat{\beta}_0 + \hat{\beta}_1 \cdot x$
    • ค่า fitted/predicted $\hat{y} = \hat{f}(x) = \hat{\beta}_0 + \hat{\beta}_1 \cdot x$
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

กลับสู่เส้นถดถอย

สมการของเส้นถดถอยสีน้ำเงิน: $\hat{y} = \hat{f}(\vec{x}) = \hat{\beta}_0 + \hat{\beta}_1 \cdot x$

การสร้างโมเดลด้วยข้อมูลใน Tidyverse

คำนวณความชันและจุดตัดแกนของเส้นถดถอย

ใช้รูปแบบ formula y ~ x:

# Fit regression model using formula of form: y ~ x
model_score_1 <- lm(score ~ age, data = evals)

# Output contents model_score_1
Call:
lm(formula = score ~ age, data = evals)

Coefficients:
(Intercept)          age  
   4.461932    -0.005938
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

คำนวณความชันและจุดตัดแกนของเส้นถดถอย

ใช้รูปแบบ formula y ~ x ซึ่งสอดคล้องกับ $\hat{y}= \hat{f}(\vec{x})$

# Fit regression model using formula of form: y ~ x
model_score_1 <- lm(score ~ age, data = evals)

# Output regression table using wrapper function:
get_regression_table(model_score_1)
# A tibble: 2 x 7
  term      estimate std_error statistic p_value...
  <chr>        <dbl>     <dbl>     <dbl>   <dbl>... 
1 intercept    4.46      0.127     35.2    0...
2 age         -0.006     0.003     -2.31   0.021...
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

มาฝึกกันเถอะ!

การสร้างโมเดลด้วยข้อมูลใน Tidyverse

Preparing Video For Download...