大数跨境
0
0

译 | 在R中使用quadprog包求解二次规划

译 | 在R中使用quadprog包求解二次规划 CDA数据分析师
2016-02-22
0
导读:二次规划在许多领域都有运用,比如投资组合优化、求解支持向量机(SVM)分类问题等。

本文由CDA作者库成员HarryZhu翻译,并授权发布。

CDA作者库凝聚原创力量,只做更有价值的分享。

了解详情请微信添加trasn863,或发送邮件至songpeiyang@pinggu.org


概述

本文将探究一个被称为二次规划的优化问题,这是一种特殊形式的非线性约束优化问题。二次规划在许多领域都有运用,比如投资组合优化、求解支持向量机(SVM)分类问题等。在R中求解二次规划有许多包,这次,我们将讨论一下quadprog包。在我们开始讲解案例之前,我们将先简短地介绍一下二次规划的机理。

什么是二次规划

对于一个二次规划问题,首先要考虑的就是一个二次目标函数:


示例一:

目标函数

化为标准型

想要用quadprog包求解二次规划,我们需要同时转化我们的目标函数和约束条件为矩阵形式。这里是官方文档的说明:


具体实现

quadprog包默认是求解极小值问题的,所以,我们的约束条件默认的形式也就是AX>=bvec。通常我们需要把一些原来是求极大值的问题或者<=约束通过乘以负号来转化。

这是R的完整实现:

源代码GitHub地址:https://github.com/harryprince。




Harry Zhu,擅长用Python和R进行数据建模、定量研究,目前就职于量子金服(Quantum Financial Service)。微信号:harryzhustudio


欢迎关注个人主页:

https://github.com/harryprince

https://segmentfault.com/u/harryprince



end

点击阅读原文可查看CDA数据分析师交流群规范与福利


【声明】内容源于网络
0
0
CDA数据分析师
🌸全国30万数据分析从业人员,有10万在CDA数据分析师 🌺CDA会员俱乐部有1000个数据库,成为持证人即可获得相关数据信息 🌹未来两样东西最有价值:一个是数据,一个是GPU
内容 9451
粉丝 0
CDA数据分析师 🌸全国30万数据分析从业人员,有10万在CDA数据分析师 🌺CDA会员俱乐部有1000个数据库,成为持证人即可获得相关数据信息 🌹未来两样东西最有价值:一个是数据,一个是GPU
总阅读34
粉丝0
内容9.5k