شعار زيفيرنت

قم ببناء كاشف شذوذ في جودة الهواء باستخدام Amazon Lookout for Metrics

التاريخ:

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

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

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

يقوم Lookout for Metrics تلقائيًا باكتشاف وتشخيص الحالات الشاذة (القيم المتطرفة من القاعدة) في البيانات التجارية والتشغيلية. إنها خدمة ML مُدارة بالكامل تستخدم نماذج ML المتخصصة لاكتشاف الحالات الشاذة بناءً على خصائص بياناتك. على سبيل المثال ، تعد الاتجاهات والموسمية سمتين لمقاييس السلاسل الزمنية التي لا يعمل فيها اكتشاف الانحراف المستند إلى الحد الأدنى. الاتجاهات هي اختلافات مستمرة (زيادة أو نقصان) في قيمة المقياس. من ناحية أخرى ، فإن الموسمية هي أنماط دورية تحدث في نظام ما ، وعادة ما ترتفع فوق خط الأساس ثم تتناقص مرة أخرى. لا تحتاج إلى خبرة في تعلم الآلة لاستخدام Lookout for Metrics.

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

حل نظرة عامة

تتكون العمارة من ثلاث كتل وظيفية:

  • أجهزة استشعار لاسلكية موضوعة في مواقع استراتيجية لاستشعار مستوى تركيز أول أكسيد الكربون (CO) وثاني أكسيد الكبريت (SO2) وثاني أكسيد النيتروجين (NO2) في الهواء
  • تدفق واستيعاب البيانات وتخزينها
  • الكشف عن الشذوذ والإخطار

يوفر الحل مسار بيانات مؤتمت بالكامل من المستشعرات وصولاً إلى الإخطار الذي يتم رفعه إلى المستخدم. يمكنك أيضًا التفاعل مع الحل باستخدام Lookout for Metrics UI لتحليل الحالات الشاذة المحددة.

يوضح الرسم البياني التالي بنية الحلول لدينا.

المتطلبات الأساسية المسبقة

أنت بحاجة إلى المتطلبات الأساسية التالية قبل أن تتمكن من متابعة الحل. في هذا المنشور ، نستخدم منطقة us-east-1.

  1. قم بتنزيل نص Python النصي (Publish.py) وملف البيانات من جيثب ريبو.
  2. فتح live_data.csv ملف في المحرر المفضل لديك واستبدال التواريخ لتكون اليوم وتاريخ الغد. على سبيل المثال ، إذا كان تاريخ اليوم هو 8 يوليو 2022 ، فاستبدل 2022-03-25 مع 2022-07-08. احتفظ بالصيغة نفسها. هذا مطلوب لمحاكاة بيانات المستشعر للتاريخ الحالي باستخدام البرنامج النصي لمحاكاة إنترنت الأشياء.
  3. خلق خدمة تخزين أمازون البسيطة (Amazon S3) ومجلد باسم air-quality. قم بإنشاء مجلد فرعي بالداخل air-quality عين historical. للحصول على التعليمات ، انظر إنشاء مجلد.
  4. تحميل live_data.csv ملف في دلو الجذر S3 و historical_data.json في المجلد التاريخي.
  5. خلق سحابة AWS 9 بيئة التطوير ، التي نستخدمها لتشغيل برنامج محاكاة Python لإنشاء بيانات مستشعر لهذا الحل.

استيعاب البيانات وتحويلها باستخدام AWS IoT Core و Kinesis Data Firehose

