多变量函数回归
Regression with a multi-variable function
我有这段代码来拟合一个只有一个变量 (x) 的函数:
from scipy.optimize import curve_fit
def func(x, s, k, L,A):
return A + (L * (1/(1+((x/k)**(-s)))))
init_vals = [0.4,4, 100,50]
# fit your data and getting fit parameters
popt, pcov = curve_fit(func, xdata, ydata, p0=init_vals, bounds=([0,0.1, 1,0], [10,10, 1000,1000]))
但现在我需要装这个:
def func(x, s, k, L,A):
return A + (L * (1/(1+(((b1*x1+b2*x2+b3*x3)/k)**(-s)))))
其中 x 现在是 f(x1,x2,x3)
应该是这样吗?
def func(x, s, k, L,A):
return A + (L * (1/(1+(((b1*x[0]+b2*x[1]+b3*x[2])/k)**(-s)))))
并且在这种情况下 xdata
必须是 (3,n)
形状的数组。
我有这段代码来拟合一个只有一个变量 (x) 的函数:
from scipy.optimize import curve_fit
def func(x, s, k, L,A):
return A + (L * (1/(1+((x/k)**(-s)))))
init_vals = [0.4,4, 100,50]
# fit your data and getting fit parameters
popt, pcov = curve_fit(func, xdata, ydata, p0=init_vals, bounds=([0,0.1, 1,0], [10,10, 1000,1000]))
但现在我需要装这个:
def func(x, s, k, L,A):
return A + (L * (1/(1+(((b1*x1+b2*x2+b3*x3)/k)**(-s)))))
其中 x 现在是 f(x1,x2,x3)
应该是这样吗?
def func(x, s, k, L,A):
return A + (L * (1/(1+(((b1*x[0]+b2*x[1]+b3*x[2])/k)**(-s)))))
并且在这种情况下 xdata
必须是 (3,n)
形状的数组。