تحليل الوضع التجريبي: الطريقة الأكثر بديهية لتحليل الإشارات المعقدة والسلاسل الزمنية

لتحليل السلسلة الزمنية الخاصة بك كعالم بيانات؟
هل تساءلت يومًا ما إذا كانت معالجة الإشارات يمكن أن تجعل حياتك أسهل؟
إذا كانت الإجابة بنعم – ابق معي. هذه المقالة مصنوعة من أجلك. 🙂
قد يكون العمل مع السلاسل الزمنية الواقعية… مؤلمًا. المنحنيات المالية، وتتبع تخطيط القلب، والإشارات العصبية: غالبًا ما تبدو وكأنها طفرات فوضوية بدون هيكل على الإطلاق.
قد يكون العمل مع السلاسل الزمنية الواقعية… مؤلمًا. المنحنيات المالية، وتتبع تخطيط القلب، والإشارات العصبية: غالبًا ما تبدو وكأنها طفرات فوضوية بدون هيكل على الإطلاق.
قد يكون العمل مع السلاسل الزمنية الواقعية… مؤلمًا. المنحنيات المالية، وتتبع تخطيط القلب، والإشارات العصبية: غالبًا ما تبدو وكأنها طفرات فوضوية بدون هيكل على الإطلاق.
في علم البيانات، نميل إلى الاعتماد على المعالجة الإحصائية الكلاسيكية: التحليل الموسمي، والتنقيح، والتمهيد، والمتوسطات المتحركة… هذه التقنيات مفيدة، لكنها تأتي مع افتراضات قوية نادراً ما تكون صالحة في الممارسة العملية. وعندما تفشل هذه الافتراضات، قد يكون أداء نموذج التعلم الآلي لديك ضعيفًا أو لا يمكن تعميمه.
اليوم، سنستكشف مجموعة من الأساليب التي نادرًا ما يتم تدريسها في التدريب على علوم البيانات، ومع ذلك يمكنها تغيير طريقة تعاملك مع بيانات الوقت تمامًا.
من قائمة اليوم 🍔
🍰 لماذا تتعارض الأساليب التقليدية مع السلاسل الزمنية في العالم الحقيقي
🍛 كيف يمكن أن تساعد أدوات معالجة الإشارات
🍔 كيف يعمل تحليل الوضع التجريبي (EMD) وأين يفشل
تعتبر تقنيات المعالجة المسبقة “الكلاسيكية” التي ذكرتها أعلاه نقاط انطلاق جيدة، ولكن كما قلت فهي تعتمد على افتراضات ثابتة ومحددة حول كيفية تصرف الإشارة.
يفترض معظمهم أن الإشارة ثابتة، مما يعني أن خصائصها الإحصائية (المتوسط، التباين، المحتوى الطيفي) تظل ثابتة مع مرور الوقت.
ولكن في الواقع، فإن معظم الإشارات الحقيقية هي:
- غير ثابتة (يتطور محتوى ترددها)
- غير خطية (لا يمكن تفسيرها بمكونات مضافة بسيطة)
- صاخبة
- ممزوجة بذبذبات متعددة في وقت واحد
إذًا… ما هي “الإشارة” بالضبط؟
الإشارة هي ببساطة أي كمية تتغير مع مرور الوقت (ما نسميه عادة ب سلسلة زمنية في علم البيانات).
بعض الأمثلة:
- ❤️ تخطيط كهربية القلب (ECG) أو تخطيط كهربية الدماغ (EEG). – الإشارات الطبية الحيوية/الدماغ
- 🌋 النشاط الزلزالي – الجيوفيزياء
- 🖥️ استخدام وحدة المعالجة المركزية – مراقبة النظام
- 💹 أسعار الأسهم، والتقلبات، وتدفق النظام – تمويل
- 🌦️ درجة الحرارة أو الرطوبة – علم المناخ
- 🎧 أشكال الموجات الصوتية – تحليل الكلام والصوت
الإشارات في كل مكان. وجميعها تقريبًا تنتهك افتراضات نماذج السلاسل الزمنية الكلاسيكية.
نادرا ما تكون “نظيفة”. ما أعنيه هو أن الإشارة الواحدة عادة ما تكون عبارة عن مزيج من عدة عمليات تحدث في نفس الوقت.
داخل إشارة واحدة، يمكنك غالبًا العثور على:
- الاتجاهات البطيئة
- التقلبات الدورية
- رشقات نارية قصيرة
- الضوضاء العشوائية
- إيقاعات مخفية لا يمكنك رؤيتها مباشرة
👉 تخيل الآن أنه يمكنك فصل كل هذه المكونات — مباشرة من البيانات — دون افتراض الثبات، ودون تحديد نطاقات التردد، ودون إجبار الإشارة على أساس محدد مسبقًا.
هذا هو الوعد تحليل الإشارة المعتمدة على البيانات.
هذه المقالة هي الجزء الأول من سلسلة مكونة من 3 مقالات حول التحلل التكيفي:
- EMD — تحليل الوضع التجريبي (اليوم)
- VMD – تحليل الوضع المتغير (التالي)
- MVMD — VMD متعدد المتغيرات (التالي)
تعد كل طريقة أكثر قوة واستقرارًا من الطريقة السابقة — وبحلول نهاية السلسلة، ستفهم كيف يمكن لطرق معالجة الإشارات استخلاص مكونات نظيفة وقابلة للتفسير.
التحلل الوضع التجريبي
تم تقديم تحليل الوضع التجريبي بواسطة Huang et al. (1998) كجزء من تحويل هيلبرت-هوانغ.
هدفها بسيط ولكنه قوي: أخذ إشارة وتقسيمها إلى مجموعة من المكونات التذبذبية النظيفة، تسمى وظائف الوضع الجوهري (IMFs).
يتوافق كل صندوق النقد الدولي مع التذبذب الموجود في إشارتك، من الاتجاهات الأسرع إلى الأبطأ.
ألق نظرة على الشكل 2 أدناه:
في الأعلى، ترى الإشارة الأصلية.
أسفله، ترى العديد من صناديق النقد الدولي – كل منها يلتقط “طبقة” مختلفة من التذبذبات مخبأة داخل البيانات.
صندوق النقد الدولي₁ يحتوي على أسرع الاختلافات
صندوق النقد الدولي₂ يلتقط إيقاعًا أبطأ قليلاً
…
يمثل صندوق النقد الدولي الأخير + المتبقي الاتجاه البطيء أو خط الأساس
ستكون بعض صناديق النقد الدولي مفيدة لمهمة التعلم الآلي الخاصة بك؛ قد يتوافق البعض الآخر مع الضوضاء أو التحف أو التذبذبات غير ذات الصلة.