نحن نستخدم تدفق توصيل Kinesis Data Firehose لاستيعاب تدفق البيانات من AWS إنترنت الأشياء الأساسية وتسليمها إلى Amazon S3. أكمل الخطوات التالية:

  1. في وحدة التحكم Kinesis Data Firehose ، اختر إنشاء دفق التسليم.
  2. في حالة مصدر، اختر وضع مباشر.
  3. في حالة الرحلات، اختر الأمازون S3.
  4. في حالة اسم تيار التسليم، أدخل اسمًا لتيار التسليم الخاص بك.
  5. في حالة دلو S3، أدخل الحاوية التي قمت بإنشائها كشرط أساسي.
  6. أدخل قيمًا لـ بادئة دلو S3 و بادئة إخراج خطأ حاوية S3إحدى النقاط الرئيسية التي يجب ملاحظتها هي تكوين البادئة المخصصة التي تم تكوينها لوجهة Amazon S3. يتأكد نمط البادئة هذا من إنشاء البيانات في حاوية S3 وفقًا للتسلسل الهرمي للبادئة الذي يتوقعه Lookout for Metrics. (المزيد عن هذا لاحقًا في هذا المنشور.) لمزيد من المعلومات حول البادئات المخصصة ، راجع بادئات مخصصة لكائنات Amazon S3.
  7. في حالة الفاصل الزمني العازلة، أدخل 60.
  8. اختار إنشاء أو تحديث دور IAM.
  9. اختار إنشاء دفق التسليم.

    نقوم الآن بتكوين AWS IoT Core وتشغيل برنامج محاكاة جودة الهواء.
  10. في وحدة تحكم AWS IoT Core ، إنشاء سياسة AWS IoT يسمى المشرف.
  11. في جزء التنقل أسفل توجيه الرسائل، اختر قوانيـن.
  12. اختار إنشاء قاعدة.
  13. إنشاء قاعدة مع Kinesis Data Firehose (firehose) action.
    يرسل هذا البيانات من رسالة MQTT إلى تدفق توصيل Kinesis Data Firehose.
  14. اختار إنشاء.
  15. أنشئ شيء AWS IoT بالاسم Test-Thing وأرفق السياسة التي أنشأتها.
  16. قم بتنزيل الشهادة والمفتاح العام والمفتاح الخاص وشهادة الجهاز و CA الجذر لـ AWS IoT Core.
  17. احفظ كل ملف من الملفات التي تم تنزيلها في ملف certificates الدليل الفرعي الذي قمت بإنشائه مسبقًا.
  18. قم بتحميل publish.py إلى ملف iot-test-publish المجلد.
  19. في وحدة تحكم AWS IoT Core ، في جزء التنقل ، اختر الإعدادات.
  20. تحت نقطة نهاية مخصصة، انسخ نقطة النهاية.
    يعد عنوان URL المخصص لنقطة النهاية المخصص لـ AWS IoT Core شخصيًا لحساب AWS الخاص بك والمنطقة.
  21. استبدل customEndpointUrl باستخدام عنوان URL المخصص لنقطة النهاية المخصصة لـ AWS IoT Core والشهادات التي تحمل اسم الشهادة و Your_S3_Bucket_Name باسم دلو S3 الخاص بك.
    بعد ذلك ، تقوم بتثبيت pip و AWS IoT SDK للغة Python.
  22. سجّل الدخول إلى AWS Cloud9 وأنشئ دليل عمل في بيئة التطوير الخاصة بك. فمثلا: aq-iot-publish.
  23. قم بإنشاء دليل فرعي للشهادات في دليل العمل الجديد الخاص بك. فمثلا: certificates.
  24. قم بتثبيت AWS IoT SDK لـ Python v2 عن طريق تشغيل ما يلي من سطر الأوامر.
    pip install awsiotsdk

  25. لاختبار خط أنابيب البيانات ، قم بتشغيل الأمر التالي:
    python3 publish.py

يمكنك رؤية الحمولة في لقطة الشاشة التالية.

أخيرًا ، يتم تسليم البيانات إلى حاوية S3 المحددة في بنية البادئة.

تكون بيانات الملفات كالتالي:

  • {"TIMESTAMP":"2022-03-20 00:00","LOCATION_ID":"B-101","CO":2.6,"SO2":62,"NO2":57}
  • {"TIMESTAMP":"2022-03-20 00:05","LOCATION_ID":"B-101","CO":3.9,"SO2":60,"NO2":73}

توضح الطوابع الزمنية أن كل ملف يحتوي على بيانات لفترات زمنية مدتها 5 دقائق.

