أفضل الممارسات لاستخدام واجهة برمجة تطبيقات كاشف الحالات الشاذة متعدد المتغيرات

هام

اعتبارا من 20 سبتمبر 2023، لن تتمكن من إنشاء موارد Anomaly Detector جديدة. يتم إيقاف خدمة Anomaly Detector في 1 أكتوبر 2026.

توفر هذه المقالة إرشادات حول الممارسات الموصى باتباعها عند استخدام واجهات برمجة تطبيقات Anomaly Detector (MVAD) متعددة المتغيرات. في هذا البرنامج التعليمي، سوف تتعلّم:

  • استخدام واجهة برمجة التطبيقات: تعرف على كيفية استخدام أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات دون أخطاء.
  • هندسة البيانات: تعرف على أفضل طريقة لطهي بياناتك بحيث تعمل أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات بدقة أفضل.
  • المخاطر الشائعة: تعرف على كيفية تجنب المخاطر الشائعة التي يواجهها العملاء.
  • الأسئلة المتداولة: تعرف على الإجابات عن الأسئلة المتداولة.

استخدام واجهة برمجة التطبيقات API

اتبع الإرشادات الموجودة في هذا القسم لتجنب الأخطاء أثناء استخدام أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات. إذا كنت لا تزال تتلقى أخطاء، فراجع القائمة الكاملة برموز الأخطاء للحصول على تفسيرات وإجراءات يجب اتخاذها.

معلمات الإدخال

تتمثل المعلمات المطلوبة في الآتي

هذه المعلمات الثلاثة مطلوبة في طلبات API للتدريب والاستدلال:

  • source - الارتباط إلى ملف zip الموجود في Azure Blob Storage مع توقيعات الوصول المشترك (SAS).
  • startTime - وقت بدء البيانات المستخدمة للتدريب أو الاستدلال. إذا كان أقدم من الطابع الزمني الفعلي الأقدم في البيانات، فسيتم استخدام الطابع الزمني الفعلي أقرب كنقطة انطلاق.
  • endTime - وقت انتهاء البيانات المستخدمة للتدريب أو الاستدلال الذي يجب أن يكون أحدث من أو يساوي startTime. إذا كان endTime أحدث طابع زمني فعلي في البيانات، فسيتم استخدام أحدث طابع زمني فعلي كنقطة نهاية. إذا كان endTime يساوي startTime، فهذا يعني استنتاج نقطة بيانات واحدة والتي غالبا ما تستخدم في سيناريوهات الدفق.

المعلمات الاختيارية للتدريب API

