我正在尝试拟合多元非线性回归模型

Im trying to fit a multivariate non-linear regression model

我想请你帮忙建立一个多元非谎言模型的模型: 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]))

这个很相似。在你的情况下,打包你的变量,将它们传递给函数并在函数内部解包 -

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