פתיחה והיכרות

הבהרה - לא מדובר בסיכום רשמי של המרצה.

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

פרטי התקשרות

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

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

מועדי השיעורים

  • ימי רביעי: 14:15
  • ימי חמישי: 8:15 (במקום 8:00, כדי לאפשר לכם עוד רבע שעה של שינה חמימה)

חובות הקורס

בקורס יהיו:

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

שיתוף פעולה:

  • מומלץ בחום לעבוד בקבוצות על תרגילי הבית והעבודה החישובית
  • חובה לציין עם מי שיתפתם פעולה (כפי שנהוג גם בעולם המדעי)
  • במבחן המסכם אסור לשתף פעולה

הגשות:

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

מבחן מסכם: כנראה יהיה אמריקאי

תחרות מימים

בכל שבוע נקיים תחרות מימים (memes) בנושא סטטיסטיקה:

  • יש לשלוח מימים רלוונטיים לנושא שנלמד בשבוע הקודם
  • יש לשלוח למייל עד יום שני
  • בכותרת האימייל חובה לציין “תחרות מימים” כדי שאוכל למצוא את זה
  • ההשתתפות אינה חובה, אך היא כמובן מומלצת

קורלציה וסיבתיות

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

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

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

חומרי עזר ללימוד עצמי

ניתן ללמוד באופן עצמי באמצעות:

  • סרטונים ביוטיוב
  • אוסמוזיס - הפקולטה משלמת על גישה לאתר זה, ויש בו סרטים על סטטיסטיקה ונושאים רפואיים נוספים
  • ג’וב - פלטפורמה נוספת שעשויה לסייע
  • ספרים - רשימה מלאה נמצאת במצגת הקורס

למה סטטיסטיקה?

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

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

בנקודה זו, סקרנותכם עשויה להתעורר: “אולי זה קשור לזה? אולי יש כאן דפוס?” - והפתח שלכם לעולם החשיבה והמחקר הוא הסטטיסטיקה.

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

מהי סטטיסטיקה?

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

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

שימושים בסטטיסטיקה

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

  • בריאות הציבור
  • גנטיקה
  • מחקר רפואי
  • ותחומים רבים נוספים

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

מטרות הקורס

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

השאלה המרכזית היא: כיצד מסיקים מסקנות מתוך מדגם קטן על האוכלוסייה הגדולה? זוהי מהות הסטטיסטיקה.

הקורס יוביל אתכם בהדרגה להבנת תהליך ההסקה הסטטיסטית דרך ארבעה שלבים עיקריים:

  1. סטטיסטיקה תיאורית - כבר התחלתם ללמוד בווידאו ועם גיא
  2. הסתברות - נלמד במשך 2-3 שבועות כיצד הנתונים מגיעים, מהי ההסתברות לקבל נתונים מסוימים, מהם מאורעות מותנים וסוגים של משתנים מקריים
  3. הסקה סטטיסטית - איך מסיקים מסקנות מתוך הנתונים
  4. כלים חישוביים - שיטות מתקדמות המתאימות למאה ה-21, שונות מהדרך שבה למדו סטטיסטיקה בעבר

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

רגרסיה לינארית

עכשיו נתחיל בנושא הרגרסיה הלינארית. בשיעור האחרון עם גיא, ראיתם שלשני המשתנים $x$ ו-$y$ יש תפקיד סימטרי בחישוב קורלציה. אין עדיפות לאף אחד מהם כשמחשבים קורלציה - לא מחשבים קורלציה של גובה על פי BMI או להיפך. קורלציה היא תכונה המאפיינת את הזוג של המשתנים, ואין לאף אחד מהם תפקיד חשוב יותר.

משתנים תלויים ובלתי תלויים

במקרים רבים, $x$ הוא פרמטר שאנחנו שולטים עליו, יודעים אותו, או יכולים לעשות עליו מניפולציה - למשל, כמות התרופה שנתנו לפציינט. לעומת זאת, $y$ הוא משתנה שאיננו שולטים בו - למשל, משך הזמן שהפציינט יחיה.

במקרים כאלה יש הבדל משמעותי בתפקידים של שני המשתנים:

  • אחד אנחנו שולטים בו (המשתנה הבלתי תלוי)
  • השני אנחנו לא שולטים בו (המשתנה התלוי)