ما هي الرياضيات وراء EMD؟
يتم تحليل أي إشارة x

أين:
- Ci(ر) هي وظائف الوضع الجوهري (صندوق النقد الدولي)
- صندوق النقد الدولي₁ يلتقط أسرع التذبذبات
- صندوق النقد الدولي₂ يلتقط أ تذبذب أبطأ،وهكذا…
- ص (ر) هو المتبقية – الاتجاه البطيء أو خط الأساس
- تؤدي إضافة جميع صناديق النقد الدولي + المتبقي إلى إعادة بناء الإشارة الأصلية تمامًا.
صندوق النقد الدولي هو تذبذب نظيف تم الحصول عليها مباشرة من البيانات.
يجب أن يفي بخاصيتين بسيطتين:
- عدد المعابر الصفرية ≈ عدد النهايات
→ التذبذب حسن التصرف. - متوسط المغلفات العلوية والسفلية هو صفر تقريبًا
→ التذبذب متماثل محليا، مع عدم وجود معلومات طويلة المدى.
وهاتان القاعدتان تشكلان صناديق النقد الدولي بشكل أساسي تعتمد على البيانات و التكيف على عكس فورييه أو المويجات، التي تجبر الإشارة على اتخاذ أشكال محددة مسبقًا.
الحدس وراء خوارزمية EMD
تعتبر خوارزمية EMD بديهية بشكل مدهش. وهنا حلقة الاستخراج:
- ابدأ بإشارتك
- أوجد جميع القيم العظمى والصغرى المحلية
- أقحمهم لتشكيل المغلف العلوي والسفلي
(انظر الشكل 3) - احسب الوسط الحسابي لكلا المغلفين
- اطرح هذا يعني من الإشارة
→ يمنحك هذا “صندوق النقد الدولي المرشح”.
6. ثم تحقق من شرطي صندوق النقد الدولي:
- هل لها نفس عدد المعابر الصفرية والنهايات القصوى؟
- فهل متوسط أظرفها يساوي الصفر تقريبًا؟
لو نعم → لقد استخرجت صندوق النقد الدولي₁.
لو لا → تكرر العملية (تسمى غربلة) حتى يستوفي المعايير.
7. بمجرد حصولك على IMF₁ (أسرع تذبذب):
- يمكنك طرحها من الإشارة الأصلية,
- والباقي يصبح إشارة جديدة,
- وتكرر العملية لاستخراج IMF₂، IMF₃، …
يستمر هذا حتى لا يتبقى أي تذبذب ذي معنى.
ما بقي هو الاتجاه المتبقي ص (ر).

EMD في الممارسة العملية
لفهم كيفية عمل EMD حقًا، دعونا ننشئ إشارة اصطناعية خاصة بنا.
سنقوم بخلط ثلاثة مكونات:
- تذبذب منخفض التردد (حوالي 5 هرتز)
- تذبذب عالي التردد (حوالي 30 هرتز)
- قليلا من الضوضاء البيضاء العشوائية
بمجرد جمع كل شيء في إشارة واحدة فوضوية، سنطبق طريقة EMD.
import numpy as np
import matplotlib.pyplot as plt
# --- Parameters ---
Fs = 500 # Sampling frequency (Hz)
t_end = 2 # Duration in seconds
N = Fs * t_end # Total number of samples
t = np.linspace(0, t_end, N, endpoint=False)
# --- Components ---
# 1. Low-frequency component (Alpha-band equivalent)
f1 = 5
s1 = 2 * np.sin(2 * np.pi * f1 * t)
# 2. High-frequency component (Gamma-band equivalent)
f2 = 30
s2 = 1.5 * np.sin(2 * np.pi * f2 * t)
# 3. White noise
noise = 0.5 * np.random.randn(N)
# --- Composite Signal ---
signal = s1 + s2 + noise
# Plot the synthetic signal
plt.figure(figsize=(12, 4))
plt.plot(t, signal)
plt.title(f'Synthetic Signal (Components at {f1} Hz and {f2} Hz)')
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.grid(True)
plt.tight_layout()
plt.show()

تفصيل مهم:
تختار EMD تلقائيًا عدد صناديق النقد الدولي.
يستمر في تحلل الإشارة حتى أ معيار التوقف يتم الوصول إليه – عادةً عندما:
- لا يمكن استخراج المزيد من البنية التذبذبية
- أو يصبح المتبقي اتجاهاً رتيباً
- أو تستقر عملية الغربلة
(يمكنك أيضًا تعيين الحد الأقصى لعدد صناديق النقد الدولي إذا لزم الأمر، ولكن الخوارزمية تتوقف بشكل طبيعي من تلقاء نفسها.)
from PyEMD import EMD
# Initialize EMD
emd = EMD()
IMFs = emd.emd(signal, max_imf=10)
# Plot Original Signal and IMFs
fig, axes = plt.subplots(IMFs.shape[0] + 1, 1, figsize=(10, 2 * IMFs.shape[0]))
fig.suptitle('EMD Decomposition Results', fontsize=14)
axes[0].plot(t, signal)
axes[0].set_title('Original Signal')
axes[0].set_xlim(t[0], t[-1])
axes[0].grid(True)
for n, imf in enumerate(IMFs):
axes[n + 1].plot(t, imf, 'g')
axes[n + 1].set_title(f"IMF {n+1}")
axes[n + 1].set_xlim(t[0], t[-1])
axes[n + 1].grid(True)
plt.tight_layout(rect=[0, 0.03, 1, 0.95])
plt.show()

قيود EMD
EMD قوي، لكن به عدة نقاط ضعف:
- خلط الوضع: ترددات مختلفة يمكن أن تنتهي في نفس صندوق النقد الدولي.
- الإفراط في التقسيم: وتقرر EMD عدد صناديق النقد الدولي بنفسها ويمكنها استخراج عدد كبير جدًا منها.
- حساسية الضوضاء: ومن الممكن أن تؤدي التغيرات البسيطة في الضوضاء إلى تغيير صندوق النقد الدولي بالكامل.
- لا يوجد أساس رياضي متين: لا يمكن ضمان أن تكون النتائج مستقرة أو فريدة من نوعها.
وبسبب هذه القيود، توجد العديد من الإصدارات المحسنة (EEMD، CEEMDAN)، لكنها تظل تجريبية.
هذا هو بالضبط سبب إعجاب الأساليب VMD تم إنشاؤها — وهذا ما سنستكشفه في المقالة التالية من هذه السلسلة.