
إطار عمل Python متكامل لذكاء السلاسل الزمنية، يوفر كشف الشذوذ، والتنبؤ، وكشف نقاط التغيير، وAutoML، والنماذج المجمعة، وخطوط أنابيب المقارنة المعيارية.
Merlion هي مكتبة بايثون لذكاء السلاسل الزمنية. وهي توفر إطار عمل تعلم آلي متكامل يتضمن تحميل البيانات وتحويلها، وبناء النماذج وتدريبها، ومعالجة مخرجات النماذج، وتقييم أداء النماذج. وهي تدعم مهام تعلم متنوعة للسلاسل الزمنية، بما في ذلك التنبؤ، وكشف الشذوذ، وكشف نقاط التغيير لكل من السلاسل الزمنية أحادية المتغير ومتعددة المتغيرات. تهدف هذه المكتبة إلى تزويد المهندسين والباحثين بحل متكامل للتطوير السريع للنماذج وفقًا لاحتياجاتهم الخاصة بالسلاسل الزمنية، وتقييمها عبر مجموعات بيانات متعددة للسلاسل الزمنية.
الميزات الرئيسية لـ Merlion هي
DefaultDetector و DefaultForecaster مجردان يتسمان بالكفاءة ويحققان أداءً جيدًا بشكل متين،
ويشكلان نقطة انطلاق للمستخدمين الجدد.يعطي الجدول أدناه نظرة عامة مرئية حول كيفية مقارنة الميزات الرئيسية لـ Merlion بالمكتبات الأخرى الخاصة بكشف شذوذ السلاسل الزمنية و/أو التنبؤ بها.
| Merlion | Prophet | Alibi Detect | Kats | darts | statsmodels | nixtla | GluonTS | RRCF | STUMPY | Greykite | pmdarima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| التنبؤ أحادي المتغير | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| التنبؤ متعدد المتغيرات | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| كشف الشذوذ أحادي المتغير | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| كشف الشذوذ متعدد المتغيرات | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| المعالجة المسبقة | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||
| المعالجة اللاحقة | ✅ | ✅ | ||||||||||
| AutoML | ✅ | ✅ | ✅ | ✅ | ||||||||
| التجميعات | ✅ | ✅ | ✅ | ✅ | ||||||||
| القياس المعياري | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||
| التصور | ✅ | ✅ | ✅ | ✅ | ✅ |
الميزات التالية جديدة في Merlion 2.0:
| Merlion | Prophet | Alibi Detect | Kats | darts | statsmodels | nixtla | GluonTS | RRCF | STUMPY | Greykite | pmdarima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| المتغيرات الخارجية | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| كشف نقاط التغيير | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||
| واجهة مستخدم مرئية قابلة للنقر | ✅ | |||||||||||
| الواجهة الخلفية الموزعة | ✅ | ✅ |
تتكون Merlion من مستودعين فرعيين: merlion ينفذ ميزات ذكاء السلاسل الزمنية الأساسية للمكتبة،
وts_datasets يوفر محمّلات بيانات موحدة لمجموعات بيانات متعددة للسلاسل الزمنية. تقوم هذه المحمّلات بتحميل
السلاسل الزمنية كإطارات pandas.DataFrame مع بيانات وصفية مصاحبة.
يمكنك تثبيت merlion من PyPI عن طريق استدعاء pip install salesforce-merlion. يمكنك التثبيت من المصدر عن طريق
استنساخ هذا المستودع واستدعاء pip install Merlion/، أو pip install -e Merlion/ للتثبيت في الوضع القابل للتحرير.
يمكنك تثبيت تبعيات إضافية عبر pip install salesforce-merlion[all]، أو عن طريق استدعاء
pip install "Merlion/[all]" إذا كنت تثبّت من المصدر.
بشكل منفرد، تشمل التبعيات الاختيارية: dashboard للوحة تحكم رسومية،
وspark لواجهة خلفية حوسبة موزعة باستخدام PySpark، وdeep-learning لجميع نماذج التعلم العميق.
لتثبيت حزمة تحميل البيانات ts_datasets، استنسخ هذا المستودع واستدعِ pip install -e Merlion/ts_datasets/.
يجب تثبيت هذه الحزمة في الوضع القابل للتحرير (أي باستخدام علامة -e) إذا كنت لا تريد تحديد المجلد الجذري
لكل مجموعة بيانات يدويًا عند تهيئة محمّل البيانات الخاص بها.
لاحظ التبعيات الخارجية التالية:
تعتمد بعض نماذج التنبؤ لدينا على OpenMP. إذا كنت تستخدم conda، فيرجى تنفيذ conda install -c conda-forge lightgbm
قبل تثبيت حزمتنا. سيضمن ذلك تكوين OpenMP ليعمل مع حزمة lightgbm
(أحد تبعياتنا) في بيئة conda الخاصة بك. إذا كنت تستخدم Mac، فيرجى تثبيت Homebrew
واستدعاء brew install libomp بحيث تكون مكتبة OpenMP متاحة للنموذج.
تعتمد بعض نماذج كشف الشذوذ لدينا على مجموعة أدوات تطوير جافا (JDK). بالنسبة لأوبونتو، استدعِ
sudo apt-get install openjdk-11-jdk. بالنسبة لنظام Mac OS، ثبّت Homebrew واستدعِ
brew tap adoptopenjdk/openjdk && brew install --cask adoptopenjdk11. وتأكد أيضًا من إمكانية العثور على java
في PATH الخاص بك، ومن تعيين متغير البيئة JAVA_HOME.
للحصول على أمثلة للتعليمات البرمجية ومقدمة عن Merlion، راجع دفاتر Jupyter في
examples، والدليل الموجّه
هنا. يمكنك العثور على توثيق مفصل لواجهة برمجة التطبيقات
(بما في ذلك مثال للتعليمات البرمجية) هنا. يوضح
التقرير الفني البنية العامة لـ Merlion
ويعرض نتائج تجريبية حول كشف شذوذ السلاسل الزمنية والتنبؤ بها لكل من السلاسل الزمنية أحادية المتغير ومتعددة
المتغيرات.
أسهل طريقة لبدء الاستخدام هي استخدام لوحة التحكم
الرسومية المستندة إلى الويب.
توفر هذه اللوحة طريقة رائعة للتجربة السريعة مع العديد من النماذج على مجموعات البيانات المخصصة الخاصة بك.
لاستخدامها، ثبّت Merlion مع التبعية الاختيارية dashboard (أي
pip install salesforce-merlion[dashboard])، واستدعِ python -m merlion.dashboard من سطر الأوامر.
يمكنك عرض اللوحة على http://localhost:8050.
أدناه، نعرض بعض لقطات الشاشة للوحة التحكم لكل من كشف الشذوذ والتنبؤ.