אנו מעוניינים לחזות או לנבא את התוצאה (התגובה) של $y$ בהתאם ל-$x$. למשל, אנו רוצים לדעת כמה שנים אדם יחיה על פי כמה מיליגרם של תרופה ניתנה לו באירוע תוך-ורידי.

דוגמאות נוספות:

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

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

ניתן לבצע:

  • רגרסיה של $y$ על $x$ (הכיוון האינטואיטיבי וההגיוני ברוב המקרים)
  • רגרסיה של $x$ על $y$ (פחות אינטואיטיבי ולעתים פחות הגיוני)

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

מינוח מקובל

  • משתנה בלתי תלוי ($x$): לא תלוי במשהו חיצוני, תלוי במניפולציה שלנו
  • משתנה תלוי ($y$): תלוי במשתנה הבלתי תלוי

מונחים נוספים:

  • בעולם הרפואה: חשיפה ($x$) ותגובה/תוצאה ($y$)
  • בספרות באנגלית: Covariate או Exposure ($x$) ו-Outcome או Response ($y$)

alt text

איך מוצאים קו רגרסיה?

כדי לנבא את $y$ באמצעות $x$, יש לבצע את השלבים הבאים:

  1. איסוף דאטה: אוספים מדגם של ערכי $x$ (למשל, מספר סיגריות או מיליגרם תרופה) וערכי $y$ הרלוונטיים להם (משקל תינוק בלידה או זמן שבו אדם חי)

  2. יצירת משוואה: המטרה היא לייצר משוואה שתאפשר לנו לחזות מה יקרה עבור ערכי $x$ שלא היו במדגם המקורי

למשל:

  • אם במדגם היו נשים שעישנו 5 או 10 סיגריות ביום בהריון, מה יקרה אם אישה תעשן 8 סיגריות?
  • אם הפציינטים במחלקה קיבלו 10, 20 או 30 מיליגרם תרופה, מה יקרה אם ייתנו 25 או 50 מיליגרם?

כמו כן, מודל טוב צריך להתמודד עם השונות הטבעית - למשל, אם שני פציינטים שקיבלו אותה כמות תרופה (20 מיליגרם) שרדו זמנים שונים (3 שנים ו-5 שנים), כמה זמן יחיה הפציינט הבא שיקבל אותה כמות? האם 4 שנים (ממוצע)? ומה אם פציינט אחר שרד 10 שנים?

רגרסיה לינארית פשוטה

רגרסיה באופן כללי היא חיזוי $y$ מתוך $x$ או מתוך כמה משתני $x$. במקרה של רגרסיה לינארית, אנו מניחים שהקשר בין המשתנים הוא לינארי.

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

משמעות הקשר הלינארי:

  • שינוי קבוע ב-$x$ גורם לשינוי קבוע ב-$y$
  • מבחינה גרפית, לא משנה היכן על הקו אנו נמצאים, העלייה מנקודה לנקודה במרחק קבוע של $x$ תגרום לעלייה קבועה של $y$

למשל, עלייה של אינץ’ בגובה האב שווה לעלייה של בערך חצי אינץ’ בגובה הבן בממוצע.

המשוואה המתמטית של קו ישר

משוואת קו ישר היא: $y = ax + b$, כאשר:

  • $a$ הוא השיפוע - השינוי ב-$y$ כתוצאה משינוי של יחידה אחת ב-$x$
  • $b$ הוא החותך - הערך של $y$ כאשר $x = 0$

דוגמה 1: משקל תינוקת

מיקה נולדה במשקל 3.5 ק”ג, ובשבועיים האחרונים משקלה עלה ב-280 גרם.

אם נתאר את משקלה של מיקה כפונקציה לינארית, נקבל:

\[\text{Weight} = a \cdot t + b\]

כאשר:

  • $t$ הוא הזמן בשבועות מאז הלידה
  • $b$ הוא משקל הלידה = 3.5 ק”ג
  • לאחר שבועיים ($t = 2$), משקלה עלה ב-280 גרם

מכאן ניתן לחשב את השיפוע $a$: בשני שבועות עלייה של 280 גרם ← בשבוע אחד עלייה של 140 גרם לכן, $a = 140$ גרם לשבוע

המשוואה הסופית:

\[\text{Weight} = 140t + 3.5\]

(כאשר המשקל בק”ג ו-$t$ בשבועות)

