Prophet: التنبؤ بالسلاسل الزمنية من فيسبوك

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

Prophet – التنبؤ بالسلاسل الزمنية من فيسبوك: دليل شامل لتحليل البيانات

مقدمة عن Prophet

Prophet هي مكتبة قوية مفتوحة المصدر طورها فريق فيسبوك (Meta) للتنبؤ بالسلاسل الزمنية. صُممت المكتبة لحل مشاكل التنبؤ العملية في بيئات الأعمال الحقيقية، حيث قد تحتوي البيانات على فجوات وقيم شاذة وأنماط موسمية معقدة.

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

تاريخ إنشاء المكتبة وتطورها

تم تقديم Prophet لأول مرة في عام 2017 من قبل باحثين في فريق علوم البيانات الأساسية في فيسبوك. صُممت المكتبة لحل مشاكل محددة في الشركة تتعلق بالتنبؤ بمقاييس مختلفة، بدءاً من نشاط المستخدمين وصولاً إلى تخطيط البنية التحتية.

المطوران الرئيسيان هما Sean Taylor و Ben Letham، اللذان سعيا لإنشاء أداة تجمع بين الدقة الإحصائية والتطبيق العملي. في عام 2018، صدرت نسخة للغة R، ثم تم نقل المكتبة لاحقاً إلى Python.

الأساسيات الرياضية ومبادئ العمل

النموذج الإضافي لـ Prophet

نمذجة الاتجاه (Trend)

يدعم Prophet نوعين من الاتجاهات:

الاتجاه الخطي: [ g(t) = (k + a(t)^T \delta) \cdot t + (m + a(t)^T \gamma) ]

الاتجاه اللوجستي: [ g(t) = \frac{C(t)}{1 + \exp(-(k + a(t)^T \delta)(t - (m + a(t)^T \gamma)))} ]

حيث [ C(t) ] هي السعة القصوى (carrying capacity)، [ k ] هو معدل النمو الأساسي، و [ \delta ] هي التغيرات في معدل النمو عند نقاط تغير الاتجاه.

المكون الموسمي

يتم نمذجة الموسمية باستخدام متسلسلات فورييه:

حيث [ P ] هي الفترة الموسمية، و [ N ] هو عدد التوافقيات (fourier_order).

التثبيت وإعداد البيئة

التثبيت الأساسي

pip install prophet

التثبيت مع التبعيات الإضافية

pip install prophet[plot]
pip install plotly  # للتصور التفاعلي

التثبيت لأنظمة التشغيل المختلفة

Windows:

pip install pystan
pip install prophet

macOS:

brew install gcc
pip install prophet

Linux (Ubuntu/Debian):

sudo apt-get install build-essential
pip install prophet

استيراد المكتبة

from prophet import Prophet
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from prophet.plot import plot_plotly, plot_components_plotly

توصيات