我想请您帮助建模以下形式的多元非线性模型: y = b1 * x1 ^ b2 + b3 * x2 + b4 * x3。以前,我将下一种形式用于单个自变量非线性模型。但是现在有了带有多个自变量的X数组,我不知道该怎么做。
def expon(x, Beta_1, Beta_2):
y = Beta_1*np.exp(Beta_2*x)
return y
from scipy.optimize import curve_fit
popt, pcov = curve_fit(sigmoid, xdata, ydata )
print(" beta_1 = %f, beta_2 = %f" % (popt[0], popt[1]))
答案 0 :(得分:0)
此question非常相似。在您的情况下,打包变量,将其传递给函数,然后在函数内部解压缩-
X = (x1, x2, x3)
def expon(X, b1, b2, b3, b4):
x1, x2, x3 = X
y = b1 * (x1 ** b2) + b3 * x2 + b4 * x3
return y