【问题标题】:GEKKO multivariate nonlinear regressionGEKKO多元非线性回归
【发布时间】:2020-06-22 05:33:14
【问题描述】:
df = pd.read_csv("data.csv")

xm1 = np.array(df["T"]) #Dep Var 1
xm2 = np.array(df["t"])  #Dep Var 2
xm3 = np.array(df["L"]) #Dep Var 3
ym = np.array(df["S"])  #Indep Var

# GEKKO model
m = GEKKO()
a = m.FV(lb=-100.0,ub=100.0)
b = m.FV(lb=-100.0,ub=100.0)
c = m.FV(lb=-100.0,ub=100.0)
d = m.FV(lb=-100.0,ub=100.0)
e = m.FV(lb=-100.0,ub=100.0)
f = m.FV(lb=-100.0,ub=100.0)
g = m.FV(lb=-100.0,ub=100.0)
x1 = m.Param(value=xm1)
x2 = m.Param(value=xm2)
x3 = m.Param(value=xm3)
z = m.Param(value=ym)
y = m.Var()
m.Equation(y == a+x1*b+x2*c+x3*d+e*(x1**2)+f*(x2**2)+g*(x3**2)
m.Obj(((y-z)/z)**2)

我在m.Obj(((y-z)/z)**2) 上收到 SyntaxError: invalid syntax。为此,我遵循了 APMonitor.com 的代码。该代码非常适合那里的示例。但是当我修改它以适应更多 FV 的回归问题时,它会显示此语法错误。 Syntax error pic attached

不太确定这有什么问题。任何帮助将不胜感激。

【问题讨论】:

    标签: python non-linear-regression gekko


    【解决方案1】:

    由于这一行而发生错误:

    m.Equation(y == a+x1*b+x2*c+x3*d+e*(x1**2)+f*(x2**2)+g*(x3**2)
    

    y 声明前多了一个括号

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2016-12-19
      • 2013-07-17
      • 2014-05-20
      相关资源
      最近更新 更多