"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como suavizar curvas de maneira eficaz ao lidar com conjuntos de dados barulhentos?

Como suavizar curvas de maneira eficaz ao lidar com conjuntos de dados barulhentos?

Publicado em 01/11/2024
Navegar:957

How to Effectively Smooth Curves when Dealing with Noisy Datasets?

Suavização de curvas com ruído de conjunto de dados: um guia prático

Suavização de curvas para conjuntos de dados ruidosos é um desafio comum na análise de dados. Para resolver isso, considere um conjunto de dados com uma variação de 20% devido ao ruído:

import numpy as np
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)   np.random.random(100) * 0.2

Para esta situação, o filtro Savitzky-Golay é uma escolha eficaz. Este filtro funciona ajustando um polinômio a uma janela de pontos de dados e usando o polinômio para estimar o valor no centro da janela. A janela é então deslocada ao longo dos dados e o processo se repete, resultando em uma curva suavizada.

Veja como implementar o filtro Savitzky-Golay em Python:

  1. Importe o necessário bibliotecas:
import numpy as np
import matplotlib.pyplot as plt
  1. Execute o filtro Savitzky-Golay nos dados:
yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3
  1. Visualize os dados originais e a curva suavizada:
plt.plot(x, y)
plt.plot(x, yhat, color='red')
plt.show()

A curva resultante será mais suave que a original, preservando ainda o sinal subjacente.

Nota: Se você não tiver a função savgol_filter disponível, você pode instalá-lo usando o seguinte comando:

pip install scipy
Declaração de lançamento Este artigo foi reimpresso em: 1729410977 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3