"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تنعيم منحنيات البيانات المزعجة بشكل فعال؟

كيفية تنعيم منحنيات البيانات المزعجة بشكل فعال؟

تم النشر بتاريخ 2024-11-06
تصفح:601

How to Effectively Smoothen Noisy Data Curves?

تنعيم المنحنيات الصاخبة على النحو الأمثل

ضع في اعتبارك مجموعة بيانات تقريبية بواسطة:

استيراد numpy كـ np س = np.linspace(0, 2*np.pi, 100) y = np.sin(x) np.random.random(100) * 0.2
import numpy as np
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)   np.random.random(100) * 0.2
وهذا يشمل 20% من الاختلاف. هناك قيود مثل UnivariateSpline والمتوسطات المتحركة.

مرشح Savitzky-Golay

الحل الفعال هو مرشح Savitzky-Golay، المتوفر في scipy. ويستخدم انحدار المربعات الصغرى لتقدير القيمة في وسط نافذة صغيرة باستخدام كثير الحدود. تنتقل النافذة بعد ذلك لتكرار العملية، مما يؤدي إلى الضبط الأمثل لكل نقطة.

import numpy as np استيراد matplotlib.pyplot كـ plt من scipy.signal قم باستيراد savgol_filter س = np.linspace(0, 2*np.pi, 100) ص = np.sin(x) np.random.random(100) * 0.2 yhat = savgol_filter(y, 51, 3) # حجم النافذة 51، ترتيب متعدد الحدود 3 بلت.بلوت (س، ص) plt.plot(x,yhat, color='red') plt.show()
            
بيان الافراج أعيد طبع هذه المقالة على: 1729411035 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3