พื้นหลังการสร้างโมเดลเพื่ออธิบาย

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

Albert Y. Kim

Assistant Professor of Statistical and Data Sciences

ภาพรวมคอร์ส

  1. บทนำการสร้างโมเดล: ทฤษฎีและคำศัพท์
  2. การถดถอย:
    • การถดถอยเชิงเส้นอย่างง่าย
    • การถดถอยพหุ
  3. การประเมินโมเดล
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

สูตรกรอบการสร้างโมเดลทั่วไป

$$

$$y = f(\vec{x}) + \epsilon$$

ที่ซึ่ง:

  • $y$: ตัวแปรผลลัพธ์ที่สนใจ
  • $\vec{x}$: ตัวแปรอธิบาย/ตัวแปรทำนาย
  • $f()$: ฟังก์ชันความสัมพันธ์ระหว่าง $y$ กับ $\vec{x}$ หรือที่เรียกว่า สัญญาณ
  • $\epsilon$: องค์ประกอบความคลาดเคลื่อนแบบไม่เป็นระบบ หรือที่เรียกว่า สัญญาณรบกวน
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

สองสถานการณ์ของการสร้างโมเดล

การสร้างโมเดลเพื่อ:

  • การอธิบาย: $\vec{x}$ คือตัวแปร อธิบาย
  • การทำนาย: $\vec{x}$ คือตัวแปร ทำนาย
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

ตัวอย่างการสร้างโมเดลเพื่ออธิบาย

การศึกษาของมหาวิทยาลัยเท็กซัสออสตินเกี่ยวกับคะแนนประเมินการสอน (ดูได้ที่ openintro.org)

คำถาม: เราสามารถอธิบายความแตกต่างของคะแนนประเมินการสอนจากคุณลักษณะต่าง ๆ ของอาจารย์ได้หรือไม่?

ตัวแปร:

  • $y$: คะแนนการสอนเฉลี่ย score จากการประเมินของนักศึกษา
  • $\vec{x}$: คุณลักษณะต่าง ๆ เช่น rank, gender, age, และ bty_avg
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

ตัวอย่างการสร้างโมเดลเพื่ออธิบาย

จากแพ็กเกจ moderndive สำหรับ ModernDive.com:

library(dplyr)
library(moderndive)
glimpse(evals)
Observations: 463
Variables: 13
$ ID           <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10...
$ score        <dbl> 4.7, 4.1, 3.9, 4.8, 4.6, 4.3...
$ age          <int> 36, 36, 36, 36, 59, 59, 59, 51...
$ bty_avg      <dbl> 5.000, 5.000, 5.000, 5.000...
$ gender       <fct> female, female, female, female...
...
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

การวิเคราะห์ข้อมูลเชิงสำรวจ

ขั้นตอนพื้นฐาน 3 ขั้นของการวิเคราะห์ข้อมูลเชิงสำรวจ (EDA):

  1. ดูข้อมูลเบื้องต้น
  2. สร้างการแสดงผลด้วยภาพ
  3. คำนวณสถิติสรุป
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

การวิเคราะห์ข้อมูลเชิงสำรวจ

library(ggplot2)
ggplot(evals, aes(x = score)) +
  geom_histogram(binwidth = 0.25) + 
  labs(x = "teaching score", y = "count")
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

การวิเคราะห์ข้อมูลเชิงสำรวจ

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

การวิเคราะห์ข้อมูลเชิงสำรวจ

# Compute mean, median, and standard deviation
evals %>%
  summarize(mean_score = mean(score), 
            median_score = median(score),
            sd_score = sd(score))
# A tibble: 1 x 3
  mean_score median_score sd_score
       <dbl>        <dbl>    <dbl>
1       4.17          4.3    0.544
การสร้างโมเดลด้วยข้อมูลใน Tidyverse

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

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

Preparing Video For Download...