在R中利用quadprog包求解二次筹划
概述本文将探究一个被称为二次筹划的优化问题,这是一种非凡形式的非线性约束优化问题。二次筹划在很多规模都有运用,好比投资组合优化、求解支持向量机(SVM)分类问题等。在R中求解二次筹划有很多包,这次,我们将接头一下quadprog包。在我们开始讲授案例之前,我们将先简短地先容一下二次筹划的机理。
什么是二次筹划对付一个二次筹划问题,首先要思量的就是一个二次方针函数:
示例一:
方针函数
化为尺度型想要用quadprog包求解二次筹划,我们需要同时转化我们的方针函数和约束条件为矩阵形式。这里是官方文档的说明:
详细实现quadprog包默认是求解极小值问题的,所以,我们的约束条件默认的形式也就是AX>=bvec。凡是我们需要把一些本来是求极大值的问题可能<=约束通过乘以负号来转化。
这是R的完整实现:
源代码GitHub地点:https://github.com/harryprince。
Harry Zhu,擅长用Python和R举办数据建模、定量研究,今朝就职于量子金服(Quantum Financial Service)。微信号:harryzhustudio
接待存眷小我私家主页:https://github.com/harryprincehttps://segmentfault.com/u/harryprince
接待插手本站果真乐趣群贸易智能与数据阐明群乐趣范畴包罗各类让数据发生代价的步伐,实际应用案例分享与接头,阐明东西,ETL东西,数据客栈,数据挖掘东西,报表系统等全方位常识QQ群:81035754