嚴濤 王舒梵 姜新盈



摘? ?要:為了在高維財務股票數據中選出重要的特征以及如何選出優質股票是每個投資者所面臨的問題。為了減少特征選擇過程中人為因素的干擾,提出一種基于Lasso降維的股票分類方法(LR-SC)。首先將高維的財務股票數據放入Lasso進行特征選擇,對于降維后的數據,選擇每股收益前10%的為少數樣本,之后計算每個少數類樣本到svm生成的超平面的距離,通過Random-SMOTE算法來生成新的少數類樣本,并選擇距離超平面最遠的后50%的多數類樣本來剔除,以此來達到樣本之間的平衡。實驗結果表明,其選出優質股的精度有所提高,證明了該算法在股票選股上的可行性和有效性。
關鍵詞:股票選股;不平衡數據;lasso降維;Random-SMOTE
中圖分類號:F830.2? ? ? ? 文獻標志碼:A? ? ? 文章編號:1673-291X(2023)17-0070-04
一、研究背景
當今,我國金融市場欣欣向榮,股票市場得到了越來越多的關注,如何從眾多的股票中選擇優質股對于投機人來說就顯得尤為重要。從股票的選擇來看,就是對那些上市大公司的價值進行估計,而一個公司的財務數據可以很明顯地反映一個公司的經營情況,而且已經有許多的研究者對股票的漲幅情況和財務數據做了相關研究,成果都表明它們之間有重要的聯系。
對于股票數據來說,優質股票畢竟是占一小部分,所以數據是極度不平衡的。現如今在不平衡問題上分類方法主要有兩個方面,一是算法方面的處理,有代價敏感學習[1]、集成學習[2]和單類學習,集成學習算法是通過將一些弱分類器進行組合來提高分類器的性能,如Adaboost[3]算法等。二是數據處理方面,有兩大類,分別是過采樣和欠采樣。欠采樣就是對少數類樣本進行增加已達到數量上和多數類樣本持平。過采樣的基本算法就是SMOTE[4]算法,它是通過對少數樣本進行隨機的線性插值,依此來創造新樣本。但由于參與合成的樣本是隨機選擇,這就導致新合成的新樣本質量不高。Borderline-SMOTE[5]算法首先確定出邊界集,對其邊界集上的樣本進行插值,董燕杰等人用Random-SMOTE算法把插值放入三角形內,緩解了少數類樣本分布稀疏的問題[6]。文獻[7]所提出的SVMOM算法通過少數類樣本的密度和距離權重來選擇樣本,進而緩解噪聲樣本帶來的影響。Douzas Georgios等人提出了G-SOMO:一種基于自組織映射和幾何SMOTE的過采樣方法,該算法以知情的方式確定創建人工數據實例的最佳區域,并在數據生成過程中利用幾何區域來增加其可變性[8]。通過實驗結果,表明G-SOMO始終優于初始的過采樣方法。欠采樣算法是對多數類冗余的樣本進行剔除。
根據上述的研究,針對股票分類問題,本文提出一種基于LASSO-R.SMOTE股票分類方法(Based on Lasso-R. SMOTE stock classification method,LR-SC)。首先通過Lasso算法對高維的股票財務數據進行壓縮。將降維后的股票財務數據放入SVM支持向量機內產生超平面。對于少數類的股票財務數據,通過Random-SMOTE算法來產生新的少數類樣本,再選擇距離超平面距離最遠的后50%的多數類樣本數據來剔除,以達到少數類和多數類樣本的平衡。實驗結果表明,本文所提出的LR-SC算法相較于其他算法,分類效果更好。
二、相關理論
(一)Random-SMOTE算法
Random-SMOTE算法是在三個樣本內產生新樣本,算法流程如下:一是隨機選擇一個初始樣本以及和周圍的兩個樣本a、b組成一個三角形;二是在樣本a、b上進行隨機線性插值產生臨時樣本y;三是在初始樣本和臨時樣本之間通過如下公式產生新的少數類樣本Xnew:
(二)LASSO算法
現在大多數關于股票的研究,其特征的選取往往是基于研究人員的檢驗來選取,這樣摻雜主觀性的選擇或多或少會帶來一定的誤差或是特征的遺漏。為了盡可能地去減少這方面所引起的誤差,本文選擇Lasso方法來進行降維處理。Lasso方法就是在普通的線性模型中增加了一個L1的懲罰項,這是由于當數據的維數過高而導致不是列滿秩,進而無法采用最小二乘法來求解。懲罰項就是對部分參數進行壓縮為0,而達到降維的目的。
等價于:
其中λ為調和參數。
(三)評價指標
不平衡數據的特殊性,使得傳統的平衡數據的評價指標已不再適合,這是因為錯分的代價是不一樣的,所以需要選擇更加合理的評價指標。本文所選擇的是混淆矩陣結合G-mean和F1-value[9]的評價方法,其中F1-value和G-mean值是處于同等重要地位。
表1? 混淆矩陣
其中,TP表示實際為少數類且預測為正確樣本數量,FN是實際為少數類且預測錯誤的樣本數量,FP是實際為多數類且預測錯誤的樣本數量,TN是實際為多數類且預測正確的樣本數量。
(1)Re:少數類樣本被成功分類的精度:
(2)Re:多數類樣本被成功分類的精度:
(3)Pr:分類器的分類精度:
(4)G-mean值:
(5)F1-value值:
由于G-means值僅考慮了少數和多數類被正確分類的情況,其值只會隨著少數類樣本和多數類樣本正確分類精度的提高而提高。F1-value值是綜合考慮了召回率和查準率這兩種情況,可以較為全面地反映少數類被正確分類的精度。本文選取Re、Rp、G-mean、F1-value值這四個指標來研究算法的分類效果。
三、LR-SC算法描述
假設在一個二分類問題中,數據集C=C(0)∪C(1),C(0)∩C(1)=Φ,|C(0)|>|C(1)|,其中少數類樣本新增加的樣本為CNew(1)。LR-SC算法首先是對高維的財務股票數據進行降維,使用Lasso算法對訓練集的數據進行特征選擇,降低維數。將處理好的訓練集放入支持向量機SVM里來生成超平面,通過Random-SMOTE算法來生成新的少數類樣本,并選擇距離超平面距離最遠的多數類樣本數據來剔除,最終合成新的訓練樣本。
LR-SC算法流程:
輸入:高維不平衡的股票財務數據集C。
輸出:低維平衡的股票財務數據集。
Step1:將高維數據集用Lasso進行降維得到新的訓練集。
Step2:將新的訓練集放入SVM進行訓練,生成超平面Σ。
Step3:確定少數類樣本生成數量|C(1)New|= -|C(1)|。
Step4:對于少數類樣本,通過Random-SMOTE產生其新樣本C(1)New。
Step5:CNew(1)和C(1)合并形成新的訓練集Train_data_
min。
Step6:對于多數類樣本,選取距離超平面Σ最遠的后50%樣本進行剔除,形成新的多數類樣本Train_
data_most。
Step7:將Train_data_min和Train_data_min合并為Train_data,放入分類器里進行訓練。
四、數據集描述和處理
本文從wind金融數據庫選取了2019年300家A股制造業行業上市公司財務報表年報的相關數據作為訓練時的數據特征,其中包括每股指標、現金流量、資本結構、償債能力、盈利能力、收益率、運營能力共35組特征,其訓練標簽選擇的是2020年的每股收益,用此數據集來驗證本文所提出算法的有效性。對于股票財務數據,把股票每股收益在前10%的記做陽性樣本,即優質股,其余的樣本記做陰性樣本。為了去除不同量綱對實驗結果的影響,對數據進行歸一化處理。處理方法如下:
上式中Max,min為一組特征值的最大和最小值。
本文使用十折交叉驗證來估計Lasso算法中的λ值,從圖中可以看出,λ的值不斷增大MSE(誤差平方和)呈現先降后升的趨勢,其曲線的最低點對應的就是MSE的最小值,此時的λ=0.0027,Lasso最終篩選出13個特征。將最后降維后的數據放入SVM中進行訓練。
為了測試本文中LR-SC算法的可行性,也為了驗證Lasso算法可以得到更好降維結果,于是設計了和把該算法和Borderline-SMOTE算法、SMOTE算法、ISMOTE算法、SMOTE+TOMEK算法和RU-SMOTE分別在另外三種降維算法:主成分分析方法、因子分析方法和線性判別分析方法進行精準度的打分比較,為了確保實驗結果的準確性,每次使用的訓練集和測試集統一按照7∶3進行劃分,本文采取MATLAB2016b為仿真環境,其他算法均由imbalance-learn提供支持。本文SMOTE算法的K近鄰選取為5。
通過圖1的結果,將Lasso降維過后的財務數據用來實驗,將本文算法和其他五種算法在不同的降維方法下進行打分比較。表2是各種降維算法在F1-value指標上的打分情況,表3是各種降維算法在G-mean指標的打分情況,圖2是六種算法在各種降維方法下的打分情況。
從表2的結果可以看出,在四種降維算法中,Lasso方法的最終均值最高,在Lasso方法的內部也可以看出,本文提出的LR-SC算法相較于其他五種不平衡數據的處理方法,F1-value值得分最高,這是有Lasso方法在特征選擇的時候降低了人為的因素,減少誤差,對少數類樣本的采樣是在三角形內完成的,提高生成樣本的質量。
從表2的結果可以看出,在四種降維算法中,Lasso方法的最終均值比線性判別分析方法稍低,只低了不到0.005。從Lasso方法的內部來看,只有ISMOTE算法高于本文的算法,這是由于LR-SC算法提高了少數類樣本的分類精度,降低了對多數類的分類精度,以至于提高了F1-value的值而犧牲了G-mean的得分。但是,從整體而言,本文所提出的算法相較于其他算法都是有優勢的,這也驗證了LR-SC算法思想的有效性。
為了可以更加直觀明了地展示LR-SC算法在不同的降維算法下與其他算法的打分情況,繪制了六種算法在各種降維方法下的打分情況(見圖2),縱坐標反映的是各種算法的得分范圍是從0-1,橫坐標是Lasso方法、主成分分析方法、因子分析方法和線性判別分析方法這幾種降維算法。從結果上來看,Lasso方法對于高維股票財務數據降維效果更優秀,本文所提出的LR-SC算法在整體上更優。
五、結束語
本文針對股票財務數據分類問題,提出了一種基于Lasso降維的股票分類方法(LR-SC),LR-SC算法是通過Lasso算法對高維股票財務數據進行特征選擇,對處理后的數據通過Random-SMOTE算法來產生新的少數類樣本,并通過距離來確定多數類樣本剔除的數量。最后將樣本數量相等的平衡數據放入SVM進行訓練。這樣一方面保證避免了特征選擇時的人為因素干擾,也保證了少數類及多數類樣本在生成和剔除時的合理性,LR-SC算法在一定程度是提高了股票分類的精度。本文提出的算法也存在些許不足之處,例如,在使用SVM時,所使用的參數是默認值,參數調優以及對于噪聲點等問題并沒有考慮在內,這些都是今后的研究重點。
參考文獻:
[1]? ?蔡艷艷,宋曉東.針對非平衡數據分類的新型模糊SVM模型[J].西安電子科技大學學報,2015,42(5):120-124,160.
[2]? ?張銀峰,郭華平,職為梅,等.一種面向不平衡數據分類的組合剪枝方法[J].計算機工程,2014,40(6):157-161,165.
[3]? ?Ma S.,Bai L.A face detection algorithm based on Adaboost and new Hear-like feature[C].IEEE International Conference on Software En-gineerning & Service Science,2017.
[4]? ?Chawla N.V.,Bwoyer K.W.,Hall L.O.,et al. SMOTE:synthetic minority over-sampling technique[J].Journal of Artificial Intelli-gence Research,2011,16(1):321-357.
[5]? ?Han H.,Wang W.Y.,Mao B.H. Borderline-SMOTE:a new over-sampling method in imbalanced data sets learning[C].Proceed-ings of the 2005 International Conference on Advances in Intelligent Computing - Volume Part I,2005.
[6]? ?陶新民,張冬雪,郝思媛,等.基于譜聚類欠取樣的不均衡數據SVM分類算法[J].控制與決策,2012,27(12).
[7]? ?Han H.,Wang W.Y.,Mao B.H.Borderline-SMOTE:a new over-sampling method in imbalanced data sets learning[C]//International conference on intelligent computing. Springer, Berlin, Heidelberg, 2005: 878-887.
[8]? ?董燕杰.不平衡數據集分類的Random-SMOTE方法研究[D].大連:大連理工大學,2009.
[9]? ?Z. Gu,Z.Zhang,J.Sun.Robust Image Recognition by L1-norm Twin-Projection Support Vector Machine[J].Neurocomputing,2017(223):1-11.
[責任編輯? ?白? ?雪]