Bagaimana untuk Melicinkan Keluk dengan Berkesan apabila Berurusan dengan Set Data Bising?

Barbara Streisand
Lepaskan: 2024-10-20 15:57:02
asal
470 orang telah melayarinya

How to Effectively Smooth Curves when Dealing with Noisy Datasets?

Melicinkan Keluk dengan Kebisingan Set Data: Panduan Praktikal

Melicinkan keluk untuk set data yang bising ialah cabaran biasa dalam analisis data. Untuk menangani perkara ini, pertimbangkan set data dengan variasi 20% disebabkan oleh hingar:

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

Untuk situasi ini, penapis Savitzky-Golay ialah pilihan yang berkesan. Penapis ini berfungsi dengan memasang polinomial pada tetingkap titik data dan menggunakan polinomial untuk menganggarkan nilai di tengah tetingkap. Tetingkap kemudian dialihkan sepanjang data dan proses berulang, menghasilkan lengkung yang terlicin.

Begini cara untuk melaksanakan penapis Savitzky-Golay dalam Python:

  1. Import yang diperlukan perpustakaan:
<code class="python">import numpy as np
import matplotlib.pyplot as plt</code>
Salin selepas log masuk
  1. Jalankan penapis Savitzky-Golay pada data:
<code class="python">yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3</code>
Salin selepas log masuk
  1. Visualkan data asal dan lengkung terlicin :
<code class="python">plt.plot(x, y)
plt.plot(x, yhat, color='red')
plt.show()</code>
Salin selepas log masuk

Lengkung yang terhasil akan lebih licin daripada yang asal sambil mengekalkan isyarat asas.

Nota: Jika anda tidak mempunyai fungsi savgol_filter tersedia, anda boleh memasangnya menggunakan arahan berikut:

pip install scipy
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Melicinkan Keluk dengan Berkesan apabila Berurusan dengan Set Data Bising?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!