2. 沈阳农业大学 信息与电气工程学院, 辽宁 沈阳 110866
2. College of Information and Electric Engineering,Shenyang Agricultural University,Shenyang 110866,China
支持向量机是基于统计学习的VC维理论和结构风险最小原理基础上的,它能很好地解决小样本、非线性以及高维模式识别问题,近年来支持向量机越来越多地被应用到回归问题中.求解回归问题最终归结为求解一个凸二次规划问题,当数据规模增大时,数据的训练效率急速下降,这是制约其应用的主要原因.很多学者在相关方面进行了深入的研究[1-6],并提出了一些改进方法,其中较有效的一种方法为粒度支持向量机.文献[7]首次将粒度计算理论同支持向量机相结合,提出粒度支持向量机(GSVM).GSVM的基本思想是在原始样本空间中对样本以某种聚类算法划分为若干粒,然后使用部分重要样本代替粒进行学习,从而得到最终分类器,粒划算法的好坏直接决定了粒度支持向量机(GSVM)的精度.此后许多学者对粒划算法进行研究.文献[8]提出了基于聚类的GSVM,根据样本间的相似度将数据集划分为多个粒,对粒进行学习,从而得到最终的分类或回归面.文献[9]提出了基于样本与近似最优超平面距离的粒划算法.文献[10]提出了动态粒度支持向量机,根据密度和半径来确定信息粒的重要程度,对重要程度不同的信息粒进行不同层次划分.上述文献提出的粒划算法,在粒划过程中只考虑了距离因素.本文在文献[10]的基础上,将时序信息引入粒划过程,综合距离及时序信息衡量粒的重要程度,对重要的粒进行较多层次的划分;对次要的粒进行较少层次的划分.最后根据不同层次、不同细化程度的粒训练得到回归平面,从而进一步提高了GSVM的泛化性.
1 粒度支持向量回归机粒度支持向量回归机(GSVR),将粒度计算理论和统计学习理论结合起来,总体思想是通过某种粒划算法将样本集分为多个组,在每组样本中选取中心样本进行训练得到回归超平面[11].这样,SVR的训练样本减少,从而提高训练效率.这样做可能会使经过聚类粒划的样本集的分布与原始样本集完全不同,从而导致泛化性能的降低.针对这些问题,文献[10]提出了改进方法,在核空间中,粒划过程在不同层次下进行划分代替,这样做能使重要的样本尽可能多地留在样本集中,从而尽量保证样本粒划前后分布的一致性.粒划后,样本集的规模减小,训练过程缩短,学习的泛化能力提高.本文在文献[10]的基础上,将时序信息引入粒划过程,提出适用于金融时间序列的基于距离和时序因素的层次粒度支持向量回归机.
2 基于距离和时序因素的层次粒度支持向量回归机(DTHGSVR)依据支持向量回归机的几何意义,位于回归间隔边界上的点最有可能成为最终的支持向量,这些样本对回归平面很重要;而位于分类间隔内部的点成为支持向量的可能性较小,对回归平面的影响较小.目前大多粒度支持向量机的粒划算法,都是依据距离因素进行粒划,而对于时间序列来说,离预测点越近的样本点,对最终回归平面的贡献越大.基于这样的思想,参考文献[10],对粒划算法进行了改进,既考虑样本点的距离因素又考虑了样本点的时序特征,提出了适合金融时间序列的基于距离和时序因素的层次粒度支持向量回归机.
2.1 相关概念及定义参考文献[10]中定义,假定原始训练集T=(X,Y)={(xi,yi),i=1,…,l},xi∈Rn,yi∈R,经过非线性映射φ,样本在高维空间Rn中表示为T={(φ(xi),di),i=1,…,l},将样本划分为k个粒Gi,…,Gk,其中,Gi={(φ(xij),yij),i=1,…,k;j=1,…,ni(ni为第i个粒中样本个数)}.将每个粒看作一个超球,其中心和半径定义如下.
定义1 (核空间粒超球的中心及半径)粒划后的样本集形成的每一个N维样本粒xi称为一个粒超球(粒超球记作xi),其中μi称为中心(粒心),ri称为半径,计算方法如下:
(1) |
(2) |
根据定义1 ,N维空间中任一样本φ(xj)到第i个粒超球Gi的距离为
(3) |
定义2 (粒到超平面的距离)N维空间的粒Gi到超平面f:y=w.φ(x)+b的距离为
(4) |
其中,SV是支持向量集合.
定义3 (信息粒)假设存在粒心和半径分别为μi和ri的粒Gi,近似的回归超平面为f:y=w·φ(x)+b,若粒Gi到回归平面f的距离d(Gi,f)大于或等于η-2ri(其中,η是SVR回归间隔),则粒Gi为信息粒.
由信息粒的定义可知,若粒与超平面f的回归间隔区域有重叠或在间隔之外,此粒为信息粒.否则,粒Gi为非信息粒.由于传统SVR模型中支持向量在超平面间隔边界上,且其与超平面的距离为η.因此,信息粒包含支持向量的可能性较大,非信息粒包含支持向量的可能性较小.
定义4 (粒密度)假设存在粒Gi={xij}(j=1,…,ni),其粒心和半径分别为μi和ri,所含样本数为ni,则粒Gi的密度ρi定义为
(5) |
定义5 (动态粒化个数)假设存在第L层的信息粒G′L_j,针对信息粒G′L_j在第L层的动态粒划个数为
(6) |
其中d为动态粒化参数,用来控制数据集的粒划进程,通过网络搜索的方式设置d的取值.通过反复试验,当训练集样本个数大于100时,动态粒化参数分别取[1.5,2,2.5]进行搜索;当训练集样本个数小于100时,d分别取[1,1.25,1.5]进行搜索.直到所有信息粒的粒划个数均为1时,动态粒划过程停止.
2.2 基于距离和时序因素的粒划算法 2.2.1 基本思想粒化算法的总体思想是,在进行粒划的过程中尽可能将重要的样本保留在样本集中.相比简单使用核空间邻近法进行粒划,本文提出的粒化算法首先按照核空间邻近法进行粒化,然后将粒分为信息粒和非信息粒.对信息粒,根据其距离因素(密度、半径)和时序因素再进行粒划,重复粒化过程,直至不能再粒划.
2.2.2 时序信息的表示
对于金融时间序列,往往离预测点近的样本对预测结果影响较大.为了使时序信息在粒划过程中得到体现,本文引入
a>0时为单调递增函数,并且随着时间后移逐渐增大,它的范围在0和1之间.这样对于离预测点较近的样本点权重较大.
定义6 (动态粒划个数)假设存在第L层的信息粒G′L_j,针对信息粒G′L_j在第L层的动态粒划个数为
(7) |
根据算法的基本思想,基于距离和时序因素的层次粒度支持向量回归机的算法用简单流程图描述如下.
算法1 基于核的粒划分见图 2.
算法2 基于距离和时序因素的层次粒度支持向量回归机算法流程见图 3.此算法在计算某粒划层次上某个信息粒的动态粒划个数的算法中,采用公式(7).式(7)中,添加了时序因素
本文使用2006年2月1日到2007年12月28日时间段内共90周金泰基金数据.影响基金的因素如基金成交额、行业投资集中度、基金换手率及我国居民消费价格指数等数据是由中国基金网、国家统计年鉴及各基金管理公司网站的相关数据整理获得[12].用前80周的数据进行训练,对后10周的数据进行预测.
基于距离和时序的层次粒度支持向量回归机,粒划是关键的一步,它最终决定了实际训练集的规模以及保留回归信息的多少.通过试验可知,d增大,动态粒个数及粒化层次均减小.当d=1.25时,k0分别取5,10,15,20,25时,粒划层次分别为6,6,6,4,4,最终动态粒个数分别为58,56,55,54,54.
本文提出的基于距离和时序因素的层次粒度支持向量回归机的训练时间基本与基于动态粒划算法的支持向量回归机一致,但略大于基于聚类算法的粒度支持向量回归机,远远小于支持向量回归机.由图 4可以看出,使用基于距离和时序因素的层次粒度支持向量回归机的泛化能力有所提高,这是因为本文提出的粒划算法综合考虑了距离和时序因素,对样本的重要性判断更加全面,使得重要的样本尽可能多地留在训练集中.
针对支持向量机进行大量数据回归效率低的瓶颈问题,本文提出了一种基于距离和时序因素的层次粒度支持向量回归机.该方法综合距离与时序因素,对信息粒的重要程度进行判断.对重要的信息粒进行多层次的粒划,而对不重要的粒不再进行粒划.这样,在粒划过程完成时,能够将重要的样本尽可能多地保留下来,从而为提高算法的泛化性能奠定基础.在使用基于距离和时序因素的层次粒度支持向量回归模型时,最终的回归结果与初始粒化参数k0息息相关,本文中采用的是试验法,对初始粒化参数k0的选取算法在今后还需深入研究.
[1] | Zeng Z Q, Gao J. Simplified support vector machine based on reduced vector set method[J]. Journal of Software, 2007, 18 (11) : 2719 –2727. (0) |
[2] | Li D C, Fang Y H. An algorithm to cluster data for efficient classification of support vector machines[J]. Expert Systems with Application, 2008, 34 (3) : 2013 –2018. (0) |
[3] | Hao P Y, Chiang J H, Tu Y K. Hierarchically SVM classification based on support vector clustering method and its application to document categorization[J]. Expert Systems with Applications, 2007, 33 (3) : 627 –635. (0) |
[4] | Nath J S, Shevade S K. An efficient clustering scheme using support vector methods[J]. Pattern Recognition, 2006, 39 (8) : 1473 –1480. (0) |
[5] | Reddy I S, Shevade S, Murty M N. A fast quasi-Newton method for semi-supervised SVM[J]. Pattern Recognition, 2011, 44 (10/11) : 2305 –2313. (0) |
[6] | Zhong W, He J Y, Harrison R, et al. Clustering support vector machines for protein local structure prediction[J]. Expert Systems with Applications, 2007, 32 (2) : 518 –526. (0) |
[7] | Tang Y C, Jin B, Zhang Y Q. Granular support vector machines with association rules mining for protein homology prediction[J]. Artificial Intelligence in Medicine, 2005, 35 (1) : 121 –134. (0) |
[8] | Wang W J, Xu Z B. A heuristic training for support vector regression[J]. Neurocomputing, 2004, 61 (1/2/3/4) : 259 –275. (0) |
[9] | Cheng S X, Shih F Y. An improved incremental training algorithm for support vector machines using active query[J]. Pattern Recognition, 2007, 40 (3) : 964 –971. (0) |
[10] |
郭虎升, 王文剑. 动态粒度支持向量回归机[J].
软件学报, 2013, 24 (11) : 2535 –2547.
( Guo Hu-sheng, Wang Wen-jian. Dynamical granular support vector regression machine[J]. Journal of Software, 2013, 24 (11) : 2535 –2547. ) (0) |
[11] | Collobert R, Bengio S. SVMTorch:support vector machines for large-scale regression problems[J]. Journal of Machine Learning Research, 2001, 1 (2) : 143 –146. (0) |
[12] |
王敏.基于神经网络的基金净值预测研究[D].天津:天津大学,2008.
(Wang Min.Predicting research net value of fund based on neural network[D].Tianjin:Tianjin University,2008.) (0) |