Невозможно точно обнаружить 7 наиболее заметных пиков в данных с помощью функции Python find_peaksPython

Программы на Python
Ответить
Anonymous
 Невозможно точно обнаружить 7 наиболее заметных пиков в данных с помощью функции Python find_peaks

Сообщение Anonymous »

Я надеюсь выявить пики в сегменте данных (выбрав 7 верхних точек с наибольшей заметностью), которые хорошо видны невооруженным глазом. Однако мне не удалось успешно получить результаты с помощью функции find_peaks.
Данные доступны в этом списке.
Результат ошибки: если я напрямую используйте find_peaks:

Код: Выделить всё

find_peaks(series, prominence=np.max(series) * 0.1, distance=48)
а затем выбираю 7 верхних точек с самым высоким значением, в результате у меня остаются некоторые нежелательные точки.
Неуклюжий метод: я могу сначала сгладить данные:

Код: Выделить всё

percentile_80 = series.rolling(
window=61, center=True, min_periods=1
).apply(lambda x: np.percentile(x, 80))
smoothed_series = series - percentile_80
Затем используйте find_peaks(smoothed_series, prominence=np.max(smoothed_series) * 0.1, distance=48) и выберите 7 верхних точек с наибольшей известностью, которые дает ожидаемые результаты.
Однако этот подход работает намного медленнее.
Изображение

чего я хочу

Подробнее здесь: https://stackoverflow.com/questions/793 ... -s-find-pe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»