理解Scipy优化最小化以解决多个参数问题

时间:2016-05-21 05:02:06

标签: python scipy mathematical-optimization minimize

从scipy最小化文档:

  

args:tuple,optional传递给目标函数及其衍生物的额外参数

大。这就是关于args参数的所有内容。

所以我有这个代码可以产生一个由grisha.org提供的Holt-Winters预测。在博客文章中,作者确定alphabetagamma的最佳值分别为0.7160.0290.993

我怀疑我可以使用scipy的minimize函数通过最小化误差平方和来解决这三个变量。这就是sse函数在下面的作用:

def sse(alpha, beta, gamma):
  pred = triple_exponential_smoothing(series, 12, alpha, beta, gamma, 24)
  return sum((pred[:series.shape[0]] - series)**2)

我的问题是,我的目标函数sse有三个参数(又名:多个参数)。我希望能够做的是将sse传递给minimize,让minimize告诉我alphabeta和{{1}的最佳值}} 是。所有三个参数都绑定在gamma0之间。 “最佳”值显然是实现最小1值的三个值。

可以通过sse

实现这一目标
scipy.optimize.minimize

这是我的完整代码:

minimize(sse, [0.5, 0.5, 0.5], args=(beta, gamma),
         bounds=[(0, 1), (0, 1), (0, 1)], method='SLSQP')

在alpha,beta,gamma参数优化之前

Before alpha, beta, gamma parameter optimization

经过alpha,beta,gamma参数优化

After alpha, beta, gamma parameter optimization

0 个答案:

没有答案