المعلمات الأخرى للتدريب API اختيارية:

  • slidingWindow - كم عدد نقاط البيانات المستخدمة لتحديد الحالات الشاذة. يجب أن يكون عددًا صحيحًا بين 28 و2880. القيمة الافتراضية هي 300. k إذا كان slidingWindow لتدريب النموذج، يجب أن تكون النقاط على الأقل k متاحة من الملف المصدر أثناء الاستدلال للحصول على نتائج صالحة.

    MVAD يأخذ قطعة من نقاط البيانات لتحديد ما إذا كانت نقطة البيانات التالية شاذة. طول المقطع هو slidingWindow. يرجى مراعاة أمرين عند اختيار slidingWindow قيمة:

    1. خصائص البيانات: سواء كانت دورية ومعدل أخذ العينات. عندما تكون بياناتك دورية، يمكنك تعيين طول من 1 إلى 3 دورات ك slidingWindow. عندما تكون بياناتك بتردد عال (دقة صغيرة) مثل مستوى الدقيقة أو المستوى الثاني، يمكنك تعيين قيمة أعلى نسبيا من slidingWindow.
    2. المفاضلة بين وقت التدريب والاستدلال والتأثير المحتمل على الأداء. قد يتسبب أكبر slidingWindow في وقت تدريب/استدلال أطول. ليس هناك ما يضمن أن ال s الأكبر slidingWindowسيؤدي إلى مكاسب في الدقة. قد يتسبب صغير slidingWindow في صعوبة تقارب النموذج إلى الحل الأمثل. على سبيل المثال، من الصعب الكشف عن الحالات الشاذة عندما slidingWindow يكون لها نقطتان فقط.
  • alignMode - كيفية محاذاة متغيرات متعددة (سلسلة زمنية) على الطوابع الزمنية. هناك خياران لهذه المعلمة، Inner و Outer، والقيمة الافتراضية هي Outer.

    هذه المعلمة حرجة عند وجود اختلال بين تسلسل الطابع الزمني للمتغيرات. يحتاج النموذج إلى محاذاة المتغيرات على نفس تسلسل الطابع الزمني قبل إجراء مزيد من المعالجة.

    Inner يعني أن النموذج سيبلغ عن نتائج الكشف فقط على الطوابع الزمنية التي يكون لكل متغير قيمة عليها، أي تقاطع جميع المتغيرات. Outerيعني أن النموذج سيبلغ عن نتائج الكشف عن الطوابع الزمنية التي يكون لأي متغير قيمة عليها، أي اتحاد جميع المتغيرات.

    فيما يلي مثال لشرح قيم مختلفة alignModel .

    متغير-1

    الطابع الزمني قيمة
    2020-11-01 1
    2020-11-02 2
    2020-11-04 4
    2020-11-05 5

    متغير-2

    الطابع الزمني قيمة
    2020-11-01 1
    2020-11-02 2
    2020-11-03 3
    2020-11-04 4

    Inner ضم متغيرين

    الطابع الزمني المتغير-1 المتغير-2
    2020-11-01 1 1
    2020-11-02 2 2
    2020-11-04 4 4

    Outer ضم متغيرين

    الطابع الزمني المتغير-1 المتغير-2
    2020-11-01 1 1
    2020-11-02 2 2
    2020-11-03 nan 3
    2020-11-04 4 4
    2020-11-05 5 nan
  • fillNAMethod - كيفية ملء nan الجدول المدمج. قد تكون هناك قيم مفقودة في الجدول المدمج، ويجب معالجتها بشكل صحيح. نحن نقدم عدة طرق لملئها. الخيارات هي ⁦⁧Linear⁩⁩، و⁦⁧Previous⁩⁩، و⁦⁧Subsequent⁩⁩، و⁦⁧Zero⁩⁩، و⁦⁧Fixed⁩⁩ والقيمة الافتراضية هي ⁧⁧Linear⁩⁩.

    الخيار الطريقة
    Linear تعبئة nan القيم حسب الاستنتاج الخطي
    Previous نشر آخر قيمة صالحة لملء الثغرات. مثال: [1, 2, nan, 3, nan, 4] ->[1, 2, 2, 3, 3, 4]
    Subsequent استخدم القيمة الصالحة التالية لملء الثغرات. مثال: [1, 2, nan, 3, nan, 4] ->[1, 2, 3, 3, 4, 4]
    Zero املأ nan القيم ب 0.
    Fixed املأ nan القيم بقيمة صالحة محددة يجب توفيرها في paddingValue.
  • paddingValue - يتم استخدام قيمة ترك المساحة للتعبئة nan عندما fillNAMethod يكون Fixed ويجب توفيره في هذه الحالة. الأمر اختياري في حالات أخرى.

  • displayName - هذه معلمة اختيارية تستخدم لتحديد النماذج. على سبيل المثال، يمكنك استخدامها لوضع علامة على المعلمات، ومصادر البيانات، وأي بيانات تعريف أخرى حول النموذج، وبيانات الإدخال الخاصة به. القيمة الافتراضية هي سلسلة فارغة.

مخطط بيانات الإدخال

