잡음이 있는 데이터에 대한 곡선 평활화: Savitzky-Golay 필터링 탐색
데이터세트를 분석할 때 잡음이 있는 곡선을 평활화하는 문제는 다음과 같습니다. 명확성을 높이고 기본 패턴을 찾아냅니다. 이 작업에 특히 효과적인 방법 중 하나는 Savitzky-Golay 필터입니다.
Savitzky-Golay 필터는 데이터가 다항식 함수에 의해 국부적으로 근사화될 수 있다는 가정하에 작동합니다. 최소 제곱 회귀를 활용하여 지정된 다항식을 데이터 포인트의 작은 창에 맞춘 다음 다항식을 사용하여 창 중앙의 값을 추정합니다. 이 프로세스는 반복적으로 적용되어 데이터 시리즈를 따라 창을 이동하여 이웃을 기준으로 각 포인트를 최적으로 조정할 수 있습니다.
질문에 제공된 예와 같이 작은 노이즈 변화를 나타내는 데이터 세트의 경우 Savitzky-Golay 필터는 매우 효과적인 것으로 입증되었습니다. 창 크기와 다항식의 순서를 지정하면 데이터 특성에 맞게 필터를 조정할 수 있습니다.
Python에서는 Savitzky-Golay 필터를 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()
매끄러워진 결과 곡선은 기본 사인 함수를 더 명확하게 표현하여 노이즈를 완화하고 주요 특징의 가시성을 향상시키는 Savitzky-Golay 필터의 효율성을 강조합니다.
결론적으로 Savitzky-Golay 필터는 잡음이 있는 곡선을 평활화하는 다양하고 적응 가능한 접근 방식을 제공하므로 다양한 과학 및 엔지니어링 분야의 데이터 분석을 위한 귀중한 도구가 됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3