データセットをフィッティングするときは、それを最もよく表す曲線を見つけることが望ましいです。カーブ フィッティングとして知られるこのプロセスは、幅広い科学および工学アプリケーションに不可欠です。さまざまな種類の曲線の中でも、指数関数と対数関数は、データの傾向についての洞察を提供します。
Python では、numpy.polyfit() 関数を使用すると、次のような便利な方法が提供されます。多項式フィッティングを実行します。ただし、この関数は多項式モデルのみをサポートします。
指数曲線
y = Ae の形式の曲線をフィッティングするには^Bx、方程式の両辺の対数をとります:
log(y) = log(A) Bx
次に、log(y) を x に対して当てはめます。あるいは、ラムダ式で scipy.optimize.curve_fit 関数を使用することもできます:
lambda t, a, b: a * np.exp(b * t)
対数曲線
y = A B log x の形式の曲線を近似するには、単に y を log(x) に対して近似します。
numpy.polyfit(numpy.log(x), y , 1)
指数曲線を近似する場合、不偏線形近似アプローチでの小さな値への偏りを考慮することが重要です。この偏りは、y に比例する重みを使用した重み付き回帰を使用することで軽減できます。
numpy.polyfit(x, numpy.log(y), 1, w=np.sqrt(y))
指数関数および対数関数のフィッティングには変換メソッドを使用できますが、scipy.optimize.curve_fit にはいくつかの利点があります。
以上がPython で指数曲線と対数曲線を近似する方法: 多項式近似を超えて?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。