
قائمة بالأدوات ومجموعات البيانات لاكتشاف الشذوذ في بيانات السلاسل الزمنية.
قائمة بالأدوات ومجموعات البيانات الخاصة بـ كشف الشذوذ في بيانات السلاسل الزمنية.
جميع القوائم مرتبة أبجديًا. في القوائم، تُعطى الأولوية للمشاريع المُصانة على غير المُصانة. يُعتبر المستودع "غير مُصان" إذا كان آخر commit فيه أقدم من سنة واحدة، أو إذا ذُكر ذلك صراحةً من قبل المؤلفين.
🎓 إذا وجدت هذه المجموعة مفيدة وتريد الاستشهاد بها، فيُرجى اتباع سياسة الاستشهاد.
| الاسم | اللغة | الوصف | الترخيص | الصيانة |
|---|---|---|---|---|
| CueObserve من Cuebook | Python3 | كشف الشذوذ في مستودعات بيانات SQL وقواعد البيانات. | Apache-2.0 | ✔️ |
| EGADS من Yahoo | Java | GADS هي مكتبة تحتوي على عدد من تقنيات كشف الشذوذ القابلة للتطبيق على العديد من حالات الاستخدام في حزمة واحدة، مع الاعتماد الوحيد على Java. | GPL | ✔️ |
| flow-forecast من AIStream | Python | مكتبة تعلم عميق مبنية على PyTorch للتنبؤ بالسلاسل الزمنية وتصنيفها وكشف الشذوذ فيها (صُممت أصلاً للتنبؤ بالفيضانات). | GPL-3 | ✔️ |
| Hastic | Python + node.js | أداة كشف الشذوذ لبيانات السلاسل الزمنية بواجهة مستخدم مبنية على Grafana. | GPL | ✔️ |
| Luminaire من Zillow | Python | Luminaire هو حزمة بايثون توفر حلول كشف الشذوذ والتنبؤ المعتمدة على تعلّم الآلة لبيانات السلاسل الزمنية. | Apache-2.0 | ✔️ |
| MIDAS | C++ | MIDAS، وهو اختصار لـ Microcluster-Based Detector of Anomalies in Edge Streams، يكتشف شذوذ المجموعات الدقيقة من تدفق الحواف في وقت وذاكرة ثابتين. | Apache-2.0 | ✔️ |
| Orion | Python | Orion هي مكتبة تعلم آلة مبنية لكشف الشذوذ غير الموجّه في السلاسل الزمنية، وتوفّر عددًا من خطوط أنابيب التعلم الآلي «المتحقق منها» (وتُعرف بخطوط أنابيب Orion) التي تحدّد الأنماط النادرة وتعلّم عليها للمراجعة من قبل الخبراء. | MIT | ✔️ |
| OutlierDetection.jl |
يتضمن هذا القسم بعض برامج السلاسل الزمنية للمهام ذات الصلة بكشف الشذوذ، مثل التنبؤ، وتحليل السلاسل الزمنية العامة، ووضع العلامات.
NAB هو معيار مرجعي جديد لتقييم خوارزميات كشف الشذوذ في التطبيقات المتدفقة وفي الزمن الحقيقي. يتكون من أكثر من 50 ملف بيانات سلاسل زمنية مُعلّمة من العالم الحقيقي واصطناعية، بالإضافة إلى آلية تسجيل جديدة مصممة للتطبيقات في الزمن الحقيقي.
تتكون مجموعة البيانات من سلاسل زمنية حقيقية واصطناعية مع نقاط شذوذ مُعلّمة. تختبر مجموعة البيانات دقة الكشف لمختلف أنواع الشذوذ بما في ذلك القيم الشاذة ونقاط التغيّر.
SKAB (المعيار المرجعي للشذوذ من Skoltech) مصمم لتقييم خوارزميات كشف الشذوذ. يتضمن المعيار حاليًا أكثر من 30 مجموعة بيانات بالإضافة إلى وحدات بايثون لتقييم الخوارزميات. تمثل كل مجموعة بيانات سلسلة زمنية متعددة المتغيرات مُجمعة من أجهزة الاستشعار المثبتة على منصة الاختبار. جميع الحالات مُعلّمة لتقييم نتائج حل مشكلات كشف القيم الشاذة وكشف نقاط التغيّر.
تتكون مجموعة البيانات من بيانات سلاسل زمنية لمؤشرات الأداء الرئيسية (KPIs) من العديد من السيناريوهات الحقيقية لشركات الإنترنت مع تسميات الحقيقة الأساسية. انقر أدناه للحصول على وصف أكثر تفصيلاً.
تتكون مجموعة البيانات من بيانات سلاسل زمنية لمؤشرات الأداء الرئيسية (KPI) من العديد من السيناريوهات الحقيقية لشركات الإنترنت مع تسميات الحقيقة الأساسية. تنقسم مؤشرات الأداء الرئيسية إلى فئتين واسعتين: مؤشرات خدمة ومؤشرات آلة. مؤشرات الخدمة هي مقاييس أداء تعكس حجم وجودة خدمة الويب، مثل زمن استجابة الصفحة، وعدد مشاهدات الصفحة، وعدد أخطاء الاتصال. مؤشرات الآلة هي مؤشرات أداء تعكس صحة الجهاز (الخادم، الموجّه، المحوّل)، مثل استخدام وحدة المعالجة المركزية، واستخدام الذاكرة، وإدخال/إخراج القرص، وإنتاجية بطاقة الشبكة، إلخ.
أوصاف مجموعة البيانات:
من أجل تدريب خوارزمية كشف الشذوذ، يتم عرض بيانات KPI التدريبية التي قدمناها في الجدول 1، وتتضمن أربعة أعمدة: KPI ID، والطابع الزمني، وقيمة KPI في ذلك الوقت، وما إذا كان الوقت غير طبيعي (التسمية).
جدول 1 حالة بيانات KPI التدريبية
إذا كنت ترغب في الاستشهاد بهذا المستودع، فيُرجى استخدام DOI التالي:
أو استخدم BibTex التالي:
@article{medico2020,
title={rob-med/awesome-TS-anomaly-detection},
DOI={10.5281/zenodo.3972944},
abstractNote={A collection of tools and datasets for anomaly detection on time-series data.},
publisher={Zenodo}, author={Roberto Medico}, year={2020}, month={Aug}}
| Julia |
| كشف شذوذ سريع وقابل للتوسع ومرن مع Julia. |
| MIT |
| ✔️ |
| PyOD | Python | PyOD هي مجموعة أدوات بايثون شاملة وقابلة للتوسع لكشف الكائنات الشاذة في البيانات متعددة المتغيرات. | BSD 2-Clause | ✔️ |
| ruptures | Python | ruptures هي مكتبة بايثون للكشف عن نقاط التغيّر دون اتصال. توفر هذه الحزمة طرقًا لتحليل وتقسيم الإشارات غير الثابتة. | BSD 2-Clause | ✔️ |
| Skyline من EarthGecko | Python3 | Skyline هو نظام كشف شذوذ في الزمن الحقيقي، مبني لتمكين المراقبة السلبية لمئات الآلاف من المقاييس. | MIT | ✔️ |
| Adaptive Alerting من Expedia.com | Java | كشف شذوذ في التدفق مع اختيار وملاءمة نماذج تلقائيًا. | Apache-2.0 | ❌ |
| ADTK من Arundo | Python | Anomaly Detection Toolkit (ADTK) هي حزمة بايثون لكشف الشذوذ غير الموجّه / القائم على القواعد في السلاسل الزمنية. | MPL 2.0 | ❌ |
| AnomalyDetection من Twitter | R | AnomalyDetection هي حزمة R مفتوحة المصدر لكشف الشذوذ، وتتميز بقوتها من الناحية الإحصائية في وجود الموسمية والاتجاه الأساسي. | GPL | ❌ |
| Anomalyzer من Lytics | Go | Anomalyzer يطبّق مجموعة من الاختبارات الإحصائية التي تعطي احتمال أن تحتوي مجموعة معينة من المدخلات الرقمية، عادةً سلسلة زمنية، على سلوك شاذ. | Apache-2.0 | ❌ |
| banpei | Python | كشف القيم الشاذة (نظرية هوتيلينغ) وكشف نقاط التغيّر (تحويل الطيف المفرد) للسلاسل الزمنية. | MIT | ❌ |
| banshee من Ele.me | Go | نظام كشف الشذوذ للمقاييس الدورية. | MIT | ❌ |
| CAD | Python | كشف الشذوذ السياقي للكشف في الزمن الحقيقي على البيانات المتدفقة (الخوارزمية الفائزة في مسابقة NAB لعام 2016). | AGPL | ❌ |
| Chaos Genius | Python | محرك تحليلات مدعوم بتعلم الآلة لكشف القيم الشاذة/الشذوذ وتحليل السبب الجذري. | MIT | ❌ |
| datastream.io من Mentat | Python | إطار عمل مفتوح المصدر لكشف الشذوذ في الزمن الحقيقي باستخدام Python وElasticsearch وKibana. | Apache-2.0 | ❌ |
| DeepADoTS | Python | تنفيذ وتقييم 7 تقنيات قائمة على التعلم العميق لكشف الشذوذ في بيانات السلاسل الزمنية. | MIT | ❌ |
| Donut | Python | Donut هي خوارزمية كشف شذوذ غير موجّهة لمؤشرات الأداء الرئيسية الموسمية، مبنية على Autoencoders الاختلافية. | - | ❌ |
| LoudML | Python | Loud ML هو محرك استدلال مفتوح المصدر للسلاسل الزمنية مبني على TensorFlow. وهو مفيد للتنبؤ بالبيانات، وكشف القيم الشاذة، وأتمتة العمليات باستخدام المعرفة المستقبلية. | MIT | ❌ |
| luminol من Linkedin | Python | Luminol هي مكتبة بايثون خفيفة الوزن لتحليل بيانات السلاسل الزمنية. الوظيفتان الرئيسيتان اللتان تدعمهما هما كشف الشذوذ والارتباط. ويمكن استخدامها للتحقيق في الأسباب المحتملة للشذوذ. | Apache-2.0 | ❌ |
| Nupic من Numenta | C++ | منصة Numenta للحوسبة الذكية هي تطبيق للذاكرة الزمنية الهرمية (HTM). | AGPL | ❌ |
| oddstream | R | oddstream (كشف القيم الشاذة في تدفقات البيانات) يوفر دعمًا في الزمن الحقيقي للاكتشاف المبكر للسلاسل الشاذة ضمن مجموعة كبيرة من بيانات السلاسل الزمنية المتدفقة. | GPL-3 | ❌ |
| PyOdds | Python | PyODDS هو نظام بايثون متكامل لكشف القيم الشاذة مع دعم قواعد البيانات. يوفر PyODDS خوارزميات كشف القيم الشاذة التي تدعم البيانات الثابتة وبيانات السلاسل الزمنية. | MIT | ❌ |
| PySAD | Python | PySAD هو إطار عمل لكشف الشذوذ في التدفقات مع نماذج متصلة متنوعة ومجموعة كاملة من الأدوات للتجارب. | BSD 3-Clause | ❌ |
| rrcf | Python | تنفيذ خوارزمية Robust Random Cut Forest لكشف الشذوذ في التدفقات. | MIT | ❌ |
| Surus من Netflix | Java | كشف شذوذ قوي (RAD) - تنفيذ لـ PCA القوية. | Apache-2.0 | ❌ |
| Telemanom من NASA | Python | إطار عمل لاستخدام شبكات LSTM لكشف الشذوذ في بيانات السلاسل الزمنية متعددة المتغيرات. يتضمن بيانات شذوذ المركبات الفضائية وتجارب من بعثتي مختبر علوم المريخ وSMAP. | custom | ❌ |
| الاسم | اللغة | الوصف | الترخيص | الصيانة |
|---|
| darts | Python | darts هي مكتبة بايثون للتلاعب بالسلاسل الزمنية والتنبؤ بها بسهولة. تحتوي على مجموعة متنوعة من النماذج، من الكلاسيكيات مثل ARIMA إلى الشبكات العصبية. | Apache-2.0 | ✔️ |
| ETNA | Python | etna هي مكتبة بايثون للتنبؤ بالسلاسل الزمنية وتحليلها مع مراعاة البنية الزمنية للبيانات دائمًا. تشمل مجموعة متنوعة من النماذج التنبؤية بواجهة موحدة إلى جانب طرق تحليل البيانات الاستكشافي (EDA) والتحقق. | Apache-2.0 | ✔️ |
| GluonTS من Amazon | Python | GluonTS هي مجموعة أدوات بايثون للنمذجة الاحتمالية للسلاسل الزمنية، مبنية حول MXNet. توفر GluonTS أدوات لتحميل مجموعات بيانات السلاسل الزمنية والتكرار عبرها، ونماذج حديثة جاهزة للتدريب، ولبنات بناء لتحديد نماذجك الخاصة. | Apache-2.0 | ✔️ |
| pmdarima | Python | نقل لـ auto.arima من R مع واجهة متوافقة مع scikit-learn. | MIT | ✔️ |
| Prophet من Facebook | Python/R | Prophet هو إجراء للتنبؤ ببيانات السلاسل الزمنية. يعتمد على نموذج جمعي حيث تُلاءم الاتجاهات غير الخطية مع موسمية سنوية وأسبوعية، بالإضافة إلى العطلات. | BSD | ✔️ |
| PyFlux | Python | تحتوي المكتبة على مجموعة جيدة من نماذج السلاسل الزمنية الحديثة، بالإضافة إلى مجموعة مرنة من خيارات الاستدلال (الترددية والبايزية) التي يمكن تطبيقها على هذه النماذج. | BSD 3-Clause | ❌ |
| الاسم | اللغة | الوصف | الترخيص | الصيانة |
|---|
| Kats من Facebook | Python | يهدف Kats إلى توفير كل ما يلزم لتحليل السلاسل الزمنية في مكان واحد، بما في ذلك الكشف، والتنبؤ، واستخراج/تضمين الميزات، والتحليل متعدد المتغيرات، وغير ذلك. | MIT | ✔️ |
| MatrixProfile | Python | مكتبة Python 3 تجعل مهام استخراج البيانات من السلاسل الزمنية، باستخدام خوارزميات Matrix Profile، في متناول الجميع. | Apache-2.0 | ✔️ |
| Merlion من Salesforce | Python | Merlion: إطار عمل للتعلم الآلي لذكاء السلاسل الزمنية، يدعم نماذج متعددة بما في ذلك ARIMA. | BSD 3-Clause | ✔️ |
| SaxPy | Python | تنفيذ عام لـ SAX، وكذلك HOTSAX لكشف الشذوذ. | GPLv2.0 | ✔️ |
| sktime | Python | إطار عمل موحّد للتعلم الآلي مع السلاسل الزمنية. يوفر خوارزميات متخصصة للسلاسل الزمنية وأدوات متوافقة مع scikit-learn لبناء وضبط والتحقق من نماذج السلاسل الزمنية لعدة مشاكل تعلم. | BSD 3-Clause | ✔️ |
| sktime-dl | Python | حزمة امتداد للتعلم العميق مع Tensorflow/Keras من أجل sktime. | BSD 3-Clause | ✔️ |
| Squey | C++ | برنامج تصور يسمح باستكشاف متعمق للسلاسل الزمنية مع عرض كل القيم الشاذة. | MIT | ✔️ |
| Tigramite | Python | Tigramite هي حزمة بايثون للتحليل السببي للسلاسل الزمنية. تتيح إعادة بناء الرسوم البيانية السببية بكفاءة من مجموعات بيانات السلاسل الزمنية عالية الأبعاد ونمذجة التبعيات السببية الناتجة لتحليلات الوساطة السببية والتنبؤ. | GPLv3.0 | ✔️ |
| tsflex | Python | tsflex هي مجموعة أدوات للسلاسل الزمنية لاستخراج ومعالجة الميزات، وهي مرنة وفعالة في نفس الوقت. تدعم هذه الحزمة استخراج الميزات بنافذة منزلقة بخطوة محددة على بيانات تسلسلية متعددة المتغيرات وغير منتظمة العينات. | MIT | ✔️ |
| tslearn | Python | tslearn هي حزمة بايثون توفر أدوات تعلم آلي لتحليل السلاسل الزمنية. تعتمد هذه الحزمة على مكتبات scikit-learn وnumpy وscipy. | BSD 2-Clause | ✔️ |
| seglearn | Python | Seglearn هي حزمة بايثون للتعلم الآلي على السلاسل الزمنية أو التسلسلات. توفر خط أنابيب متكامل للتجزئة، واستخراج الميزات، ومعالجة الميزات، والمقدّر النهائي. | BSD 3-Clause | ❌ |
| الاسم | اللغة | الوصف | الترخيص | الصيانة |
|---|
| Curve من Baidu | Python | Curve هي أداة مفتوحة المصدر للمساعدة في وضع علامات على الشذوذ في بيانات السلاسل الزمنية. | Apache-2.0 | ❌ |
| Taganomaly من Microsoft | R (تطبيق ويب في حاوية Docker) | أداة بسيطة لوضع علامات على بيانات السلاسل الزمنية. تعمل مع البيانات أحادية المتغير ومتعددة المتغيرات، وتوفر تنبؤًا مرجعيًا للشذوذ باستخدام حزمة AnomalyDetection من Twitter. | MIT | ❌ |
| KPI ID | Timestamp | Value | Label |
|---|
| 0 | 1503831000 | 10.8 | 0 |
| 0 | 1503831060 | 12.3 | 1 |
| ... | ... | ... | ... |
من أجل تقييم خوارزمية كشف الشذوذ، يتم عرض بيانات KPI الاختبارية التي قدمناها في الجدول 2، وتتضمن عمودين: KPI ID، والطابع الزمني، والقيمة المقابلة لمؤشر KPI في ذلك الوقت.
جدول 2 حالة بيانات KPI الاختبارية
| KPI ID | Timestamp | Value |
|---|---|---|
| 0 | 1503831000 | 10.8 |
| 0 | 1503831060 | 12.3 |
| ... | ... | ... |