باستخدام الحد الأدنى من التعليمات البرمجية ، فقد استوعبنا الآن بيانات المستشعر ، وأنشأنا تدفقًا للإدخال من البيانات التي تم إدخالها ، وقمنا بتخزين البيانات في حاوية S3 بناءً على متطلبات Lookout for Metrics.

في الأقسام التالية ، نلقي نظرة أعمق على التركيبات داخل Lookout for Metrics ، ومدى سهولة تكوين هذه المفاهيم باستخدام وحدة التحكم في Lookout for Metrics.

إنشاء كاشف

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

في حالة الاستخدام لدينا ، يقوم الكاشف بتحليل البيانات من المستشعر كل 5 دقائق.

لإنشاء الكاشف ، انتقل إلى وحدة التحكم في Lookout for Metrics واختر إنشاء كاشف. قم بتوفير اسم ووصف (اختياري) للكاشف ، بالإضافة إلى فاصل زمني مدته 5 دقائق.

يتم تشفير بياناتك افتراضيًا باستخدام مفتاح تمتلكه AWS وتديره نيابةً عنك. يمكنك أيضًا التهيئة إذا كنت تريد استخدام مفتاح تشفير مختلف عن المفتاح المستخدم افتراضيًا.

الآن دعنا نوجه هذا الكاشف إلى البيانات التي تريده أن يقوم بتشغيل اكتشاف الشذوذ عليها.

أنشئ مجموعة بيانات

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

  1. في وحدة تحكم Amazon Lookout for Metrics ، انتقل إلى كاشفك.
  2. اختار أضف مجموعة بيانات.
  3. في حالة الاسم، أدخل اسمًا (على سبيل المثال ، air-quality-dataset).
  4. في حالة مصدر البيانات، اختر مصدر البيانات الخاص بك (لهذا المنشور ، Amazon S3).
  5. في حالة وضع الكاشف، حدد وضعك (لهذه المشاركة ، مستمر).

باستخدام Amazon S3 ، يمكنك إنشاء كاشف في وضعين:

    • Backtest - يستخدم هذا الوضع للعثور على الحالات الشاذة في البيانات التاريخية. يحتاج إلى دمج جميع السجلات في ملف واحد.
    • مستمر - يستخدم هذا الوضع لاكتشاف الحالات الشاذة في البيانات الحية. نستخدم هذا الوضع مع حالة الاستخدام الخاصة بنا لأننا نريد اكتشاف الحالات الشاذة حيث نتلقى بيانات ملوثات الهواء من مستشعر مراقبة الهواء.
  1. أدخل مسار S3 لمجلد S3 المباشر ونمط المسار.
  2. في حالة الفاصل الزمني لمصدر البيانات، اختر 5 دقائقإذا كانت لديك بيانات تاريخية يمكن للكاشف من خلالها التعرف على الأنماط ، فيمكنك توفيرها أثناء هذا التكوين. من المتوقع أن تكون البيانات بنفس التنسيق الذي تستخدمه لإجراء الاختبار الخلفي. يؤدي توفير البيانات التاريخية إلى تسريع عملية تدريب نموذج ML. إذا لم يكن هذا متاحًا ، فإن الكاشف المستمر ينتظر توفر بيانات كافية قبل إجراء الاستدلالات.
  3. بالنسبة لهذا المنشور ، لدينا بالفعل بيانات تاريخية ، لذا اختر استخدم البيانات التاريخية.
  4. أدخل مسار S3 الخاص بـ historical_data.json.
  5. في حالة تنسيق الملف، حدد خطوط JSON.

في هذه المرحلة ، يصل Lookout for Metrics إلى مصدر البيانات ويتحقق مما إذا كان يمكنه تحليل البيانات. إذا كان التحليل ناجحًا ، فإنه يمنحك رسالة "تم التحقق من الصحة بنجاح" وينقلك إلى الصفحة التالية ، حيث يمكنك تكوين المقاييس والأبعاد والطوابع الزمنية.

تكوين المقاييس والأبعاد والطوابع الزمنية

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

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