يكتشف MVAD الحالات الشاذة من مجموعة من المقاييس، ونسمي كل مقياس متغيرا أو سلسلة زمنية.

  • يمكنك تنزيل نموذج ملف البيانات من Microsoft للتحقق من المخطط المقبول من: https://aka.ms/AnomalyDetector/MVADSampleData

  • يجب أن يحتوي كل متغير على حقلين فقط، وvalue، timestamp ويجب تخزينه في ملف قيم مفصولة بفواصل (CSV).

  • يجب أن تكون أسماء أعمدة ملف CSV دقيقة timestamp و، حساسة valueلحالة الأحرف.

  • timestamp يجب أن تتوافق القيم مع ISO 8601؛ value يمكن أن تكون أعدادا صحيحة أو عشرية بأي عدد من المنازل العشرية. مثال جيد على محتوى ملف CSV:

    الطابع الزمني قيمة
    2019-04-01T00:00:00Z 5
    2019-04-01T00:01:00Z 3.6
    2019-04-01T00:02:00Z 4
    ... ...

    إشعار

    إذا كان للطوابع الزمنية ساعات و/أو دقائق و/أو ثوانٍ، فتأكد من تجميعها بشكل صحيح قبل استدعاء APIs.

    على سبيل المثال، إذا كان من المفترض أن يكون تردد البيانات نقطة بيانات واحدة كل 30 ثانية، ولكنك تشاهد طوابع زمن مثل "12:00:01" و"12:00:28"، فهي إشارة قوية بأنه يجب عليك معالجة الطوابع الزمنية مسبقًا لقيم جديدة مثل "12:00:00" و"12:00:30".

    للحصول على التفاصيل، يرجى الرجوع إلى قسم "تقريب الطابع الزمني" في مستند أفضل الممارسات.

  • سيتم استخدام اسم ملف csv كاسم متغير ويجب أن يكون فريدًا. على سبيل المثال: "temperature.csv" و"humidity.csv".

  • وينبغي أن تكون متغيرات التدريب ومتغيرات الاستدلال متسقة. على سبيل المثال، إذا كنت تستخدم series_1و series_2series_3series_4و و series_5 للتدريب، يجب توفير نفس المتغيرات للاستدلال بالضبط.

  • يجب ضغط ملفات CSV في ملف مضغوط وتحميلها إلى حاوية مخزن Azure للكائنات الثنائية كبيرة الحجم. يمكن تسمية الملف المضغوط أي اسم تريده.

بنية المجلد

خطأ شائع في إعداد البيانات هو المجلدات الإضافية في الملف البريدي. على سبيل المثال، افترض أن اسم الملف المضغوط هو series.zip. ثم بعد فك ضغط الملفات إلى مجلد ./seriesجديد ، يكون المسار الصحيح إلى ملفات CSV ومسارا ./series/series_1.csv خاطئا يمكن أن يكون ./series/foo/bar/series_1.csv.

المثال الصحيح لشجرة الدليل بعد إلغاء ضغط الملف البريدي في Windows

.
└── series
    ├── series_1.csv
    ├── series_2.csv
    ├── series_3.csv
    ├── series_4.csv
    └── series_5.csv

مثال غير صحيح من شجرة الدليل بعد إلغاء ضغط الملف البريدي في Windows

.
└── series
    └── series
        ├── series_1.csv
        ├── series_2.csv
        ├── series_3.csv
        ├── series_4.csv
        └── series_5.csv

هندسة البيانات

يمكنك الآن تشغيل التعليمات البرمجية الخاصة بك باستخدام واجهات برمجة تطبيقات أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات دون أي خطأ. ما الذي يمكن عمله لتحسين دقة النموذج الخاص بك؟

جودة البيانات

  • كما يتعلم النموذج الأنماط العادية من البيانات التاريخية، يجب أن تمثل بيانات التدريب الحالة العادية العامة للنظام. من الصعب على النموذج معرفة هذه الأنواع من الأنماط إذا كانت بيانات التدريب مليئة بالحالات الخارجة عن المألوف. الحد التجريبي للمعدل غير الطبيعي هو 1% وأقل من الدقة الجيدة.
  • بشكل عام، يجب أن تكون نسبة القيمة المفقودة لبيانات التدريب أقل من 20%. قد ينتهي الأمر بالكثير من البيانات المفقودة بقيم مملوءة تلقائياً (عادةً قيم خطية أو قيم ثابتة) يتم تعلمها كنماذج عادية. وقد يؤدي ذلك إلى الكشف عن نقاط بيانات حقيقية (غير مفقودة) كحالات خارجة عن المألوف.

