Prominence는 SciPy를 사용하여 Python의 피크 감지에 어떻게 도움이 됩니까?

Mary-Kate Olsen
풀어 주다: 2024-10-22 22:44:29
원래의
287명이 탐색했습니다.

How Does Prominence Help in Peak Detection in Python Using SciPy?

Python/SciPy의 피크 감지 알고리즘

데이터의 피크를 감지하는 것은 데이터 분석에서 일반적인 작업입니다. Python 사용자를 위해 SciPy는 이 목적에 맞게 특별히 맞춤화된 scipy.signal.find_peaks 함수를 제공합니다.

올바른 매개변수 선택

피크를 효과적으로 식별하려면 사용 가능한 매개변수를 이해하세요. 매개변수가 중요합니다. 너비, 임계값, 거리와 같은 매개변수는 어느 정도 유용성을 제공하지만 실제 피크와 노이즈를 구별하는 매개변수는 홍염입니다.

홍염이란 무엇입니까?

홍염은 정상에서 더 높은 지형으로 내려가는 데 필요한 높이를 측정합니다. 즉, 주변 데이터 포인트에 비해 피크의 "중요도"를 나타냅니다.

프로미넌스를 사용하여 피크 감지

주파수 변화 정현파를 사용하여 find_peaks를 테스트하면 탁월함의 효율성. 다른 매개변수는 다양한 피크 폭이나 노이즈 수준을 설명하는 데 어려움을 겪는 반면, 돌출부는 지속적으로 중요한 피크를 식별합니다.

코드 예

다음 코드 조각은 find_peaks를 다음과 함께 사용하는 방법을 보여줍니다. 다양한 매개변수:

<code class="python">import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import find_peaks

x = np.sin(2*np.pi*(2**np.linspace(2,10,1000))*np.arange(1000)/48000) + np.random.normal(0, 1, 1000) * 0.15
peaks, _ = find_peaks(x, distance=20)
peaks2, _ = find_peaks(x, prominence=1)      # BEST!
peaks3, _ = find_peaks(x, width=20)
peaks4, _ = find_peaks(x, threshold=0.4)

plt.subplot(2, 2, 1)
plt.plot(peaks, x[peaks], "xr"); plt.plot(x); plt.legend(['distance'])
plt.subplot(2, 2, 2)
plt.plot(peaks2, x[peaks2], "ob"); plt.plot(x); plt.legend(['prominence'])
plt.subplot(2, 2, 3)
plt.plot(peaks3, x[peaks3], "vg"); plt.plot(x); plt.legend(['width'])
plt.subplot(2, 2, 4)
plt.plot(peaks4, x[peaks4], "xk"); plt.plot(x); plt.legend(['threshold'])
plt.show()</code>
로그인 후 복사

결과는 노이즈가 있는 경우에도 눈에 띄는 피크를 효과적으로 식별한다는 것을 보여줍니다. 돌출부와 같은 매개변수를 거리나 너비와 같은 다른 매개변수와 결합하면 복잡한 데이터에서 피크 감지를 더욱 세분화할 수 있습니다.

위 내용은 Prominence는 SciPy를 사용하여 Python의 피크 감지에 어떻게 도움이 됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!