简体   繁体   English

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

[英]Im trying to fit a multivariate non-linear regression model

I want to ask for your help to model a multivariate non-liear model of the form: y=b1*x1^b2 + b3*x2 + b4*x3. 我想请您帮助建模以下形式的多元非线性模型:y = b1 * x1 ^ b2 + b3 * x2 + b4 * x3。 Previously I used the next form for a single independent variable non-linear model. 以前,我将下一种形式用于单个自变量非线性模型。 But now with an X array with multiple independent variables I dont know hoe to proceed. 但是现在有了带有多个自变量的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]))

This question is very similar. 这个问题非常相似。 In your case, pack your variables, pass them to the function and unpack inside the function - 在您的情况下,打包变量,将其传递给函数,然后在函数内部解压缩-

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM