تجانس المنحنيات مع ضجيج مجموعة البيانات: دليل عملي
يعد تجانس المنحنيات لمجموعات البيانات الصاخبة تحديًا شائعًا في تحليل البيانات. لمعالجة هذه المشكلة، فكر في مجموعة بيانات بها تباين بنسبة 20% بسبب الضوضاء:
import numpy as np x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) np.random.random(100) * 0.2
في هذه الحالة، يعد مرشح Savitzky-Golay خيارًا فعالاً. يعمل هذا المرشح عن طريق تركيب كثير الحدود في نافذة نقاط البيانات واستخدام كثير الحدود لتقدير القيمة في وسط النافذة. يتم بعد ذلك تحريك النافذة على طول البيانات، وتتكرر العملية، مما يؤدي إلى الحصول على منحنى سلس.
إليك كيفية تنفيذ مرشح Savitzky-Golay في بايثون:
import numpy as np
import matplotlib.pyplot as plt
yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3
plt.plot(x, y)
plt.plot(x, yhat, color='red')
plt.show()
سيكون المنحنى الناتج أكثر سلاسة من المنحنى الأصلي مع الحفاظ على الإشارة الأساسية.
ملاحظة: إذا لم يكن لديك وظيفة savgol_filter متاح، يمكنك تثبيته باستخدام الأمر التالي:
pip install scipy
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3