【Python scipy】curve_fit: カーブフィッティング

python

curve_fit: カーブフィッティング

curve_fitは、scipyモジュールの一部であり、関数をデータにフィッティングするための最適なパラメータを求めるために使用されます。これは、データを最もよく表す関数を見つけるために使用されます。これは、データをモデル化するために使用されます。

curve_fit関数は、次のような引数を受け取ります。

  • 関数:フィッティングする関数
  • xdata:x軸のデータ
  • ydata:y軸のデータ
  • p0:関数のパラメータの初期値

curve_fit関数は、関数をデータにフィッティングするための最適なパラメータを求めるために使用されます。これは、データを最もよく表す関数を見つけるために使用されます。

以下のPythonコードは、curve_fit関数を使用して、指数関数をデータにフィッティングする例を示しています。

import numpy as np
from scipy.optimize import curve_fit
# 指数関数
def func(x, a, b, c):
return a * np.exp(-b * x) + c
# データ
xdata = np.linspace(0, 4, 50)
y = func(xdata, 2.5, 1.3, 0.5)
np.random.seed(1729)
y_noise = 0.2 * np.random.normal(size=xdata.size)
ydata = y + y_noise
# curve_fitを使用してパラメータを推定
popt, pcov = curve_fit(func, xdata, ydata)
# パラメータを表示
print(popt)

上記のコードを実行すると、次のような出力が得られます。

[2.55423706 1.35190947 0.47450618]

これらは、指数関数をデータにフィッティングするための最適なパラメータです。

タイトルとURLをコピーしました