كمية البيانات

  • النموذج الأساسي لأداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات لديه الملايين من المعلمات. يحتاج إلى الحد الأدنى لعدد نقاط البيانات لمعرفة مجموعة مثالية من المعلمات. القاعدة التجريبية هي أنك تحتاج إلى توفير 5000 نقطة بيانات أو أكثر (طوابع زمنية) لكل متغير لتدريب النموذج على دقة جيدة. بشكل عام، كلما كانت بيانات التدريب أكثر، كانت الدقة أفضل. ومع ذلك، في الحالات التي لا تتمكن فيها من تجميع هذا القدر من البيانات، ما زلنا نشجعك على تجربة بيانات أقل ومعرفة ما إذا كانت الدقة المخترقة لا تزال مقبولة أم لا.

  • في كل مرة عندما تقوم باستدعاء واجهة برمجة التطبيقات الاستدلالية، تحتاج إلى التأكد من أن ملف البيانات المصدر يحتوي على نقاط بيانات كافية فقط. وهذا عادة slidingWindow + عدد نقاط البيانات التي تحتاج حقاً إلى نتائج الاستدلال. على سبيل المثال، في حالة دفق البيانات عندما تريد الاستدلال على طابع زمني جديد واحد في كل مرة، يمكن أن يحتوي ملف البيانات على نقطة بيانات بادئة slidingWindow واحدةإضافية فقط؛ ثم يمكنك الانتقال وإنشاء ملف مضغوط آخر بنفس عدد نقاط البيانات (slidingWindow + 1) ولكن نقل خطوة واحدة إلى الجانب "الأيمن" وإرسالها لوظيفة استدلالية أخرى.

    أي شيء يتجاوز ذلك أو "قبل" النافذة المنزلقة البادئة لن يؤثر على نتيجة الاستدلال على الإطلاق وقد يتسبب فقط في انخفاض الأداء. أي شيء أدناه قد يؤدي إلى حدوث خطأ NotEnoughInput .

تقريب الطابع الزمني

في مجموعة من المتغيرات (سلسلة زمنية)، قد يتم جمع كل متغير من مصدر مستقل. قد تكون الطوابع الزمنية للمتغيرات المختلفة غير متناسقة مع بعضها البعض ومع الترددات المعروفة. نضرب مثالاً بسيطاً.

متغير-1

الطابع الزمني قيمة
12:00:01 1.0
12:00:35 1.5
12:01:02 0.9
12:01:31 2.2
12:02:08 1.3

متغير-2

الطابع الزمني قيمة
12:00:03 2.2
12:00:37 2.6
12:01:09 1.4
12:01:34 1.7
12:02:04 2.0

لدينا متغيرين تم جمعهما من جهازي استشعار يرسلان نقطة بيانات واحدة كل 30 ثانية. ومع ذلك، لا ترسل أجهزة الاستشعار نقاط بيانات بتردد متساوٍ صارم، ولكن في بعض الأحيان في وقت سابق وأحياناً لاحقاً. نظرا لأن MVAD يأخذ في الاعتبار الارتباطات بين المتغيرات المختلفة، يجب محاذاة الطوابع الزمنية بشكل صحيح بحيث يمكن أن تعكس المقاييس حالة النظام بشكل صحيح. في المثال أعلاه، يجب أن تكون الطوابع الزمنية للمتغير 1 والمتغير 2 "مدورة" بشكل صحيح إلى ترددها قبل المحاذاة.

لنرى ماذا سيحدث إذا لم تتم معالجتها مسبقاً. إذا قمنا بتعيين alignMode ليكون Outer (مما يعني اتحاد مجموعتين)، فإن الجدول المدمج هو:

الطابع الزمني المتغير-1 المتغير-2
12:00:01 1.0 nan
12:00:03 nan 2.2
12:00:35 1.5 nan
12:00:37 nan 2.6
12:01:02 0.9 nan
12:01:09 nan 1.4
12:01:31 2.2 nan
12:01:34 nan 1.7
12:02:04 nan 2.0
12:02:08 1.3 nan

