Python中的凸优化

时间:2016-09-13 08:50:40

标签: python python-3.x optimization scipy convex

我最近对足球统计感兴趣。现在我想用Python 3.5(paper-link)实现着名的Dixon-Coles模型。

基本问题是,从论文中描述的模型中可以看出具有大量参数的似然函数,需要最大化。

例如:一个 Bundesliga 赛季的似然函数将产生37个参数。当然,我做了相应的负对数似然函数的最小化。我知道这个log函数严格来说是,因此优化不应该太困难。我还包括了分析梯度,但随着参数数量超过~10, SciPy-Package 的优化方法失败(scipy.optimize.minimize())。

我的问题: 还有哪些其他优化技术,主要适用于涉及~40个独立参数的优化问题?

其他方法的一些提示会很棒!

2 个答案:

答案 0 :(得分:1)

您可能想看一下https://cvxopt.org/https://www.cvxpy.org/之类的凸优化程序包。它基于Python,因此易于使用!

答案 1 :(得分:0)

您可以使用Metaheuristic算法,该算法既可用于凸空间,也可用于非凸空间。可能最着名的一个是Genetic algorithm。它也很容易实现,概念很简单。遗传算法的美妙之处在于,您可以对其进行调整以解决大多数优化问题。