בלוג, הדמיית נתונים

תראו איזה יופי. שני גלי קורונה בבריטניה בהשוואה ישירה.

לקחתי את הגרף הזה מכאן

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

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

אל תביאו נתונים לדיון דמגוגי, או אל תשוו תפוחים עם תמרים

בלוג, הדמיית נתונים


אדם שאני לא מכיר בשם הקבוצה ‏אייל פרדיס, דעתן‏ פרסם את הגרף הזה (התוספת על דמגוגיה – שלי)


אז בואו נעשה סדר


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


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

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


נמשיך הלאה. איך ניתן בכלל להשוות מדינות שונות? קחו את פינלנד מאותו הגרף. אוכלוסיית פינלנד בערך חצי מאוכלוסיה של ישראל. השטח שלה, לעומת זאת גדול פי חמש עשרה, כך שברור שהמחלה תתפשט בה לאט יותר. מצד שני, בפינלנד 20% מהאוכלוסיה עברה את גיל 65 ואילו בארץ רק 10%. האם במצב הזה זה הגיוני להשוות תמותה ממחלה שעוברת בהדבקה ופוגעת פעיקר בזקנים? ברור שלא! ואפשר להמשיך הלאה והלאה.

לכיסום


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

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

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

אז מה האמת? מה המדד הנכון?

אז זהו, שאין מדד ״נכון״ יש הרבה מדדים, כל אחד משמש לבחינה של פן אחר של מציאות. המציאות מורכבת. באסה

לפני ואחרי – גרף עמודות מוערמות

בלוג, הדמיית נתונים

נשאלתי שאלה על ידי קולגה איך לבחור נכון צבעים לגרף עמודות שנראה בערך כך:

מה שרואים כאן זה תרשים עמודות מוערמות stacked bar plot שמכיל המון (המון!) קטגוריות. ובגלל הקטגוריות הרבות, קשה מאוד לקרוא אצת הגרף.

 איך בוחרים צבעים בצורה נכונה?

התשובה הנכונה מאוד מורכבת. כדי לבחור צבעים בצורה נאותה, לא מספיק לבחור צבעים אקראייים, אלא יש להתחשב בדרך בה העין האנושית מנתח תמונה חזותית. יש אתר שנקראה I Want Hue שמבוסס על מחקרים מעמיקים (ראו דף זה שמסביר את התיאוריה). אבל, וזה אבל גדול, הבעיה היא לא עם הצבעים

זאת לא השאלה הנכונה

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

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

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

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

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

אפשרות ראשונה: להקטין את כמות הקטגוריות

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

נכון שזה הרבה יותר קריא? אם נשפר קצת את הקריוּת (readability) של הגרף, נקבל את הדבר היפה הזה:

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

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

שמתם לב שציר ה־X בגרף המקורי מייצג את הזמן? זה אומר שאנחנו יכולים לשנות את גרף העמודות הזה לגרף אבולוציה evolution graph שזה שם קצת יותר מתחכם לגרף של נקודה קו. שוב, אני לא בטוח מה מחבר הגרף המקורי רצה להגיד, אבל אם היה למחבר חשוב מאוד להראות את הדינמיקה האינדיווידואלית של כל קטגוריה, אז אפשר להראות בדיוק את זה:

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

מסקנה

כאשר אתם שואלים או נשאלים שאלה טכנית לגבי שיפור גרף, תשאלו ״למה?״ למה הבעיה הטכנית חשובה ולמה היא תפתור לכם את הבעיה? פתאום תגלו שכדי לענות על ה־״למה״ תצטרכו קודם לענות על ה־״מה?״ מה אתם רוצים להגיד בגרף הזה? ואז אולי תבינו שהבעיה לא טכנית אלה תיסתית – שבמקום לבחור שמונה צבעים שונים כדאי לשנות את הגרף שיסתפק בשני צבעים בלבד.זאת הסיבה שאני חוזר ואומר: תכתבו את המסקנה של הגרף בכותרת שלו! זה כלי כל כך משמעותי ומועיל! אתם מוזמנים לקרוא את הפוסט שלי [כאן] שמדבר בדיוק על זה, או לראות את הוובינר שערכתי בנושא [כאן].

לפני ואחרי בהדמיית נתונים. תרשים רדאר (תרשים עכביש)

בלוג, הדמיית נתונים

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

לפני: הבעיות של תרשים עכביש 

הנה השחזור שלי של תרשים רדאר שראיתי באחת הקבוצות בפייסבוק. 

מה הבעיות שלו? 

