בפרק זה נלמד מעט מהתיאוריה העומדת מאחורי מידול סטטיסטי. למרות שנושא זה הוא מתמטי בבסיסו, הפרק אינו נכנס לעומק התיאורטי, אלא מנסה להנגיש את הנושא לקהל רחב.

רקע קל בקורס בסטטיסטיקה או רגרסיה יסייע בהבנת הפרק. כמו כן, ספר מומלץ שיכול ללוות את הפרק הוא:

Gareth J., Witten D., Hastie T., and Tibshirani R., An Introduction to Statistical Learning with Applications in R, Springer, 7th printing, 2017. Online access: www.statlearning.com, (feteched October 2018).

מידול סטטיסטי - רקע תיאורתי

ניתן לחלק בעיות בלמידה סטטיסטית לשני סוגים:

בפרק זה נתמקד בבעיות מפוקחות. בבעיה מפוקחת, אנחנו ניצבים בפני סט נתונים שכולל משתנים מסבירים (שנקראים גם features או input) ומשתנה מטרה (output או dependent variable). המטרה שלנו היא להתאים “מודל”, תיאור מתמטי שיעשה שימוש במשתנים המסבירים ויחזה את ערכו של המשתנה התלוי.

בהמשך הספר, נדון גם בבעיות בלתי מפוקחות: בעיות שבהן אין משתנה מטרה, ואנו נדרשים להפיק מידע (או לייצר תיאור מתמטי) שיסביר את הנתונים, בלי שיש לנו משתנה מטרה מסוים.

בחזרה לבעיות מפוקחות (Supervised learning). באופן כללי, בעיית מידול ניתנת לניסוח כך:

\[Y=f(X)+\epsilon\]

המטרה היא לאמוד את הפונקציה \(f\) כאשר אנחנו משתמשים במשתנים המסבירים ובתצפיות \(X\), ובערכים הנצפים של משתנה המטרה \(Y\). כל זה תוך שאנחנו מתמודדים עם שגיאה סטטיסטית \(\epsilon\).

בבעיות חיזוי, אנחנו לא בהכרח נצליח למצוא את הפונקציה \(f\), אך המטרה היא למצוא פונקציה המקרבת אותה, ועוזרת לנו לחזות את ערך המטרה עבור תצפיות חדשות.

\[\hat{Y}=\hat{f}\left(X\right)\]

בבעיות חיזוי יש שתי סוגי שגיאות: שגיאת מודל הניתנת לצמצום, ושגיאה אקראית. אנחנו תמיד ננסה לטפל בשגיאת המודל (לשפר את המודל כדי לצמצם שגיאה זו), אך בשגיאה האקראית יותר קשה לטפל (לפעמים צריך משתנים נוספים בשביל להסביר את השגיאה).

\[E\left(Y-\hat{Y}\right)^2 = E\left[f(X)+\epsilon-\hat{f}(X)\right]^2 = \\ E\left[f(X)-\hat{f}(X)\right]^2 + 2E\left[f(X)-\hat{f}(X)\right]E\left[\epsilon\right] + E\epsilon^2=\\ E\left[f(X)-\hat{f}(X)\right]^2 + \text{Var}(\epsilon)\]

במילים אחרות, כל עוד ישנה שגיאה סטטיסטית, אז השונות שלה תשפיע על מידת הדיוק של התחזית שלנו, ושונות זו אינה ניתנת לצמצום.

התרשים הבא מציג מודל רגרסיה לינארית המציג רוחב של עלי כותרת כפונקציה של אורכם של עלי הכותרת.

האם לדעתכם המודל נותן התאמה “טובה”?

library(tidyverse)

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width)) + 
  geom_point(aes(color = Species)) + stat_smooth(method = "lm", color = "black")

