16 KiB
مقدمة في التنبؤ بالسلاسل الزمنية
رسم تخطيطي بواسطة Tomomi Imura
في هذه الدرس والدرس التالي، ستتعلم قليلاً عن التنبؤ بالسلاسل الزمنية، وهو جزء مثير وقيم من مهارات عالم تعلم الآلة، ولكنه أقل شهرة مقارنة بمواضيع أخرى. التنبؤ بالسلاسل الزمنية يشبه "الكرة البلورية": بناءً على الأداء السابق لمتغير مثل السعر، يمكنك التنبؤ بقيمته المحتملة في المستقبل.
🎥 انقر على الصورة أعلاه لمشاهدة فيديو عن التنبؤ بالسلاسل الزمنية
اختبار ما قبل المحاضرة
إنه مجال مفيد ومثير للاهتمام وله قيمة حقيقية للأعمال، نظرًا لتطبيقه المباشر على مشاكل التسعير، المخزون، وقضايا سلسلة التوريد. بينما بدأت تقنيات التعلم العميق تُستخدم للحصول على رؤى أفضل للتنبؤ بالأداء المستقبلي، يظل التنبؤ بالسلاسل الزمنية مجالًا يعتمد بشكل كبير على تقنيات تعلم الآلة الكلاسيكية.
يمكن العثور على منهج السلاسل الزمنية المفيد لجامعة بنسلفانيا هنا
مقدمة
افترض أنك تدير مجموعة من عدادات مواقف السيارات الذكية التي توفر بيانات حول مدى استخدامها ومدتها بمرور الوقت.
ماذا لو كان بإمكانك التنبؤ، بناءً على الأداء السابق للعداد، بقيمته المستقبلية وفقًا لقوانين العرض والطلب؟
التنبؤ بدقة بالوقت المناسب لاتخاذ إجراء لتحقيق هدفك هو تحدٍ يمكن معالجته باستخدام التنبؤ بالسلاسل الزمنية. قد لا يكون من السار للناس أن يتم فرض رسوم أعلى في أوقات الذروة عندما يبحثون عن مكان لركن سياراتهم، ولكنه سيكون طريقة مؤكدة لتوليد الإيرادات لتنظيف الشوارع!
دعونا نستكشف بعض أنواع خوارزميات السلاسل الزمنية ونبدأ دفتر ملاحظات لتنظيف وإعداد بعض البيانات. البيانات التي ستقوم بتحليلها مأخوذة من مسابقة التنبؤ GEFCom2014. تتكون من 3 سنوات من قيم الأحمال الكهربائية ودرجات الحرارة لكل ساعة بين عامي 2012 و2014. بناءً على الأنماط التاريخية للأحمال الكهربائية ودرجات الحرارة، يمكنك التنبؤ بالقيم المستقبلية للأحمال الكهربائية.
في هذا المثال، ستتعلم كيفية التنبؤ بخطوة زمنية واحدة إلى الأمام، باستخدام بيانات الأحمال التاريخية فقط. ومع ذلك، قبل البدء، من المفيد فهم ما يحدث خلف الكواليس.
بعض التعريفات
عند مواجهة مصطلح "السلاسل الزمنية"، تحتاج إلى فهم استخدامه في سياقات مختلفة.
🎓 السلاسل الزمنية
في الرياضيات، "السلاسل الزمنية هي سلسلة من نقاط البيانات المفهرسة (أو المدرجة أو المرسومة) بترتيب زمني. غالبًا ما تكون السلاسل الزمنية عبارة عن تسلسل مأخوذ عند نقاط متساوية التباعد في الزمن." مثال على السلاسل الزمنية هو القيمة اليومية للإغلاق لمؤشر Dow Jones Industrial Average. يتم استخدام مخططات السلاسل الزمنية والنمذجة الإحصائية بشكل متكرر في معالجة الإشارات، التنبؤ بالطقس، التنبؤ بالزلازل، وغيرها من المجالات حيث تحدث الأحداث ويمكن رسم نقاط البيانات بمرور الوقت.
🎓 تحليل السلاسل الزمنية
تحليل السلاسل الزمنية هو تحليل البيانات المذكورة أعلاه. يمكن أن تأخذ بيانات السلاسل الزمنية أشكالًا مميزة، بما في ذلك "السلاسل الزمنية المتقطعة" التي تكتشف الأنماط في تطور السلاسل الزمنية قبل وبعد حدث مقاطع. يعتمد نوع التحليل المطلوب للسلاسل الزمنية على طبيعة البيانات. يمكن أن تكون بيانات السلاسل الزمنية نفسها عبارة عن سلسلة من الأرقام أو الأحرف.
يتم إجراء التحليل باستخدام مجموعة متنوعة من الطرق، بما في ذلك المجال الترددي والمجال الزمني، الخطية وغير الخطية، والمزيد. تعرف على المزيد حول الطرق العديدة لتحليل هذا النوع من البيانات.
🎓 التنبؤ بالسلاسل الزمنية
التنبؤ بالسلاسل الزمنية هو استخدام نموذج للتنبؤ بالقيم المستقبلية بناءً على الأنماط التي تظهرها البيانات التي تم جمعها سابقًا كما حدثت في الماضي. بينما يمكن استخدام نماذج الانحدار لاستكشاف بيانات السلاسل الزمنية، مع مؤشرات الزمن كمتغيرات x على مخطط، فإن هذه البيانات يتم تحليلها بشكل أفضل باستخدام أنواع خاصة من النماذج.
بيانات السلاسل الزمنية هي قائمة من الملاحظات المرتبة، على عكس البيانات التي يمكن تحليلها بواسطة الانحدار الخطي. النموذج الأكثر شيوعًا هو ARIMA، وهو اختصار لـ "Autoregressive Integrated Moving Average".
نماذج ARIMA "تربط القيمة الحالية للسلسلة بالقيم السابقة وأخطاء التنبؤ السابقة." وهي الأنسب لتحليل بيانات المجال الزمني، حيث يتم ترتيب البيانات بمرور الوقت.
هناك عدة أنواع من نماذج ARIMA، يمكنك التعرف عليها هنا وستتعرف عليها في الدرس التالي.
في الدرس التالي، ستقوم ببناء نموذج ARIMA باستخدام السلاسل الزمنية أحادية المتغير، التي تركز على متغير واحد يتغير قيمته بمرور الوقت. مثال على هذا النوع من البيانات هو هذه المجموعة التي تسجل تركيز ثاني أكسيد الكربون الشهري في مرصد ماونا لوا:
CO2 | YearMonth | Year | Month |
---|---|---|---|
330.62 | 1975.04 | 1975 | 1 |
331.40 | 1975.13 | 1975 | 2 |
331.87 | 1975.21 | 1975 | 3 |
333.18 | 1975.29 | 1975 | 4 |
333.92 | 1975.38 | 1975 | 5 |
333.43 | 1975.46 | 1975 | 6 |
331.85 | 1975.54 | 1975 | 7 |
330.01 | 1975.63 | 1975 | 8 |
328.51 | 1975.71 | 1975 | 9 |
328.41 | 1975.79 | 1975 | 10 |
329.25 | 1975.88 | 1975 | 11 |
330.97 | 1975.96 | 1975 | 12 |
✅ حدد المتغير الذي يتغير بمرور الوقت في هذه المجموعة.
خصائص بيانات السلاسل الزمنية التي يجب أخذها في الاعتبار
عند النظر إلى بيانات السلاسل الزمنية، قد تلاحظ أنها تحتوي على خصائص معينة تحتاج إلى أخذها في الاعتبار والتخفيف منها لفهم أنماطها بشكل أفضل. إذا اعتبرت بيانات السلاسل الزمنية كإشارة محتملة تريد تحليلها، يمكن اعتبار هذه الخصائص كضوضاء. غالبًا ما تحتاج إلى تقليل هذه "الضوضاء" عن طريق تعويض بعض هذه الخصائص باستخدام بعض التقنيات الإحصائية.
إليك بعض المفاهيم التي يجب أن تعرفها لتتمكن من العمل مع السلاسل الزمنية:
🎓 الاتجاهات
الاتجاهات تُعرف بأنها زيادات وانخفاضات قابلة للقياس بمرور الوقت. اقرأ المزيد. في سياق السلاسل الزمنية، يتعلق الأمر بكيفية استخدام وإزالة الاتجاهات إذا لزم الأمر من السلاسل الزمنية.
🎓 الموسمية
الموسمية تُعرف بأنها تقلبات دورية، مثل اندفاعات العطلات التي قد تؤثر على المبيعات، على سبيل المثال. اطلع على كيفية عرض أنواع مختلفة من المخططات الموسمية في البيانات.
🎓 القيم الشاذة
القيم الشاذة تكون بعيدة عن تباين البيانات القياسي.
🎓 الدورة طويلة الأمد
بغض النظر عن الموسمية، قد تعرض البيانات دورة طويلة الأمد مثل الركود الاقتصادي الذي يستمر لأكثر من عام.
🎓 التباين الثابت
بمرور الوقت، تعرض بعض البيانات تقلبات ثابتة، مثل استخدام الطاقة يوميًا وليلاً.
🎓 التغيرات المفاجئة
قد تعرض البيانات تغيرًا مفاجئًا قد يحتاج إلى تحليل إضافي. على سبيل المثال، الإغلاق المفاجئ للأعمال بسبب COVID تسبب في تغييرات في البيانات.
✅ إليك مخطط سلسلة زمنية نموذجي يظهر الإنفاق اليومي على العملة داخل اللعبة على مدى عدة سنوات. هل يمكنك تحديد أي من الخصائص المذكورة أعلاه في هذه البيانات؟
تمرين - البدء ببيانات استخدام الطاقة
لنبدأ بإنشاء نموذج سلسلة زمنية للتنبؤ باستخدام الطاقة في المستقبل بناءً على الاستخدام السابق.
البيانات في هذا المثال مأخوذة من مسابقة التنبؤ GEFCom2014. تتكون من 3 سنوات من قيم الأحمال الكهربائية ودرجات الحرارة لكل ساعة بين عامي 2012 و2014.
Tao Hong, Pierre Pinson, Shu Fan, Hamidreza Zareipour, Alberto Troccoli and Rob J. Hyndman, "Probabilistic energy forecasting: Global Energy Forecasting Competition 2014 and beyond", International Journal of Forecasting, vol.32, no.3, pp 896-913, July-September, 2016.
-
في مجلد
working
الخاص بهذا الدرس، افتح ملف notebook.ipynb. ابدأ بإضافة المكتبات التي ستساعدك في تحميل البيانات وتصويرها.import os import matplotlib.pyplot as plt from common.utils import load_data %matplotlib inline
لاحظ أنك تستخدم الملفات من مجلد
common
المرفق الذي يقوم بإعداد بيئتك ومعالجة تنزيل البيانات. -
بعد ذلك، قم بفحص البيانات كإطار بيانات باستخدام
load_data()
وhead()
:data_dir = './data' energy = load_data(data_dir)[['load']] energy.head()
يمكنك رؤية أن هناك عمودين يمثلان التاريخ والحمل:
load 2012-01-01 00:00:00 2698.0 2012-01-01 01:00:00 2558.0 2012-01-01 02:00:00 2444.0 2012-01-01 03:00:00 2402.0 2012-01-01 04:00:00 2403.0 -
الآن، قم برسم البيانات باستخدام
plot()
:energy.plot(y='load', subplots=True, figsize=(15, 8), fontsize=12) plt.xlabel('timestamp', fontsize=12) plt.ylabel('load', fontsize=12) plt.show()
-
الآن، قم برسم الأسبوع الأول من يوليو 2014، عن طريق توفيره كمدخل إلى
energy
في نمط[من التاريخ]: [إلى التاريخ]
:energy['2014-07-01':'2014-07-07'].plot(y='load', subplots=True, figsize=(15, 8), fontsize=12) plt.xlabel('timestamp', fontsize=12) plt.ylabel('load', fontsize=12) plt.show()
مخطط جميل! ألقِ نظرة على هذه المخططات وحاول تحديد أي من الخصائص المذكورة أعلاه. ماذا يمكننا استنتاجه من خلال تصور البيانات؟
في الدرس التالي، ستقوم بإنشاء نموذج ARIMA لإنشاء بعض التنبؤات.
🚀تحدي
قم بعمل قائمة بجميع الصناعات ومجالات البحث التي يمكنك التفكير فيها والتي ستستفيد من التنبؤ بالسلاسل الزمنية. هل يمكنك التفكير في تطبيق لهذه التقنيات في الفنون؟ في الاقتصاد القياسي؟ في علم البيئة؟ في البيع بالتجزئة؟ في الصناعة؟ في التمويل؟ أين أيضًا؟
اختبار ما بعد المحاضرة
المراجعة والدراسة الذاتية
على الرغم من أننا لن نغطيها هنا، إلا أن الشبكات العصبية تُستخدم أحيانًا لتعزيز الطرق الكلاسيكية للتنبؤ بالسلاسل الزمنية. اقرأ المزيد عنها في هذه المقالة
الواجب
قم بتصور المزيد من السلاسل الزمنية
إخلاء المسؤولية:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الموثوق. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.