데이터세트 노이즈를 사용한 곡선 평활화: 실용 가이드
노이즈가 있는 데이터세트에 대한 곡선을 평활화하는 것은 데이터 분석에서 일반적인 과제입니다. 이 문제를 해결하려면 노이즈로 인해 변동이 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 필터가 효과적인 선택입니다. 이 필터는 다항식을 데이터 포인트 창에 맞추고 다항식을 사용하여 창 중앙의 값을 추정하는 방식으로 작동합니다. 그런 다음 창이 데이터를 따라 이동하고 프로세스가 반복되어 부드러운 곡선이 생성됩니다.
Python에서 Savitzky-Golay 필터를 구현하는 방법은 다음과 같습니다.
<code class="python">import numpy as np import matplotlib.pyplot as plt</code>
<code class="python">yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3</code>
<code class="python">plt.plot(x, y) plt.plot(x, yhat, color='red') plt.show()</code>
결과 곡선은 기본 신호를 유지하면서 원본보다 매끄러워집니다.
참고: savgol_filter 기능을 사용할 수 있으면 다음 명령을 사용하여 설치할 수 있습니다:
pip install scipy
위 내용은 시끄러운 데이터세트를 처리할 때 곡선을 효과적으로 매끄럽게 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!