«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сгладить кривые с шумом с помощью фильтрации Савицкого-Голея?

Как сгладить кривые с шумом с помощью фильтрации Савицкого-Голея?

Опубликовано 6 ноября 2024 г.
Просматривать:375

How to Smooth Noisy Curves Using Savitzky-Golay Filtering?

Сглаживание кривых для зашумленных данных: изучение фильтрации Савицкого-Голея

При анализе наборов данных возникает проблема сглаживания зашумленных кривых повысить ясность и раскрыть основные закономерности. Одним из особенно эффективных методов решения этой задачи является фильтр Савицкого-Голея.

Фильтр Савицкого-Голея работает в предположении, что данные могут быть локально аппроксимированы полиномиальной функцией. Он использует регрессию наименьших квадратов, чтобы подогнать указанный полином к небольшому окну точек данных, а затем использует полином для оценки значения в центре окна. Этот процесс применяется итеративно, перемещая окно вдоль ряда данных, обеспечивая оптимальную настройку каждой точки относительно ее соседей.

Для наборов данных, демонстрирующих небольшие изменения шума, таких как пример, приведенный в вопросе, Фильтр Савицкого-Голея оказался весьма эффективным. Указав размер окна и порядок полинома, можно настроить фильтр в соответствии с характеристиками данных.

В Python фильтр Савицкого-Голея легко доступен в библиотеке SciPy. Следующий фрагмент кода иллюстрирует его реализацию:

import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import savgol_filter

x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)   np.random.random(100) * 0.2
yhat = savgol_filter(y, 51, 3)  # window size 51, polynomial order 3

plt.plot(x,y)
plt.plot(x,yhat, color='red')
plt.show()

Полученная сглаженная кривая обеспечивает более четкое представление основной синусоидальной функции, подчеркивая эффективность фильтра Савицкого-Голея в снижении шума и повышении видимости существенных особенностей.

В заключение, фильтр Савицкого-Голея предлагает универсальный и адаптируемый подход к сглаживанию зашумленных кривых, что делает его ценным инструментом для анализа данных в различных научных и инженерных дисциплинах.

Заявление о выпуске Эта статья перепечатана по адресу: 1729411096. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3