nan يشير إلى القيم المفقودة. من الواضح أن الجدول المدمج ليس ما كنت تتوقعه. يتداخل المتغير 1 والمتغير 2، ولا يمكن لنموذج أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات استخراج معلومات حول الارتباطات بينهما. إذا قمنا بتعيين alignMode إلى Inner، فإن الجدول المدمج فارغ حيث لا يوجد طابع زمني شائع في المتغير 1 والمتغير 2.

لذلك، يجب معالجة الطوابع الزمنية للمتغير 1 والمتغير 2 مسبقا (تقريبها إلى أقرب طوابع زمنية 30 ثانية) والسلسلة الزمنية الجديدة هي:

متغير-1

الطابع الزمني قيمة
12:00:00 1.0
12:00:30 1.5
12:01:00 0.9
12:01:30 2.2
12:02:00 1.3

متغير-2

الطابع الزمني قيمة
12:00:00 2.2
12:00:30 2.6
12:01:00 1.4
12:01:30 1.7
12:02:00 2.0

الآن الجدول المدمج هو معقول بشكل أكثر.

الطابع الزمني المتغير-1 المتغير-2
12:00:00 1.0 2.2
12:00:30 1.5 2.6
12:01:00 0.9 1.4
12:01:30 2.2 1.7
12:02:00 1.3 2.0

قيم المتغيرات المختلفة في الطوابع الزمنية القريبة متوافقة بشكل جيد، ويمكن لنموذج أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات الآن استخراج معلومات الارتباط.

القيود

هناك بعض القيود في كل من واجهات برمجة التطبيقات للتدريب والاستدلال، يجب أن تكون على دراية بهذه القيود لتجنب الأخطاء.

القيود العامة

  • النافذة المنزلقة: 28-2880 طابعاً زمنياً، الافتراضي هو 300. بالنسبة للبيانات الدورية، قم بتعيين طول 2-4 دورات كنافذة منزلقة.
  • الأرقام المتغيرة: للتدريب والاستدلال الدفعي، على الأكثر 301 متغيرا.

قيود التدريب

  • الطوابع الزمنية: 1000000 كحد أقصى. قد يقلل عدد قليل جداً من الطوابع الزمنية من جودة النموذج. يوصي بوجود أكثر من 5000 طابع زمني.
  • نقاوة: الحد الأدنى للنقاوة هو per_second.

قيود الاستدلال الدفعي

  • الطوابع الزمنية: 20000 كحد أقصى، طول النافذة المنزلقة 1 على الأقل.

قيود الاستدلال على الدفق

  • الطوابع الزمنية: 2880 كحد أقصى، طول النافذة المنزلقة 1 على الأقل.
  • الكشف عن الطوابع الزمنية: من 1 إلى 10.

جودة النموذج

كيف تتعامل مع الإيجابية الزائفة والسلبية الكاذبة في السيناريوهات الحقيقية؟

لقد قدمنا الخطورة التي تشير إلى أهمية الحالات الشاذة. يمكن تصفية الإيجابيات الخاطئة عن طريق إعداد حد على الخطورة. في بعض الأحيان قد يظهر عدد كبير جداً من الإيجابيات الخاطئة عند وجود تحولات في النمط في بيانات الاستدلال. في مثل هذه الحالات قد يحتاج النموذج إلى إعادة تدريبه على بيانات جديدة. إذا كانت بيانات التدريب تحتوي على عدد كبير جداً من الحالات الخارجة عن المألوف، فقد تكون هناك سلبيات خاطئة في نتائج الكشف. وذلك لأن النموذج يتعلم أنماطاً من بيانات التدريب وقد تجلب الحالات الخارجة عن المألوف تحيزاً للنموذج. وبالتالي قد يساعد تنظيف البيانات المناسب في تقليل السلبيات الكاذبة.

كيفية تقدير النموذج الأفضل للاستخدام وفقاً لفقدان التدريب وفقدان التحقق من الصحة؟

