אנומליות הן ערכים הנמצאים מחוץ לערכים הצפויים או לטווח הערכים.
בגרפיקה המתארת את נתוני סידרת הזמן, יש אזור מוצלל בהיר המציין את הגבול, או טווח הרגישות. הקו הכחול המוצק משמש לציון הערכים שנמדדו. כאשר ערך נמדד נמצא מחוץ לגבול המוצלל, נקודה כתומה משמשת לציון הערך נחשב לאנומליה. גבול הרגישות הוא פרמטר שבאפשרותך לציין בעת התקשרות לשירות. זה מאפשר לך להתאים את הגדרות הגבול כדי לשנות את התוצאות.
זיהוי אנומליה נחשב לפעולה של זיהוי אירועים, או תצפיות, השונים באופן משמעותי משאר הנתונים המוערכים. זיהוי אנומליות מדויק מוביל לפתרון בעיות מהיר, המסייע למנוע אובדן הכנסות ולשמור על מוניטין המותג.
גלאי אנומליה הוא חלק מהקטגוריה שירותי החלטה בתוך השירותים הקוגניטיביים של Azure. זהו שירות מבוסס ענן המאפשר לך לנטר נתוני סדרות זמן, ולזהות חריגות בנתונים אלה. זה לא דורש ממך לדעת למידת מכונה. אתה יכול להשתמש ב- REST API כדי לשלב גלאי אנומליה ביישומים שלך בקלות יחסית. השירות משתמש במושג אסטרטגיה של "פרמטר אחד". הפרמטר העיקרי שאתה צריך להתאים אישית הוא "רגישות", אשר מ 1 עד 99 כדי להתאים את התוצאה כדי להתאים את התרחיש. השירות יכול לזהות אנומליות בנתוני סדרות זמן היסטוריות וגם בנתונים בזמן אמת כגון הזרמת קלט ממכשירי IoT, חיישנים או מקורות קלט זורמים אחרים.
שירות גלאי האנומליה מזהה אנומליות הקיימות מחוץ לתחום הגבול. הגבול נקבע באמצעות ערך רגישות. כברירת מחדל, הגבולות העליונים והתחתונים לזיהוי אנומליות מחושבים באמצעות מושגים הידועים כ- ExpectValue, UpperMargin ו- LowerMargin. הגבולות העליונים והתחתונים מחושבים באמצעות שלושת הערכים הללו. אם ערך חורג משני הגבולות, הוא יזוהה כאנומליה. באפשרותך להתאים את הגבולות על-ידי החלת marginScale על השוליים העליונים והתחתונים, כפי שמודגם על-ידי הנוסחה הבאה.
גבול עליון = צפויערך + (100 – שולייםScale) * upperMargin
תבנית נתונים
שירות גלאי האנומליה מקבל נתונים בפורמט JSON. באפשרותך להשתמש בכל הנתונים המספריים שהקלטת לאורך זמן. ההיבטים העיקריים של הנתונים הנשלחים כוללים את הפירוט, חותמת הזמן והערך
שנרשם עבור חותמת זמן זו. דוגמה לאובייקט JSON שאתה עשוי לשלוח ל- API מוצגת בדוגמת קוד זו. הגרעיניות מוגדרת לפי שעה ומשמשת לייצוג טמפרטורות במעלות צלזיוס שנרשמו בחותמות הזמן שצוינו.
{
"גרעיניות": "לפי שעה",
"סדרה": [
{
"חותמת זמן": "2021-03-02T01:00:00Z",
"ערך": -10.56
},
{
"חותמת זמן": "2021-03-02T02:00:00Z",
"ערך": -8.30
},
{
"חותמת זמן": "2021-03-02T03:00:00Z",
"ערך": -10.30
},
{
"חותמת זמן": "2021-03-02T04:00:00Z",
"ערך": 5.95
},
]
}
השירות יתמוך במקסימום של 8640 נקודות נתונים עם זאת, שליחת נקודות נתונים רבות כל כך באותו אובייקט JSON, עלולה לגרום להשהיה של התגובה. באפשרותך לשפר את התגובה על-ידי שבירת נקודות הנתונים שלך לגושים קטנים יותר (חלונות) ושליחתן ברצף.
אותה תבנית אובייקט JSON משמשת בתרחיש זרימה. ההבדל העיקרי הוא שתשלח ערך יחיד בכל בקשה. שיטת זיהוי הזרימה תשווה בין הערך הנוכחי שנשלח לבין הערך הקודם שנשלח.
המלצות לעקביות נתונים
אם ייתכן שהנתונים שלך כוללים ערכים חסרים ברצף, שקול את ההמלצות הבאות.
- הדגימה מתרחשת כל כמה דקות וחסרות בה פחות מ-10% ממספר הנקודות הצפוי. במקרה זה, ההשפעה צריכה להיות זניחה על תוצאות הזיהוי.
- אם חסרים לך יותר מ-10%, קיימות אפשרויות שיעזרו לך "למלא" את ערכת הנתונים. שקול להשתמש בשיטת אינטרפולציה ליניארית כדי למלא את הערכים החסרים ולהשלים את ערכת הנתונים. זה ימלא פערים עם ערכים מחולקים באופן שווה.
שירות גלאי האנומליה יספק את התוצאות הטובות ביותר אם נתוני סדרת הזמן שלך מפוזרים באופן שווה. אם הנתונים מפוזרים באופן אקראי יותר, באפשרותך להשתמש בשיטת צבירה כדי ליצור ערכת נתונים להפצה שווה יותר.
מתי להשתמש בגלאי אנומליה
שירות גלאי האנומליה תומך בעיבוד אצווה של נתוני סדרות זמן ובזיהוי אנומליה בנקודה האחרונה עבור נתונים בזמן אמת.
זיהוי אצווה
זיהוי אצווה כרוך בהחלת האלגוריתם על סדרת נתונים שלמה בו זמנית. הרעיון של נתוני סדרות זמן כרוך בהערכה של ערכת נתונים כאצווה. השתמש בסדרות הזמן שלך כדי לזהות חריגות שעשויות להתקיים בכל הנתונים שלך. פעולה זו יוצרת מודל המשתמש בכל נתוני סדרת הזמן שלך, כאשר כל נקודה מנותחת באמצעות אותו מודל.
זיהוי אצווה משמש בצורה הטובה ביותר כאשר הנתונים שלך מכילים:
- נתוני סדרות זמן מגמה שטוחות עם עליות חדות או ירידות מדי פעם
- נתוני סדרות זמן עונתיות עם חריגות מזדמנות
- עונתיות נחשבת לדפוס בנתונים שלך, המתרחש במרווחי זמן קבועים. דוגמאות לכך יהיו דפוסים שעתיים, יומיים או חודשיים. שימוש בנתונים עונתיים, וציון תקופה עבור דפוס זה, יכולים לסייע בהפחתת ההשהיה בזיהוי.
בעת שימוש במצב זיהוי אצווה, Anomaly Detector יוצר מודל סטטיסטי יחיד המבוסס על כל ערכת הנתונים שאתה מעביר לשירות. ממודל זה, כל נקודת נתונים במערך הנתונים מוערכת ומזוהות אנומליות.
דוגמה לזיהוי אצווה
חשבו על חברת תרופות שמאחסנת תרופות במתקני אחסון שבהם הטמפרטורה במתקנים צריכה להישאר בטווח מסוים. כדי להעריך אם התרופה נותרה מאוחסנת בטווח טמפרטורות בטוח בשלושת החודשים האחרונים עלינו לדעת:
- הטמפרטורה המרבית המותרת
- הטמפרטורה המינימלית המותרת
- משך הזמן המקובל לטמפרטורות להיות מחוץ לטווח הבטוח
אם אתה מעוניין להעריך תאימות על פני קריאות היסטוריות, אתה יכול לחלץ את נתוני סדרת הזמן הנדרשים, לארוז אותם לתוך אובייקט JSON, ולשלוח אותו לשירות גלאי אנומליה להערכה. לאחר מכן תהיה לך תצוגה היסטורית של קריאות הטמפרטורה לאורך זמן.
זיהוי בזמן אמת
זיהוי בזמן אמת משתמש בנתוני זרימה על-ידי השוואת נקודות נתונים שנראו בעבר לנקודת הנתונים האחרונה כדי לקבוע אם נקודת הנתונים האחרונה שלך היא אנומליה. פעולה זו יוצרת מודל באמצעות נקודות הנתונים שאתה שולח, וקובעת אם נקודת היעד (הנוכחית) היא אנומליה. על-ידי התקשרות לשירות עם כל נקודת נתונים חדשה שאתה יוצר, באפשרותך לנטר את הנתונים שלך בעת יצירתם.
דוגמה לזיהוי בזמן אמת
חשבו על תרחיש בתעשיית המשקאות המוגזים שבו זיהוי אנומליות בזמן אמת עשוי להיות שימושי. הפחמן הדו-חמצני שמתווסף למשקאות קלים במהלך תהליך הבקבוק או השימורים צריך להישאר בטווח טמפרטורות מסוים.
מערכות בקבוקים משתמשות במכשיר המכונה מצנן פחמימות כדי להשיג את הקירור של המוצר לתהליך זה. אם הטמפרטורה יורדת נמוך מדי, המוצר יקפא במקרר הקרבו. אם הטמפרטורה חמה מדי, הפחמן הדו-חמצני לא יידבק כראוי. כל אחד מהמצבים גורם לאצוות מוצר שלא ניתן למכור ללקוחות.
תרחיש זה של משקאות מוגזים הוא דוגמה למקום שבו ניתן להשתמש בזיהוי סטרימינג לקבלת החלטות בזמן אמת. זה יכול להיות קשור לתוך יישום השולט על ציוד קו בקבוק. אתה יכול להשתמש בו כדי להזין תצוגות המתארות את טמפרטורות המערכת עבור תחנת בקרת האיכות. טכנאי שירות עשוי גם להשתמש בו כדי לזהות פוטנציאל כשל בציוד וצרכי שירות.
אתה יכול להשתמש בשירות גלאי אנומליה כדי ליצור יישום ניטור המוגדר עם הקריטריונים לעיל לביצוע ניטור טמפרטורה בזמן אמת. ניתן לבצע זיהוי אנומליות באמצעות טכניקות הזרמה וזיהוי אצווה. זיהוי סטרימינג שימושי ביותר לניטור דרישות אחסון קריטיות שיש לפעול לפיהן באופן מיידי. חיישנים ינטרו את הטמפרטורה בתוך התא וישלחו קריאות אלה ליישום שלך או למרכז אירועים ב- Azure. גלאי אנומליה יעריך את נקודות הנתונים הזורמים ויקבע אם נקודה היא אנומליה.