רווחים:
- יכולת לחקור את התפלגות, מרכז, התפשטות ואנומליות של משתנים באמצעות גרפים מתאימים (היסטוגרמה, עלילת קופסה, עלילת פיזור).
- יכולת לפרש קורלציה נכונה ולקרוא אותה יחד עם עלילת הפיזור, מבלי לבלבל בינה לבין סיבתיות
- יכולת להבין שסטטיסטיקות סיכום עלולות להטעות (שיעור Anscombe) ולפתח השערות הקובעות את כיוון המידול.
לפני בניית מודל, יש צורך להכיר את הנתונים. כמו שרופא לא רושם תרופות בלי לבדוק את החולה, מדען נתונים לא בונה מודל בלי "לבחון" את הנתונים. בחינה זו נקראת ניתוח נתונים חקרניים (בקיצור EDA): זהו השלב של גילוי התפלגות, קשרים, הפתעות ומלכודות של הנתונים באופן ויזואלי וגרפי. מטרת ה-EDA היא ליצור השערות, לתפוס שגיאות ולקבוע את כיוון המידול. בינה מלאכותית היא עוזר חזק מאוד בשלב זה: היא מציעה איזה תרשים מתאים, כותבת את הקוד שלו, מפרשת התפלגות. אבל אדם מחליט, עם הידע שלו בשטח, אם הדפוס שהוא רואה הוא אמיתי או מקרי.
מה EDA מחפש?
EDA מחפש תשובות לארבע שאלות. התפלגות: כיצד מתחלק כל משתנה - האם הוא סימטרי, מוטה או בעל שני פסים? נטייה מרכזית והתפשטות: מה הם הממוצע, החציון, סטיית התקן? מערכות יחסים: איך המשתנים קשורים זה לזה? חריגות: האם יש ערכים בלתי צפויים, פערים, קבוצות? ארבע השאלות הללו קובעות איזו תכונה תעבוד ואיזה דגם מתאים.
בואו נגדיר כמה מושגים בסיסיים. היסטוגרמה היא גרף המחלק את הערכים של משתנה מספרי למרווחים ומראה כמה תצפיות יש בכל מרווח; זו הדרך המהירה ביותר לראות את ההפצה. עקמת היא הסטת ההתפלגות לכיוון אחד; משתנים כגון הכנסה מוטים ימינה (רובם נמוך, מעטים גבוהים מאוד). עלילת קופסה מציגה במבט חטוף את החציון, הרבעונים והחריגים. עלילת פיזור מציגה את הקשר של שני משתנים מספריים עם ענן של נקודות.
מתאם: יש קשר אבל היזהר
מתאם - מדד לאופן שבו שני משתנים נעים יחד; מספר בין -1 ל-+1 - הוא הכלי הכי בשימוש והכי לא מובן של EDA. +1 פירושו עלייה משותפת מושלמת, -1 פירושו קשר הפוך מושלם, 0 פירושו ללא קשר ליניארי. יש שתי מלכודות גדולות. ראשית, הכלל המפורסם: מתאם אינו סיבתיות. מקרי החנק גדלים עם מכירות הגלידה; לא בגלל שאחד מוביל לשני, אלא בגלל שהקיץ (המשתנה השלישי הנסתר) מפעיל את שניהם. שנית, מתאם מודד רק קשר ליניארי; זה עשוי להצביע על קשר חזק אך מפותל קרוב ל-0. לכן כאשר מסתכלים על מתאם, הקפידו להסתכל גם על עלילת הפיזור.
זהירות: כאשר ה-AI נותן מספר מתאם, הוא עלול להחליק לשפה סיבתית כמו "A מגדיל את B." זה מסוכן. מתאם רק מצביע על תנועה ביחד; רק ניסיון, ידע בתחום והסקת מסקנות זהירות קובעים את הסיבה.
רביעיית אנסקום: למה לא פשוט להסתכל על המספר
יש דוגמה מפורסמת בסטטיסטיקה: רביעיית אנסקום. לארבעה מערכי נתונים שונים יש כמעט אותו ממוצע, אותה שונות ואותה מתאם (0.82); אבל כשמתווים בגרף, הם נראים אחרת לגמרי - קו ישר אחד, אחד מעוקל, אחד ענן שנמשך על ידי חריג בודד. הלקח ברור: סטטיסטיקות סיכום מטעות, הסתכלות על הגרף היא חובה. בינה מלאכותית יכולה לתת לך ממוצעים ומתאמים, אבל לסמוך על המספרים האלה מבלי לראות את הגרף נופלת למלכודת אנסקום.
הטבלה שלהלן מסכמת איזה תרשים מתאים לאיזו שאלה:
שאלה
גרפיקה מתאימה
מה מראה
התפלגות של משתנה בודד
היסטוגרמה / KDE
צורה, נטייה, מספר קודקודים
מרכז וחריגים
עלילת קופסה
חציון, רבעונים, חריגים
קשר של שני מספרים
תרשים פיזור
כיוון, חוזק, עקמומיות
השוואת קטגוריות
תרשים עמודות
הבדל בין קבוצות
להשתנות לאורך זמן
תרשים קווים
מגמה, עונתיות
קשר רב משתנים
מפת חום מתאם
מטריצת יחסים כללית
הפרדוקס של סימפסון: נתונים מצטברים יכולים לשקר
מלכודת ערמומית ב-EDA שכדאי להיות מודעים אליה היא הפרדוקס של סימפסון: דפוס עשוי להראות כיוון אחד כאשר כל הנתונים נבדקים יחד, אך הפוך כאשר הנתונים מחולקים לתת-קבוצות משמעותיות. דוגמה קלאסית: נראה ששיעור הקבלה הכולל של מועמדות באוניברסיטה נמוך מזה של גברים; אבל כשמסתכלים על מחלקה אחר מחלקה, שיעור הקבלה של נשים גבוה יותר מגברים ברוב המחלקות. מאיפה? נשים פנו למחלקות תחרותיות יותר (שיעורי קבלה נמוכים יותר); המספר המשולב מאחסן את המשתנה המוסתר הזה. הלקח ברור: כאשר מסתכלים על סך או ממוצע, הקפידו לבדוק אם המספר הזה מספר את אותו הסיפור כאשר הוא מפורק לתת-קבוצות משמעותיות (קטע, נקודה, ערוץ). כאשר הבינה המלאכותית נותנת לך שיעור משולב, השאלה "האם היא עדיין תקפה כאשר אתה מפלח אותה" תקבל את רוב התוצאות המטעות בשלב מוקדם.
שלושה מיני תיקים
מקרה 1 - שתי גבעות נסתרות. אנליסט אחד מצא שגיל הלקוחות הממוצע הוא 41 ודיווח עליו כ"קהל בגילאי הביניים". אבל ההיסטוגרמה הראתה שני שיאים: קבוצות הגיל 22-28 ו-55-62. הממוצע 41 לא באמת ייצג אף אחד. לקח: תכנן את ההתפלגות לפני שאתה סומך על הממוצע.
מקרה 2 - מתאם מופרך. צוות אחד מצא מתאם של 0.78 בין "הוצאות פרסום" ו"מכירות" והכפיל את התקציב. עם זאת, מה שהפעיל את שניהם היו קמפיינים עונתיים; במהלך התקופה מחוץ לקמפיין, הקשר ירד ל-0.10. פרסום נוסף של 340 אלף ש"ח לא הניב את התשואה הצפויה. לקח: טעות בקורלציה לסיבתיות היא יקרה.
מקרה 3 - הקו שמתווה הקונטרה הבודד. ניתוח נדל"ן הראה קשר חזק בין מדה רבועים למחיר (r=0.80). כאשר צויירה עלילת הפיזור, כמעט כל מערכת היחסים נוצרה על ידי וילת יוקרה בודדת של 12 מיליון TL; כאשר נקודה זו הוסרה, המתאם ירד ל-0.31. שיעור: קרא תמיד את המתאם יחד עם עלילת הפיזור.
ארבע תבניות הניתנות להעתקה
1) סיכום EDA אוטומטי:
יש לי פנדות df. כתוב קוד שמפיק: (1) df.info() ו-df.describe(), (2) היסטוגרמה עבור כל עמודה מספרית, (3) ספירה עבור כל עמודה קטגורית. אל תגיב, פשוט הפק את קוד הגילוי; אני מפרש את הדפוסים.
2) מתאם + חזותי (עם אזיגת הסיבתיות):
כתוב קוד שמצייר מטריצת מתאם ומפת חום עבור העמודות המספריות. צייר גם תרשים פיזור של 3 הזוגות הגבוהים ביותר בקורלציה. הוסף שורת הערה לפלט שמזכירה לך שמתאם אינו מרמז על סיבתיות. אין להעלות טענות סיבתיות.
3) אבחון התפלגות:
עבור העמודה "income_tl": כתוב קוד שמייצר היסטוגרמה, עלילת קופסה, ערך הטיה והשוואה חציונית/ממוצעת. אפרש אם ההתפלגות מוטה או לא; פשוט תן את הקוד.
4) השוואת פלחים:
השוו לקוחות לפי "ערוץ" (אינטרנט/מובייל): כתוב קוד שמייצר תרשים של הכמות הממוצעת, הכמות החציונית, מספר ההזמנות והתפלגות הכמות עבור כל ערוץ. הצע איזו בדיקה מתאימה למובהקות סטטיסטית של ההבדל בין שני הערוצים, אבל ההחלטה היא בידי.
הנחיה חלשה / הנחיה חזקה
הנחיה חלשה:
מצא משהו מעניין בנתונים האלה.
"מעניין" אינו מוגדר; בינה מלאכותית לא רואה את הנתונים, אז היא מרכיבה אותם או מוציאה הצהרות כלליות. אין כיוון, אין משתנים, אין מטרה.
הנחיה עוצמתית:
תפקידך: עוזר EDA. עמודות df: גיל (int), income_tl (צף), עיר (קטגוריה), ערוץ (אינטרנט/נייד), סכום (צף). מטרה: לגלות את הגורמים המשפיעים על "כמות". משימה: (1) קוד המתווה את התפלגות הסכום, (2) גרפי התפלגות בין כמות וגיל והכנסה_תל, (3) חלקת תיבה של סכום בפירוט ערוצים. קביעת טענה סיבתית; פשוט צור את קוד הגילוי ואני אפרש את התבנית.
כאן ברורים המטרה, המשתנים והגבול של "טענת סיבתיות".
טעויות נפוצות
- מסתמכים אך ורק על סטטיסטיקות סיכום. כפי שמראה רביעיית אנסקום, אותו ממוצע מסתיר הפצות שונות מאוד; ראה תרשים.
- טעות בקורלציה לסיבתיות. פעולה משותפת אינה מעידה על כך שאחד מוביל לשני; היזהרו ממשתנים נסתרים.
- מסתכלים על קורלציה ללא עלילת פיזור. חריגה בודדת או עקמומיות מטעה את המספר.
- סיכום התפלגות שתי פסגות/מוטות עם הממוצע. הממוצע אולי לא מייצג אף אחד.
- מדלגים על EDA והולכים ישר לדגם. נתונים לא מזוהים פירושם מודל עיוור.
טיפ: עם כל מערך נתונים חדש, הקדישו את 30 הדקות הראשונות לציור גרפים: היסטוגרמה של כל מספרי, עלילת פיזור של זוגות משמעותיים, תרשים עמודות של קטגוריות. 30 הדקות הללו מונעות שגיאות דוגמנות עתידיות לימים הבאים.
לסיכום
EDA הוא השלב של היכרות עם הנתונים לפני בניית מודל ומחפש תשובות לארבע שאלות: הפצה, התפשטות מרכז, מערכות יחסים וחריגות. סטטיסטיקות סיכום עלולות להטעות; התבוננות בגרף היא חובה (הרצאת Anscombe). קורלציה היא כלי רב עוצמה, אבל סיבתיות אינה ובהחלט צריכה להיקרא יחד עם עלילת פיזור. AI הוא מאיץ נהדר להצעת גרפיקה וכתיבת קוד; אבל אנשים מפרשים עם הידע שלהם בשטח אם הדפוס שהם רואים הוא אמיתי או צירוף מקרים.
משימת יישום
בחר מערך נתונים ופשוט עשה EDA: חילץ היסטוגרמה של לפחות שלושה משתנים מספריים, תרשים פיזור של שני זוגות של משתנים ומפת חום מתאם. מצא לפחות "הפתעה" אחת (כגון התפלגות עם שני פסגות, מועמד לקורלציה מזויפת, קשר שנמשך על ידי חריג בודד) והסביר זאת במשפט אחד. כתוב בלי להעלות טענות סיבתיות.
רשימת בדיקה
- [ ] האם שרטטתי את ההתפלגות של כל משתנה מספרי?
- [ ] האם הסתכלתי על המתאמים עם תרשים הפיזור?
- [ ] האם שמרתי על סיבתיות ומתאם נפרדים?
- [ ] האם לא שמתי לב להתפלגות מוטות או דו-פסגות ולא בטחתי באופן עיוור בממוצע?
- [ ] האם הסקתי לפחות היבט/השערה אחת של מודלים מממצאי ה-EDA שלי?