بشكل عام، من الصعب تحديد النموذج الأفضل دون مجموعة بيانات مسماة. ومع ذلك، يمكننا الاستفادة من خسائر التدريب والتحقق من الصحة للحصول على تقدير تقريبي وتجاهل تلك النماذج السيئة. أولاً، نحن بحاجة إلى ملاحظة ما إذا كانت خسائر التدريب تتقارب أم لا. غالباً ما تشير الخسائر المتباينة إلى جودة ضعيفة للنموذج. ثانياً، قد تساعد قيم الخسارة في تحديد ما إذا كان قد حدث نقص في الإعداد أو الإفراط في الاحتواء. قد لا تحقق النماذج غير الملائمة أو المناسبة الأداء المطلوب. ثالثاً، على الرغم من أن تعريف دالة الخسارة لا يعكس أداء الكشف مباشرة، فقد تكون قيم الخسارة أداة مساعدة لتقدير جودة النموذج. قيمة الخسارة المنخفضة هي شرط ضروري لنموذج جيد، وبالتالي قد نتجاهل النماذج ذات قيم الخسارة العالية.

المخاطر الشائعة

بصرف النظر عن جدول رمز الخطأ، تعلمنا من عملاء مثلك بعض المخاطر الشائعة أثناء استخدام واجهات برمجة تطبيقات أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات. سيساعدك هذا الجدول على تجنب هذه المشكلات.

المخاطر النتيجة الشرح والحل
لم يتم تقريب الطوابع الزمنية في بيانات التدريب و/أو بيانات الاستدلال للتوافق مع تكرار البيانات المعني لكل متغير. الطوابع الزمنية لنتائج الاستدلال ليست كما هو متوقع: إما عدد قليل جداً من الطوابع الزمنية أو عدد كبير جداً من الطوابع الزمنية. يرجى الرجوع إلى تقريب الطابع الزمني لأعلى.
عدد كبير جداً من نقاط البيانات الخارجة عن المألوف في بيانات التدريب وتتأثر دقة النموذج سلباً لأنها تعامل نقاط البيانات الخارجة عن المألوف كأنماط عادية أثناء التدريب. من الناحية التجريبية، سيساعدك الحفاظ على المعدل غير الطبيعي في أو أقل من 1%.
بيانات تدريب قليلة جداً يتم اختراق دقة النموذج. من الناحية التجريبية، يتطلب نموذج تدريب أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات 15,000 نقطة بيانات أو أكثر (الطوابع الزمنية) لكل متغير للحفاظ على دقة جيدة.
أخذ جميع نقاط البيانات مع isAnomaly=true كحالات خارجة عن المألوف الكثير من الإيجابيات الخاطئة يجب استخدام كل من isAnomaly وseverityscore (أو) لاستبعاد الحالات الخارجة عن المألوف التي ليست شديدة، و (اختيارياً) استخدم التجميع للتحقق من مدة الحالات الخارجة عن المألوف لقمع الضوضاء العشوائية. يرجى الرجوع إلى قسم الأسئلة المتداولة أدناه لمعرفة الفرق بين severity وscore.
يتم ضغط المجلدات الفرعية في ملف البيانات للتدريب أو الاستدلال. يتم تجاهل ملفات البيانات csv داخل المجلدات الفرعية أثناء التدريب و/أو الاستدلال. لا يسمح بالمجلدات الفرعية في الملف المضغوط. يرجى الرجوع إلى بنية المجلد للحصول على التفاصيل.
الكثير من البيانات في ملف بيانات الاستدلال: على سبيل المثال، ضغط كافة البيانات التاريخية في الملف المضغط لبيانات الاستدلال قد لا ترى أي أخطاء ولكن سوف تواجه انخفاض الأداء عند محاولة تحميل الملف المضغوط إلى Azure Blob وكذلك عند محاولة تشغيل الاستدلال. يرجى الرجوع إلى كمية البيانات للحصول على التفاصيل.
إنشاء موارد أداة الكشف عن الحالات الخارجة عن المألوف على مناطق Azure التي لا تدعم أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات بعد واستدعاء واجهات برمجة تطبيقات أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات ستحصل على خطأ "لم يتم العثور على المورد" أثناء استدعاء واجهات برمجة تطبيقات أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات. أثناء مرحلة الإصدار الأولي، تتوفر أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات في مناطق محدودة فقط. يرجى وضع إشارة مرجعية على ما الجديد في أداة الكشف لمواكبة عمليات الإطلاق لمنطقة MVAD. يمكنك أيضا تقديم مشكلة على GitHub أو الاتصال بنا AnomalyDetector@microsoft.com لطلب مناطق محددة.

