Predictive Analytics - Test case

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

  • מקומיים – מיקום התאונה 

  • זמניים – התקופה בשנה (חורף, קיץ), היום בשבוע, האם יום חג וכד'

  • סביבתיים – תנאי מזג האויר

רצינו לנתח את הרעיון בצורה מדויקת יותר: לנתח בסיס נתונים ענק (big data) וליישם מודלים של Artificial intelligence) AI) לצורך ביצוע Predictive Analytics.

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

את היישום בחרנו לעשות ב Azure Machine Learning Studio.

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

הצעדים יכולים להתבצע בטור או במקביל.

ב Azure Machine Learning Studio ישנו סט גדול של פונציות מובנות שניתן להשתמש בהם ולהתאים אותם בהתאם לנדרש:

החל ביבוא הנתונים (ממקורות שונים), עבור במניפולציות שונות על הנתונים (סינון, הסבה, join עם סטים אחרים ועוד), וכמובן ליבת הענין – צעדים שמיישמים אלגוריתמים שונים של AI (כמו regression, decision trees, neural network  ועוד).

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

  • מחוז

  • יום בשבוע (יום חול או סופ"ש)

  • קיץ או חורף

  • עומס יום / קור​

  • יום גשום או לא

והפרמטר הנבחן הוא מספר התאונות שארעו.​​​​

כך נראה התהליך כולו, כפי שבנינו אותו ב Azure machine learning studio.

מספר דגשים:

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

  • פלט של צעת משמש קלט לצעד שאחריו.

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

רפרטואר הפונקציות מורכב מכמה קטגוריות:

  • ייבוא נתונים ממקורות שונים

  • טרנספורמציות שונות על הנתונים: השלכות, הסבות, פילטרים, Joins וכד'

  • ליבת הענין - אלגוריתמים שונים של Machine learning

  • traninig  למודל

  • הרצת המודל על נתונים 

  • הערכת פלט המודל

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

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

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

והפונקציה האחרונה בתהליך מציגה את איכות הניבוי