מבוא לניתוח נתוני כדורסל/ אייל שפרן

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

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

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

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

מצרכים

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

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

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

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

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

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

Players height and weight

NBA players height and weight over time

Posted by Doingthedishes on Friday, 1 December 2017

כמה עובדות ממש לא חשובות לגבי:

  1. אני גר בסולט לייק סיטי כבר 10 שנים. ולא, אני לא נשוי לכמה נשים ולא מורמוני.
  2. פעם במשחק נוער, באחד המשחקים היחידים ששיחקתי, קלעתי 12 נקודות ב 12 דקות. אחרי אחד הסלים שלי שמעתי את מאמן היריבה צועק – "תפסיקו לתת לגמד הזה לקלוע עליכם".
  3. אני אוהב לחשוב על עצמי בתור לארי בירד רק בלי כשרון כדורסל (כלומר נשאר רק הטראש טאק והבעיות בגב).

קצת יותר פירוט טכני:

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

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

אם אתם רוצים להוריד נתונים מאתר אחר תצטרכו להתאמץ קצת יותר. אפשר לקרוא את הקוד html של כל אתר, להבין מה התבנית של הקוד ואז לכתוב קוד שקורא את הנתונים. זה נקרא web scraping.
האתר basketball-reference למשל כתוב בצורה די פשוטה, וניתן לכתוב קוד להוריד את הנתונים די מהר.

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

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

Subscribe
Notify of
60 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
הציפור הנדירה
הציפור הנדירה
05/12/2017 9:59:26

האם אתה אוהד סלטיקס?

אייל
אייל
05/12/2017 15:26:11

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

ראובן
ראובן
05/12/2017 10:06:54

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

אייל
אייל
05/12/2017 19:37:43
Reply to  ראובן

אתה כתבת את הכתבה על המאמנים? אחלה כתבה!

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

עידו גילרי
עידו גילרי
05/12/2017 10:27:50

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

אייל
אייל
05/12/2017 19:36:08

אני מסמיק.

Ish
Ish
05/12/2017 11:44:47

זיכרוני גורס שמדובר שם בעיקר בmidrange fadeaway jumpers

עגל שסבור שיש לפרק את ג"ס
עגל שסבור שיש לפרק את ג"ס
05/12/2017 11:55:21

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

אייל
אייל
05/12/2017 15:32:53

תודה על ההצעה.

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

אוהד הצלחות
אוהד הצלחות
05/12/2017 17:09:08
Reply to  אייל

שקלת לעבוד עם חבילת shiny ב-R?

אייל
אייל
05/12/2017 19:15:45

תודה. אני אבדוק (למרות שאני יודע מעט מאוד R).
ניסיתי Bokeh ו plotly בפייתון ומהראשון התבאסתי והשני מגביל את מספר הצפיות אלא אם משלמים.

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

מתן גילור
05/12/2017 12:13:48

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

עגל שסבור שיש לפרק את ג"ס
עגל שסבור שיש לפרק את ג"ס
05/12/2017 14:18:03

שאלה טובה, מצטרף אליה.

אייל
אייל
05/12/2017 15:34:11

בטח. אני אשמח עם תשתפו.

אייל
אייל
05/12/2017 15:41:24
Reply to  אייל

אם.

אני דיסלקט. מתנצל מראש.

Berch
Berch
05/12/2017 12:51:20

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

The king russell
The king russell
05/12/2017 13:58:53

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

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

The king russell
The king russell
05/12/2017 13:59:22

כל גרף*

תודה ותכתוב עוד הרבה

אייל
אייל
05/12/2017 15:38:07

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

אופיר נ.
אופיר נ.
05/12/2017 14:05:05

ברוך הבא אייל.
מחכה לטורי המשך.

מנחם לס
מנחם לס
05/12/2017 14:12:34

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

אייל
אייל
05/12/2017 19:38:52
Reply to  מנחם לס

תודה.

דינגו
05/12/2017 14:22:54

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

ולדי קוגן
05/12/2017 14:55:13

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

עומר מזיג
05/12/2017 18:49:56

פייתון*. פייטון זה הזה באורלנדו שאוגוסטין מספסל 🙂

אפלטון
אפלטון
05/12/2017 15:23:50

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

אייל
אייל
05/12/2017 15:42:48
Reply to  אפלטון

רעיון מצוין.

אפלטון
אפלטון
05/12/2017 15:36:35

יאללה מצאתי אותך בטוויטר תענוג.
חסרות לי כמה קבוצות בגרף של ההשוואת דירוג הגנתי והתקפי עם זה של שנה שעברה.
https://mobile.twitter.com/EyalShafran/status/928666052963188736/photo/1

הנקודות הכחולות זה של שנה שעברה והלוגו של השנה?

אייל
אייל
05/12/2017 15:46:19
Reply to  אפלטון

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

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