לרוב, העבודה של התאמת מודל תידרוש הרבה “ניסוי וטעיה”, הפעלת חשיבה, השוואות, והמחשה ויזואלית. לדוגמה, המודל הקודם השתמש במשתנה אחד בלבד (Sepal.Length) כדי להסביר את Sepal.Width, אבל במקרה זה ייתכן ששימוש ביותר ממשתנה אחד (או לחילופין שימוש ביותר ממודל אחד), ישיג חיזוי טוב יותר. המשתנה שישפר את המודל הוא סוג הצמח.

ggplot(iris, aes(x=Sepal.Length, y=Sepal.Width, color = Species)) + 
  geom_point() + stat_smooth(method = "lm")

בעיות רגרסיה למול בעיות סיווג (Classification)

ניתן לחלק בעיות חיזוי לפי שני סוגים:

הסקה סטטיסטית לעומת חיזוי

הצורך במודלים סטטיסטיים יכול להתבטא בשני אופנים שונים.

הסקה סטטיסטית

הסקה סטטיסטית משמשת אותנו כדי לקשור בין משתנים שונים. לדוגמה להסיק שמשתנה מסוים נמצא בקשר חיובי עם משתנה אחר, או להסיק שלמשתנה מסוים במודל יש השפעה מובהקת על משתנה המטרה. למשל, בדוגמה של הפרחים אנחנו יכולים להשתמש ברגרסיה לינארית כדי להסיק על הקשר שבין אורך עלי כותרת ורוחבם, עבור המינים השונים.

iris %>% 
  split(.$Species) %>% 
  map( ~ summary(lm(formula = Sepal.Width ~ Sepal.Length, data = .x)))
## $setosa
## 
## Call:
## lm(formula = Sepal.Width ~ Sepal.Length, data = .x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.72394 -0.18273 -0.00306  0.15738  0.51709 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   -0.5694     0.5217  -1.091    0.281    
## Sepal.Length   0.7985     0.1040   7.681 6.71e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2565 on 48 degrees of freedom
## Multiple R-squared:  0.5514, Adjusted R-squared:  0.542 
## F-statistic: 58.99 on 1 and 48 DF,  p-value: 6.71e-10
## 
## 
## $versicolor
## 
## Call:
## lm(formula = Sepal.Width ~ Sepal.Length, data = .x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.65441 -0.12958 -0.00849  0.15137  0.60954 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.87215    0.44466   1.961   0.0556 .  
## Sepal.Length  0.31972    0.07463   4.284 8.77e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2697 on 48 degrees of freedom
## Multiple R-squared:  0.2766, Adjusted R-squared:  0.2615 
## F-statistic: 18.35 on 1 and 48 DF,  p-value: 8.772e-05
## 
## 
## $virginica
## 
## Call:
## lm(formula = Sepal.Width ~ Sepal.Length, data = .x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.63765 -0.18801  0.00438  0.16778  0.56814 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    1.4463     0.4309   3.357 0.001549 ** 
## Sepal.Length   0.2319     0.0651   3.562 0.000843 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2898 on 48 degrees of freedom
## Multiple R-squared:  0.2091, Adjusted R-squared:  0.1926 
## F-statistic: 12.69 on 1 and 48 DF,  p-value: 0.0008435

במין setosa המקדם הוא חיובי (הרוחב של עלה הכותרת הוא כ-79.85% מהאורך). לעומת זאת במין versicolor, המקדם הוא חיובי אך קטן יותר (23.19%), אך ישנו גם “חותך” (עלה בעל אורך קטן מאוד, הרוחב עדיין יהיה לפחות 1.44).

הסטטיסטיקה ה“קלאסית” (וגם דיווחים כיום של תחומי מדעי החברה) מבוססים הרבה על הסקה סטטיסטית, משום שהם משמשים לדיווח על תופעות סוציולוגיות והתנהגותיות.

חיזוי

לעומת זאת, בחיזוי אנחנו מנסים לבנות מודל שניתן יהיה להשתמש בו לצרכים עתידיים או לתצפיות עבורן איננו יודעים מה ערך המטרה. למשל בקובץ הנתונים של Telco אותו ראינו בפרקים הקודמים ישנו דיווח על נטישה של לקוחות. על ידי התאמת מודל נטישה יכולה החברה בכל חודש לבחון מיהם הלקוחות בעלי הסבירות הגבוהה ביותר לנטישה, וליזום פעילות מונעת מולם.