אם נמדוד את הזמן בימים במקום בשבועות:

  • החותך $b$ נשאר 3.5 ק”ג
  • $t = 14$ ימים (שבועיים)
  • השיפוע $a$ יהיה 20 גרם ליום (280 גרם חלקי 14 ימים)

דוגמה 2: צריכת אלכוהול בהריון

נניח שמצאנו את המשוואה הבאה:

\[y = -2x + 3000\]

כאשר:

  • $x$ הוא צריכת האלכוהול לשבוע במהלך ההריון במיליליטרים
  • $y$ הוא משקל הלידה של התינוק בגרמים

המשמעות:

  • שתייה של מיליליטר אלכוהול נוסף לשבוע מורידה 2 גרם ממשקל התינוק
  • אם האישה לא שותה אלכוהול בהריון ($x = 0$), המשקל הממוצע של התינוק יהיה 3,000 גרם

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

דוגמה: אם אישה שתתה 100 מיליליטר אלכוהול לשבוע, מה יהיה משקל התינוק? נציב במשוואה:

\[y = -2 \cdot 100 + 3000 = 2800 \text{ grams}\]

מציאת קו הרגרסיה הטוב ביותר

המשימה היא למצוא איזה קו ישר מתאר את הנתונים בצורה הטובה ביותר. הבעיה מנוסחת כך:

  • יש לנו נתונים בצורת זוגות $(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$
  • אנו רוצים למצוא קו שייתן את יכולת הניבוי הטובה ביותר עבור המדגם

המטרה היא שהקו ייתן ניבוי טוב ככל האפשר לכל ערכי $y$ במדגם:

  • $ax_1 + b$ יהיה קרוב ככל האפשר ל-$y_1$
  • $ax_2 + b$ יהיה קרוב ככל האפשר ל-$y_2$
  • וכך הלאה…

בדרך כלל לא ניתן לפגוע בדיוק בכל הנקודות, לכן נדרשת פשרה - קו שבו-זמנית יהיה הניבוי הטוב ביותר לכל ערכי $y$ יחד.

שגיאות וניבוי ברגרסיה

כאשר משתמשים במודל רגרסיה לניבוי, חשוב להבין את מושג השגיאה (השארית):

הגדרות בסיסיות

  • הערך המנובא $\hat{y}_i$ (y-hat): הערך שהמודל שלי מנבא עבור $x_i$, להבדיל מהערך האמיתי $y_i$
  • השארית (error) $e_i$: ההפרש בין הערך האמיתי לערך המנובא: $e_i = y_i - \hat{y}_i$

ניבוי טוב מתאפיין בערכים קטנים של השאריות.

alt text

דוגמה לחישוב שאריות

אם יש לנו נתונים:

$x$ $y$
1 2.5
2 4
3 4
4 7
  • $x_1 = 1, x_2 = 2, x_3 = 3, x_4 = 4$
  • $y_1 = 2.5, y_2 = 4, y_3 = 4, y_4 = 7$

וקו רגרסיה מסוים, נוכל לחשב את השאריות:

  • השארית הראשונה: $e_1 = y_1 - \hat{y}_1 = -0.2$
  • השארית השנייה: $e_2 = y_2 - \hat{y}_2 = 0.1$
  • השארית השלישית: $e_3 = y_3 - \hat{y}_3$ (ערך גדול יותר)
  • השארית הרביעית: $e_4 = y_4 - \hat{y}_4 = 0.7$

שיטת הריבועים הפחותים (Least Squares)

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

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

דוגמה למגבלות סכום השגיאות

אם יש לנו נתונים מושלמים שנמצאים על קו ישר:

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

הפתרון: ריבועים פחותים (Least Squares)

הפתרון הוא להגדיר את השגיאה הכוללת כסכום ריבועי השגיאות (ריבועים פחותים):

\[\sum_{i=1}^{n} e_i^2 = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 = \sum_{i=1}^{n} (y_i - (ax_i + b))^2\]

יתרונות שיטת הריבועים הפחותים:

  • שגיאות שליליות וחיוביות לא מבטלות זו את זו (כי הריבוע תמיד חיובי)
  • שגיאות גדולות מקבלות משקל גדול יותר (מה שגורם למודל להיות רגיש ל-outliers)
  • שיטה זו מניחה שגיאות גאוסיאניות, שהן השגיאות הנפוצות ביותר בטבע
  • קל לחשב אנליטית את המינימום של פונקציה זו

alt text

מציאת הפרמטרים האופטימליים

כדי למצוא את הערכים של $a$ ו-$b$ שממזערים את סכום ריבועי השגיאות, גוזרים את הפונקציה לפי $a$ ו-$b$ ומשווים לאפס:

הפתרון עבור $a$ ו-$b$ מתקבל בנוסחאות:

\[a = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^{n} (x_i - \bar{x})^2}\] \[b = \bar{y} - a \cdot \bar{x}\]