אפלטון
אפלטון
05/12/2017 15:54:28
Reply to  אייל

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

Ljos
Ljos
05/12/2017 15:51:47

נתחיל מהעיקר – Doing the dishes. אהבתי.
משהו שלא הבנתי – צריך לדעת תכנות כדי להבין את הנתונים או רק להציג אותם?

אייל
אייל
05/12/2017 15:57:30
Reply to  Ljos

צריך לדעת תכנות בשביל לדעת ליצור את הגרפים. אני מאוד מקווה שלא צריך לדעת תכנות בשביל להבין אותם כי אז זה ממש מצמצם את קהל היעד:-)

צביקה
צביקה
05/12/2017 15:58:55

וואוו אייל. זה לגמרי מגניב. הגרף הזה שמצאתי אצלך. זה משהו מיוחד:
http://www.eyalshafran.com/images/Player_unassisted_points_v4.png

צביקה
צביקה
05/12/2017 16:01:18
Reply to  צביקה

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

עידו גילרי
עידו גילרי
05/12/2017 16:14:55
Reply to  צביקה

זה לא יפה לדבר ככה על הבולס.

Ljos
Ljos
05/12/2017 16:23:09

בדיוק כמו הספרס.

שאלה
שאלה
05/12/2017 16:35:06
Reply to  צביקה

הסבר להדיוטות?

אפלטון
אפלטון
05/12/2017 16:39:10
Reply to  שאלה

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

שאלה
שאלה
05/12/2017 16:51:03
Reply to  אפלטון

תודה, אז מה זה אומר על הסאנס\ פורטלנד? הפוך?

אפלטון
אפלטון
05/12/2017 17:02:10
Reply to  שאלה

כן. שהם עושים את רוב הנקודות שלהם בבידודים (מעל 50% מהנק' שלהם שזה די פסיכי) ועושים זאת באחוזים אפקטיביים נמוכים.

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

צביקה
צביקה
05/12/2017 17:04:59
Reply to  צביקה

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

Ish
Ish
05/12/2017 18:35:13
Reply to  צביקה

האמת שהקבוצות שם ממוקמות בדיוק איפה שהייתי מצפה למצוא אותן

אוהד הצלחות
אוהד הצלחות
05/12/2017 17:11:18

נראה מעולה.
תודה על הפוסט!

עמרי
עמרי
05/12/2017 18:19:44

באיזו חבילה אתה משתמש להכין את הגרפים?
Pandas לבדה מספיקה?

עמרי
עמרי
05/12/2017 18:29:38
Reply to  עמרי

*כדי להכין את הגרפים

אייל
אייל
05/12/2017 19:19:13
Reply to  עמרי

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

אשך טמיר המקורי
אשך טמיר המקורי
05/12/2017 18:20:11

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

Ish
Ish
05/12/2017 18:32:17

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

אייל
אייל
05/12/2017 19:21:21

רעיון מצויין. יש לך רעיון מאיפה למצוא נתונים? הייתי מבקש מצ’מברליין את הנתונים אבל הוא איננו.

אשך טמיר המקורי
אשך טמיר המקורי
06/12/2017 6:47:37
Reply to  אייל

אני די בטוח שהדוק שלנו הוא בר-סמכא בנושא 🙂
מומי יארגן את התמונות

עומר מזיג
05/12/2017 19:10:40

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

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

http://www.hoops.co.il/?p=53087

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

אייל
אייל
05/12/2017 19:25:41

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

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

אחד העם
אחד העם
05/12/2017 19:27:28

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

פומה
פומה
05/12/2017 20:28:54

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

Ish
Ish
05/12/2017 23:40:59
Reply to  פומה

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

פומה
פומה
06/12/2017 8:45:18
Reply to  Ish

למדתי משהו תודה.

מיקי
מיקי
05/12/2017 22:55:01

אחלה פוסט, נשמח לרוא עוד

אוהד בוסטון האחר
אוהד בוסטון האחר
06/12/2017 18:18:01

מגניב
אני באופן אישי מעדיף לנתח נתונים ב matlab
אבל כנראה זה בא משנות ניסיון של ניתוח נתונים ב Matlab

Dani din
Dani din
06/12/2017 23:27:20

מעולה. יש תחום שלם של תוכנות שיכולות לעזור לך. חבל לתכנת הכל. תקרא קצת על visual analytics. גם הכלים מגניבים ויש גם מחקר מעולה על איך כדאי להציג נתונים.

סולי
סולי
08/12/2017 23:56:38

מעניין מאד…חלום שלי שבטלוויזיה בארץ פרשנים ישתמשו במידע כמו שאתה נותן ואשכרה – יפרשנו ויחדשו לנו, במקום להגיד שוב ושוב "עניין של ביטחון" סגירה לריבאונד" וכו'…