【发布时间】:2017-02-28 01:26:38
【问题描述】:
我正在尝试使用两分量混合威布尔分布拟合风数据集 v=v1,.....,vm。
我发现一篇论文建议使用最大似然法,特别是最大化以下方程:
Omega、a1、a2、b1 和b2 是我要更改的参数以最大化功能,v=v1,.....,vm 是一系列已知风速。
我一直在尝试使用 SciPy 最小化算法,但没有成功。
这是我目前所拥有的:
def minimizer_function(v,omega,a1,b1,a2,b2):
return np.reciprocal(np.sum((omega*(a1/b1)*((v/b1)**(a1-1))*(np.exp(-((v/b1)**a1)))+(1-omega)*(a2/b2)*((v/b2)**(a2-1))*(np.exp(-((v/b2)**a2))))))
x0 = np.array([0.5,1.0,1.0,1.0,1.0])
res = optimization.minimize(minimizer_function, x0, method='nelder-mead',options={'xtol': 1e-8, 'disp': True})
但是我不断收到以下错误:
minimizer_function() 缺少 5 个必需的位置参数:'omega'、'a1'、'b1'、'a2' 和 'b2'
我很确定我错过了什么。
【问题讨论】:
标签: python optimization scipy minimize