python目标函数_python-3.x

我已经开发了标准低音模型的扩展,现在我想使用最小化来估计该模型的参数。

该模型为:SVe(t)=θ[t-tv] * {p * m +(qp)* ∑SVe(t-1)+(q / m)* ∑SVe(t-1)^ 2}

目标函数是:最小化∑(SVr-SVe)^ 2

SVr是一个阵列,其中包含每日Youtube视频观看次数的测量数据。 SVe是我的估计意见。 我的目标是估算Sve,然后使用最小化来接近实际值。

θ[t-tv]是重糖苷函数。 这也是我的输入,看起来像:

[[0,1,1,1,1,1][0,0,0,1,1,1][0,0,0,0,1,1]]

p,q和m是我要估计的参数。 p和q在0和1之间,m是一个大正数。 ∑SVe(t-1)是前一时期的累积视​​图。

我的想法是定义一个包含模型的函数和一个使用最小化的目标函数。

import numpy as np

from scipy.optimize import minimize

SV = np.array([100,10000,1000])

heavi = np.array([[0,1,1,1],[0,0,1,1],[0,0,0,1]])

def model(x):

p = x[0]

q = x[1]

m = x[2]

SVe = sum(heavi * (p*m+(q-p)*sum(SVe[:-1])+(q/m)*(sum(SVe[:-1])**2))

return SVe

def objective(SVr):

#Somehow Call model and compare results, then do it again until res is close to 0

return sum(SVr - SVe)**2

x0 = np.array([0.1, 0.1, 10000])

b1 = (0,1)

b2 = (1,1000000000)

bnds = (b1,b1,b2)

res = minimize(objective, x0, method='SLSQP',bounds = bnds)

print(res)

这只是我的想法的代码示例,不起作用。 您将如何解决这个问题? 我如何将模型与目标联系起来,以便一遍又一遍地重新估计,直到找到合适的解决方案? 请随时询问更多信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值