الأسئلة المتداولة

كيف تعمل النافذة المنزلقة لأداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات؟

دعونا نستخدم مثالين لمعرفة كيفية عمل النافذة المنزلقة لأداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات. لنفترض أنك قمت بتعيين slidingWindow = 1440، وبيانات الإدخال الخاصة بك في نقاوة في دقيقة واحدة.

  • سيناريو دفق البيانات: تريد التنبؤ بما إذا كانت نقطة بيانات واحدة في "2021-01-02T00:00:00Z" خارجة عن المألوف. سيكون startTime وendTime نفس القيمة ("2021-01-02T00:00:00Z"). ومع ذلك، يجب أن يحتوي مصدر بيانات الاستدلال على ما لا يقل عن 1,440 + 1 طابع زمني. لأن أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات ستأخذ البيانات البادئة قبل نقطة البيانات الهدف ("2021-01-02T00:00:00Z") لتحديد ما إذا كان الهدف خارجاً عن المألوف أم لا. طول بيانات البادئة المطلوبة هو slidingWindow أو 1,440 في هذه الحالة. 1440 = 60 * 24، لذلك يجب أن تبدأ بيانات الإدخال من "2021-01-01T00:00:00Z".

  • سيناريو الدُفعة: لديك نقاط بيانات هدف متعددة للتنبؤ بها. سيكون endTime الخاص بك أكبر من startTime الخاص بك. يتم تنفيذ الاستدلال في مثل هذه السيناريوهات بطريقة "نافذة متحركة". على سبيل المثال، ستستخدم أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات البيانات من 2021-01-01T00:00:00Z إلى 2021-01-01T23:59:00Z (شاملة) لتحديد ما إذا كانت البيانات في 2021-01-02T00:00:00Z خارجة عن المألوف. ثم ينتقل إلى الأمام ويستخدم البيانات من 2021-01-01T00:01:00Z إلى 2021-01-02T00:00:00Z (شاملة) لتحديد ما إذا كانت البيانات في 2021-01-02T00:01:00Z خارجة عن المألوف. فإنه يتحرك بنفس الطريقة (أخذ 1,440 نقطة بيانات للمقارنة) حتى الطابع الزمني الأخير المحدد من قبل endTime (أو أحدث طابع زمني فعلي). لذلك، يجب أن يحتوي مصدر بيانات الاستدلال على بيانات تبدأ من startTime - slidingWindow وتحتوي بشكل مثالي على إجمالي الحجم slidingWindow + ().endTime - startTime

ما الفرق بين severity وscore؟

عادة ما نوصيك باستخدام severity كعامل تصفية لفرز "الحالات الخارجة عن المألوف" التي ليست مهمة جداً لعملك. اعتماداً على السيناريو ونمط البيانات، غالباً ما يكون لتلك الحالات الخارجة عن المألوف الأقل أهمية قيم severity أقل نسبياً أو قيم severity عالية مستقلة (غير متقطعة) مثل الارتفاعات العشوائية.

في الحالات التي وجدت فيها حاجة إلى قواعد أكثر تعقيداً من الحدود مقابل severity أو مدة القيم severity العالية المستمرة، قد تحتاج إلى استخدام score لإنشاء عوامل تصفية أكثر قوة. قد يساعد فهم كيفية استخدام أداة الكشف عن الحالات الخارجة عن المألوف متعددة المتغيرات score لتحديد الحالات الخارجة عن المألوف:

وينظر النموذج فيما إذا كانت نقطة البيانات خارجة عن المألوف من المنظورين العالمي والمحلي على حد سواء. إذا كان score في الطابع الزمني أعلى من حد معين، فسيتم وضع علامة على الطابع الزمني على أنه حالة خارجة عن المألوف. إذا كان score أقل من الحد الأدنى ولكنه أعلى نسبياً في أحد الشرائح، يتم تمييزه أيضاً على أنه حالة خارجة عن المألوف.

الخطوات التالية