データセット ノイズを使用した曲線の平滑化: 実践ガイド
ノイズの多いデータセットの曲線を平滑化することは、データ分析における一般的な課題です。これに対処するには、ノイズによる 20% の変動があるデータセットを考慮します。
import numpy as np x = np.linspace(0, 2*np.pi, 100) y = np.sin(x) + np.random.random(100) * 0.2
この状況では、Savitzky-Golay フィルターが効果的な選択肢です。このフィルターは、データ ポイントのウィンドウに多項式を当てはめ、その多項式を使用してウィンドウの中心の値を推定することによって機能します。次に、ウィンドウがデータに沿って移動され、プロセスが繰り返され、滑らかな曲線が得られます。
Python で Savitzky-Golay フィルターを実装する方法は次のとおりです。
<code class="python">import numpy as np import matplotlib.pyplot as plt</code>
<code class="python">yhat = savgol_filter(y, 51, 3) # window size 51, polynomial order 3</code>
<code class="python">plt.plot(x, y) plt.plot(x, yhat, color='red') plt.show()</code>
結果のカーブは、基礎となる信号を維持しながら、元のカーブよりも滑らかになります。
注: savgol_filter 関数が利用可能です。次のコマンドを使用してインストールできます:
pip install scipy
以上がノイズの多いデータセットを扱うときに曲線を効果的に滑らかにする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。