הבעיה הראשונה היא הקריאוּת (readability באנגלית): הגרף הזה לא קריא. האם אתם יכולים להזות בצורה מהירה את הערך של הסדרה האדומה עבור ״substance abuse״? לדעתי, לא.

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

אחרי: בחירת גרף מבוססת מסקנה

מה האלטרנטיבה?

קודם כל, צריך להחליט מה המסקנה של הגרף. לא רק לחשוב, אלא לכתובת את המסקנה ככותרת של הגרף. זה יאלץ אותך להחליט מה המסקנה וידריך אותך במאמצים לשיפור. (אני מאוד ממליץ לקרוא את הפוסט הזה https://gorelik.net/…/how-to-suck-less-in-data…/ או לראות את ההקלטה של ההרצאה שלי כאן: https://youtu.be/xGfaFdoQVHM

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

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

(שימו לב שגם כאן מיינתי את העמודות. הדרך הקלה ביותר לשפר את הקריאוּת של גרף עמודות זה למיין אותם לפי הערך.


קוד פייתון שהשתמשתי בו כדי ליצור את הגרפים כאן נמצא כאן: https://gist.github.com/bgbg/db833db723998cd244b5049bfe01f5ac

מהי ההזדמנות המפוספסת ביותר בהצגה גרפית של נתונים ואיך אפשר להשתפר את האימפקט של המצגת שלכם ב-94% תוך דקה?

הדמיית נתונים

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

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

מתי: יום רביעי, ה־21 באוקטובר בשעה 20:00

איפה: בזום, כמובן

בעלי חשבון פייסבוק יכולים להרשם כאן.

אפשר להגיע ישירות דרך הקישור לזום.

(הקישור לזום יהיה פעיל רבע שעה לפנית תחילת הוובינר)

https://jce-ac-il.zoom.us/j/92147623684

בואו, יהיה כיף. גם אם אתם לא בתחום הדאטה. בעיקר אם אתם לא

חשדות טובות. חרא של גרפים

בלוג, הדמיית נתונים

אני מתנצל על השפה הבוטה, אני פשוט נסער (טוב, לא באמת, סתם עושה את עצמי). 

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

הנה גרף שראיתי בקבוצת הפייסבוק https://www.facebook.com/groups/DataVisualizationIsrael

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

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

מה רע בגרפים האלה?

מה רע בגרפים האלה? מה לא טוב בהם? שום דבר לא טוב!

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

ועכשיו בואו נחזור להדמיית נתונים. תראו את הגרף הזה

איזה גרף יפה! אילו קווים חלקים ונעימים. אלא מה? 

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

(מקור התמונה – כאן)

ובחזרה לגועל הנפש שלנו (באמת, אני לא מגזים). בגרף ה־״חמוד״ הזה, אין למיקום הפעמון, העובי שלו ומידת החפיפה שום משמעות! כל מה מעניין זה הגובה של הצורה. אז למה לא קיבלנו גרף עמודות? באמת שאין לי מושג. הנה, הפכתי את הגרף המקורי לעמודות. עכשיו, כל נהיה בסדר.

למה זה חשוב?

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

עמודות שגיאה. שגיאה גדולה

בלוג, הדמיית נתונים

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

חבית של דבש עם כפית של חרא?

בלוג, הדמיית נתונים

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

המדריך שלה להדמיית נתונים (אני בכוונה לא שם לינק, כדי לא להעלות את ה־rank של העמוד הזה). 

שימו לב איך נראה הגרף שמופיע על עמוד הבית של המדריך 

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

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

זוויות הפלחים הן 182 ו־75 מעלות, בהתאמה, יחס של 2.42:1. הרדיוס של המקטעים הם 135 ו־110פיקסלים. עם קצת מתמטיקה, אחנו מקבלים שאורך הקשתות של שני הפלחים הם 426 ו־144פיקסלים, יחס של 2.96:1. ומה עם השטחים: כאן, בגלל התלות הריבועית היחס עוד יותר גדול: 28,930 פיקסלים, לעומת 7,915 שנותנים יחס של 3.66:1. 

אז נכון, הצבעים יפים, אבל אילו יחסים הגרף הזה מייצג?

חברת IBM אולי עושה מחשבים טובים, אבל אל תלמדו מהם איך עושים הדמיית נתונים!

כל מה שטוב בהדמיית נתונים

בלוג, הדמיית נתונים

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

The quintessence of data visualization usefulness. These graphs are SOOOO good and convincing.

The quintessence of data visualization usefulness — Boris Gorelik

קוד הסדנה זמין להורדה

בלוג, הדמיית נתונים

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

קוד לסדנה זמין בלינק הבא

https://github.com/bgbg/datascience_dataviz_workshop/