في حالة الاستخدام الخاصة بنا ، نضيف ثلاثة مقاييس ، والتي تحسب متوسط ​​الأجسام التي يتم رؤيتها في فترة الخمس دقائق ، ولها بعد واحد فقط ، يتم قياس تركيز الملوثات من أجله.

يجب أن يحتوي كل سجل في مجموعة البيانات على طابع زمني. يتيح لك التكوين التالي اختيار الحقل الذي يمثل قيمة الطابع الزمني وأيضًا تنسيق الطابع الزمني.

تسمح لك الصفحة التالية بمراجعة جميع التفاصيل التي قمت بإضافتها ثم حفظ وتفعيل الكاشف.

ثم يبدأ الكاشف في تعلم تدفق البيانات إلى مصدر البيانات. في هذه المرحلة ، تتغير حالة الكاشف إلى Initializing.

من المهم ملاحظة الحد الأدنى من البيانات المطلوبة قبل أن تبدأ Lookout for Metrics في اكتشاف الحالات الشاذة. لمزيد من المعلومات حول المتطلبات والقيود ، راجع بالمرصاد لحصص المقاييس.

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

تصور الحالات الشاذة

يوفر Lookout for Metrics تجربة واجهة مستخدم ثرية للمستخدمين الذين يرغبون في استخدام وحدة تحكم إدارة AWS لتحليل الحالات الشاذة التي يتم اكتشافها. كما يوفر القدرة على الاستعلام عن الحالات الشاذة عبر واجهات برمجة التطبيقات.

لنلقِ نظرة على مثال شذوذ تم اكتشافه من حالة استخدام بيانات جودة الهواء. تُظهر لقطة الشاشة التالية حالة شاذة تم اكتشافها في تركيز ثاني أكسيد الكربون في الهواء في الوقت والتاريخ المحددين بدرجة شدة تبلغ 93. كما تُظهر النسبة المئوية لمساهمة البعد تجاه الانحراف. في هذه الحالة ، تأتي المساهمة بنسبة 100٪ من بُعد معرف الموقع B-101.

إنشاء التنبيهات

يتيح لك Lookout for Metrics إرسال تنبيهات باستخدام مجموعة متنوعة من القنوات. يمكنك تكوين حد درجة خطورة الحالة الشاذة التي يجب عندها تشغيل التنبيهات.

في حالة الاستخدام الخاصة بنا ، نقوم بتكوين التنبيهات ليتم إرسالها إلى ملف خدمة إعلام أمازون البسيطة (Amazon SNS) ، والتي بدورها ترسل رسالة SMS. تظهر لقطات الشاشة التالية تفاصيل التكوين.

يمكنك أيضًا استخدام تنبيه لتشغيل الأتمتة باستخدام AWS لامدا من أجل دفع العمليات المستندة إلى واجهة برمجة التطبيقات على AWS IoT Core.

وفي الختام

في هذا المنشور ، أوضحنا لك مدى سهولة استخدام Lookout for Metrics و Kinesis Data Firehose لإزالة الرفع الثقيل غير المتمايز المتضمن في إدارة دورة الحياة الشاملة لبناء تطبيقات اكتشاف الشذوذ التي تعمل بنظام ML. يمكن أن يساعدك هذا الحل في تسريع قدرتك على العثور على الحالات الشاذة في مقاييس العمل الرئيسية ويسمح لك بتركيز جهودك على تنمية عملك وتحسينه.

نحن نشجعك على معرفة المزيد من خلال زيارة دليل مطور Amazon Lookout for Metrics وجرب الحل الشامل الذي تم تمكينه بواسطة هذه الخدمات مع مجموعة بيانات ذات صلة بمؤشرات الأداء الرئيسية الخاصة بشركتك.


عن المؤلف

ديراج ثكور هو مهندس حلول مع Amazon Web Services. إنه يعمل مع عملاء وشركاء AWS لتقديم إرشادات حول اعتماد سحابة المؤسسة وترحيلها واستراتيجيتها. إنه متحمس للتكنولوجيا ويستمتع بالبناء والتجريب في مجال التحليلات و AI / ML.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة

الدردشة معنا

أهلاً! كيف يمكنني مساعدك؟