כאשר $\bar{x}$ ו-$\bar{y}$ הם הממוצעים של $x$ ו-$y$ בהתאמה.

דוגמה מספרית

בדוגמה המספרית שהוצגה בשיעור, קיבלנו $a = 1.35$ ו-$b = 1$, אלו הם הערכים שממזערים את סכום ריבועי השגיאות.

תכונות הרגרסיה הלינארית

הקשר בין שיפוע הרגרסיה ($a$) למקדם המתאם ($r$)

ניתן להראות שהשיפוע $a$ קשור למקדם המתאם $r$ באופן הבא:

\[a = r \cdot \frac{\sigma_y}{\sigma_x}\]

כאשר:

  • $r$ הוא מקדם המתאם בין $x$ ו-$y$
  • $\sigma_y$ היא סטיית התקן של $y$
  • $\sigma_x$ היא סטיית התקן של $x$

מכאן ניתן לראות ש:

  • ל-$a$ ול-$r$ יש תמיד אותו סימן (חיובי או שלילי)
  • ל-$a$ יש יחידות של $\frac{y}{x}$ בניגוד ל-$r$ שהוא חסר יחידות
  • אם סטיות התקן של $x$ ו-$y$ זהות, אז $a = r$

רגרסיה של $x$ על $y$

אם מבצעים רגרסיה של $x$ על $y$ (כלומר, מנבאים את $x$ באמצעות $y$) במקום רגרסיה של $y$ על $x$, נקבל שיפוע שונה:

אם בביצוע רגרסיה של $y$ על $x$ קיבלנו $a = 10$, אז בביצוע רגרסיה של $x$ על $y$ נקבל $a = \frac{1}{10} = 0.1$

זאת מכיוון שמקדם המתאם נשאר זהה, אך היחס בין סטיות התקן מתהפך:

\[a_{x \text{ על } y} = r \cdot \frac{\sigma_x}{\sigma_y} = r \cdot \frac{1}{\frac{\sigma_y}{\sigma_x}} = \frac{r \cdot \frac{\sigma_y}{\sigma_x}}{\frac{\sigma_y^2}{\sigma_x^2}} = \frac{a_{y \text{ על } x}}{\frac{\sigma_y^2}{\sigma_x^2}}\]

מגבלות הרגרסיה הלינארית

תחום תקפות המודל

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

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

\[y = 0.5x + 34\]

אם נציב $x = 0$ (כלומר, אב ללא גובה - דבר שאינו אפשרי במציאות), נקבל שגובה הבן הוא 34 אינץ’. תוצאה זו אינה הגיונית ומצביעה על כך שהמודל אינו תקף מחוץ לטווח הנתונים המקורי.

ביטחון במודל

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

יישום רגרסיה לינארית בפייתון

ניתן ליישם רגרסיה לינארית בפייתון באמצעות חבילות כגון numpy, statsmodels או scikit-learn.

דוגמה לשימוש ב-statsmodels:

import statsmodels.api as sm

# יצירת מודל רגרסיה לינארית
model = sm.OLS(y, x)  # y תחילה, אחר כך x
results = model.fit()

# הצגת התוצאות
print(results.summary())

התוצאות מספקות מידע רב, כגון:

  • מקדמי הרגרסיה (Coefficients)
  • מדדי איכות ההתאמה (R-squared)
  • ערכי P-value
  • רווחי סמך (Confidence Intervals)

הערה חשובה

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

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

מדידת טיב ההתאמה (R-squared)

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

מגבלות של סכום ריבועי השאריות

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

  1. בעיית יחידות מידה שונות: כיצד נשווה בין התאמה של גיל כרונולוגי להתאמה של גובה? אלו עולמות שונים עם יחידות מידה שונות.

    alt text

  2. השפעת מספר התצפיות: אם למודל אחד יש 1000 תצפיות ולשני יש 20 תצפיות, האם סכום שאריות קטן יותר במודל השני בהכרח אומר שההתאמה טובה יותר? לא בהכרח.

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

