R または Python でデータを漸近べき乗則曲線または指数関数的アプローチ曲線に適合させるにはどうすればよいですか?
私のデータは基本的に、y 軸が連続的に増加することを示していますが、デルタ (増加) は x の増加とともに減少します。
どんな助けでも大歓迎です。
R または Python でデータを漸近べき乗則曲線または指数関数的アプローチ曲線に適合させるにはどうすればよいですか?
私のデータは基本的に、y 軸が連続的に増加することを示していますが、デルタ (増加) は x の増加とともに減少します。
どんな助けでも大歓迎です。
Python を使用して、numpy と scipy がインストールされている場合curve_fit
は、scipy
パッケージを使用できます。ユーザー定義関数と x および y 値 (コード内の x_values と y_values) を受け取り、最適化されたパラメーターとパラメーターの共分散を返します。
import numpy
import scipy
def exponential(x,a,b):
return a*numpy.exp(b*x)
fit_data, covariance = scipy.optimize.curve_fit(exponential, x_values, y_values, (1.,1.))
この回答は、データが 1 次元の numpy-array であることを前提としています。ただし、データをこれらのいずれかに簡単に変換できます。
最後の引数には、最適化の開始値が含まれています。それらを指定しないと、パラメーターの数を決定する際に問題が発生する可能性があります。