תרגיל - איפיון בעיות

לכל אחת מהבעיות הבאות, תאר את:

  • גודל המדגם (\(n\))
  • מספר המשתנים (\(p\)), ופירוט מהם המשתנים
  • האם הבעיה היא בעיה מפוקחת או בלתי-מפוקחת (Supervised or Unsupervised learning)
  • מהו משתנה המטרה (המשתנה התלוי) \(y\) (במידה והבעיה מפוקחת)
  • האם העניין בבעיה הוא הסקה סטטיסטית או חיזוי?

להלן הבעיות:

  1. הלשכה המרכזית לסטטיסטיקה רוצה לבחון מה הופך משרדי ממשלה לאפקטיביים. לצורך כך, אספה הלשכה נתונים על ניצול תקציבי של המשרדים ב-5 השנים האחרונות. בכל משרד יש נתון על התקציב שאושר, תוספות תקציביות שאושרו, והתקציב שנוצל בפועל. כמו כן, יש את מספר ההחלטות שהתקבלו, ומספר ההחלטות שיושמו מתוכן. נוסף על כך ישנו ותק של השרים שכיהנו בכל אחת מהשנים במשרדים, ומספר המנדטים של המפלגה של השר שעומד בראש המשרד. הניחו שישנם 30 משרדי ממשלה.
  2. אתר להזמנת מלונות מעוניין לסווג את הלקוחות במאגר הנתונים שלו למספר פלחים (סגמנטים), וללמוד את המאפיינים של פלחים אלו, כדי שכאשר מגיע משתמש חדש ומזין נתונים דמוגרפיים, האתר ידע לשייך אותו לפלח מסוים, ולהציע לו חופשות הרלוונטיות לו. הנתונים הנמצאים במאגר הנתונים כוללים: גיל, מגדר, מדינת מגורים, הכנסה, דירוג “העדפות” לחופשות המבוסס על סקר שמבצע כל משתמש שנרשם לאתר, לגבי העדפת חופשות אתגריות, חופשות “בטן גב”, חופשות משפחתיות, חופשות הכוללות טיולי ג’יפים. במאגר הנתונים של החברה ישנם כ-100,000 הזמנות בשנה אבל בממוצע, המשתמשים מזמינים 2 חופשות בשנה. הנתונים כוללים 3 שנים אחורה.
  3. בפרק הקודם עסקנו בקובץ שכלל נתונים לגבי הגעה או אי-הגעה לפגישות שנקבעו עם רופא. חברת הביטוח הרפואי מעוניינת להטמיע מערכת שתעריך את הסיכוי לכך שמטופל לא יגיע לפגישה שנקבעה.

הערכת ביצועי מודל

כחלק מהאתגר של בניית מודל טוב, עלינו לבחון את הביצועים שלו. בדרך כלל מקובל לחלק את הנתונים לשני חלקים: חלק אחד הוא חלק האימון (Train set). נתונים אלו ישמשו לאימון המודל (בניית המודל). החלק השני הוא חלק הבדיקה (Test set). באמצעות חלק זה אנחנו משווים את ביצועי המודל שלנו למול תוצאות האמת.

כך על ידי שימוש בחלק הבדיקה, אנחנו יכולים להעריך האם המודל שלנו טוב או לא.

ישנם מדדים שונים המשמשים אותנו להשוואה, לדוגמה:

בהמשך נלמד גם שיטה נוספת שניתן להשתמש בה לצורך הערכת ביצועים של מודלים (או בחירה של מודלים) הנקראת Cross validation.

בפרק הבא

בפרק הבא נדון במודל שיכול לשמש גם לסיווג וגם לרגרסיה, הנקרא K-Nearest Neighbors.