alt text

חשיבות סקאלת הנתונים

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

לדוגמה, אם יש לנו שני מודלים עם שונות שאריות דומה (נניח 1):

  • במודל הראשון, השונות של $y$ היא כ-1 (סקאלה קטנה)
  • במודל השני, השונות של $y$ היא כ-1,000,000 (סקאלה גדולה)

איזה מודל מציג התאמה טובה יותר?

במודל הראשון, השגיאה היא בסדר גודל דומה לסקאלת הנתונים (1 מתוך 1, כלומר 100%). במודל השני, השגיאה היא זניחה ביחס לסקאלת הנתונים (1 מתוך מיליון, כלומר 0.0001%).

ברור שהמודל השני מציג התאמה טובה יותר, למרות ששונות השאריות זהה בשני המקרים!

הגדרת $R^2$ (מקדם המתאם בריבוע)

כדי להתמודד עם בעיות אלה, אנו מגדירים את טיב ההתאמה כיחס בין שונות השאריות לשונות המקורית של $y$:

\[R^2 = 1 - \frac{\text{שונות השאריות}}{\text{שונות המקורית של } y}\]

או באופן אקוויוולנטי:

\[R^2 = \frac{\text{שונות מוסברת}}{\text{שונות המקורית של } y}\]

כאשר:

  • שונות מוסברת היא החלק מהשונות המקורית שהמודל מצליח להסביר
  • שונות השאריות היא החלק שנותר בלתי מוסבר

פירוש $R^2$:

  • $R^2$ קרוב ל-1: מודל מסביר את רוב השונות בנתונים, התאמה טובה
  • $R^2$ קרוב ל-0: מודל מסביר מעט מאוד מהשונות בנתונים, התאמה חלשה

דוגמאות:

  1. מודל עם התאמה חלשה:
    • שונות השאריות: 1
    • שונות של $y$: 1
    • $R^2 = 1 - \frac{1}{1} = 0$
    • המודל אינו מסביר כלל את השונות בנתונים
  2. מודל עם התאמה מצוינת:
    • שונות השאריות: 1
    • שונות של $y$: 1,000,000
    • $R^2 = 1 - \frac{1}{1,000,000} = 0.999999$
    • המודל מסביר כמעט את כל השונות בנתונים

הקשר בין $R^2$ למקדם המתאם $r$

כאשר מדובר ברגרסיה לינארית פשוטה (עם משתנה מסביר אחד), מתקיים קשר ישיר בין $R^2$ למקדם המתאם $r$:

\[R^2 = r^2\]

חשוב לזכור:

  • $r$ יכול להיות חיובי או שלילי (תלוי בכיוון הקשר)
  • $R^2$ תמיד חיובי ונע בין 0 ל-1
  • $R^2$ מתייחס לשונות המוסברת, בעוד $r$ מתייחס לחוזק ולכיוון הקשר הלינארי

מציאת $R^2$ בפייתון

ניתן למצוא את ערך $R^2$ בקלות באמצעות חבילת statsmodels:

import statsmodels.api as sm

# יצירת מודל רגרסיה לינארית
model = sm.OLS(y, x)
results = model.fit()

# הצגת התוצאות, כולל R-squared
print(results.summary())

בפלט התוצאות, statsmodels מציג את ערך ה-$R^2$ באופן אוטומטי. בדוגמה שהוצגה בהרצאה, התקבל ערך $R^2 = 0.931$, המעיד על התאמה טובה מאוד של המודל לנתונים.

סיכום

  • טיב ההתאמה של מודל רגרסיה נמדד באמצעות $R^2$, שמשקף את היחס בין השונות המוסברת לשונות הכוללת
  • $R^2$ מאפשר השוואה בין מודלים שונים, גם כאשר הנתונים הם בסקאלות שונות
  • ככל ש-$R^2$ גבוה יותר, כך המודל מספק התאמה טובה יותר לנתונים
  • ברגרסיה לינארית פשוטה, $R^2$ שווה לריבוע מקדם המתאם ($r^2$)
  • בפייתון, ניתן לקבל את ערך $R^2$ באמצעות חבילת statsmodels
דור פסקל

לשיעור הבא בנושא הסתברות