"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 시끄러운 데이터세트를 처리할 때 곡선을 효과적으로 매끄럽게 만드는 방법은 무엇입니까?

시끄러운 데이터세트를 처리할 때 곡선을 효과적으로 매끄럽게 만드는 방법은 무엇입니까?

2024-11-01에 게시됨
검색:858

How to Effectively Smooth Curves when Dealing with Noisy Datasets?

데이터세트 노이즈가 있는 곡선 평활화: 실용 가이드

노이즈가 있는 데이터세트에 대한 곡선을 평활화하는 것은 데이터 분석에서 일반적인 과제입니다. 이 문제를 해결하려면 노이즈로 인해 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 필터를 구현하는 방법은 다음과 같습니다.

  1. 필요한 항목을 가져옵니다. 라이브러리:
import numpy as np
import matplotlib.pyplot as plt
  1. 데이터에 대해 Savitzky-Golay 필터를 실행합니다:
yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3
  1. 원래 데이터와 평활화된 곡선을 시각화합니다:
plt.plot(x, y)
plt.plot(x, yhat, color='red')
plt.show()

결과 곡선은 기본 신호를 유지하면서 원본보다 더 매끄러워집니다.

참고: savgol_filter 함수가 없는 경우 사용 가능한 경우 다음 명령을 사용하여 설치할 수 있습니다.

pip install scipy
릴리스 선언문 이 글은 1729410977에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3