Melicinkan Lengkung untuk Set Data: Meneroka Pendekatan Alternatif
Untuk melicinkan lengkung bagi set data dengan hingar, beberapa kaedah boleh digunakan. Artikel ini meneroka pilihan di luar fungsi UnivariateSpline yang biasa digunakan.
Penapis Savitzky-Golay
Alternatif yang disyorkan ialah penapis Savitzky-Golay, yang memanfaatkan regresi polinomial untuk menganggarkan data titik dalam tetingkap yang bergerak. Penapis ini menangani isyarat bising dengan berkesan, walaupun daripada sumber bukan linear atau bukan berkala.
Pelaksanaan dalam Python Menggunakan SciPy
Untuk melaksanakan penapis Savitzky-Golay dalam Python menggunakan SciPy, ikuti langkah berikut:
<code class="python">import numpy as np from scipy.signal import savgol_filter # Define x and y data x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) + np.random.random(100) * 0.2 # Apply the Savitzky-Golay filter yhat = savgol_filter(y, 51, 3) # Window size 51, polynomial order 3 # Plot the data plt.plot(x, y) plt.plot(x, yhat, color='red') plt.show()</code>
Pendekatan Lain
Walaupun penapis Savitzky-Golay ialah penyelesaian yang boleh digunakan secara meluas, teknik lain patut dipertimbangkan:
Kesimpulan
Seperti yang ditunjukkan, penapis Savitzky-Golay menyediakan cara yang berkesan untuk melicinkan lengkung untuk set data, terutamanya apabila terdapat bunyi bising. Pendekatan lain juga mungkin sesuai bergantung pada ciri data tertentu. Dengan mengambil kira kebaikan dan keburukan setiap teknik, pengguna boleh memilih kaedah yang paling sesuai untuk aplikasi mereka.
Atas ialah kandungan terperinci Apakah Pendekatan Alternatif untuk Melicinkan Keluk untuk Set Data Bising?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!