本文提出了基于一种新的特征选择方法的朴素贝叶斯证券分类模型。首先,根据深交所50家公司2011年的交易数据和常用的18个指标,采取新的特征选择方法即互信息和主成分分析相结合选出用于分类的因子;其次,利用前10个月的数据建立朴素贝叶斯分类模型,用后两个月的数据检验模型的预测精度。实证分析表明模型的分类平均正确率达到75%,具有应用价值。 In this paper, a naive Bayes classifier for securities selection based on a new feature selection method is established. Firstly, in consideration of the trading data of 50 companies in Shenzhen Stock Exchange and 18 commonly used indicators, a new feature selection method, i.e. the combi-nation of mutual information and principal component analysis, is adopted to select the value fac-tors for classification. Secondly, a naive Bayes classifier is constructed with the data of the first 10 months, and the prediction accuracy of the classifier is tested with that of the last two months. The empirical analysis shows that the average accuracy of the classifier reaches 75%, which is of ap-plication value.
郭盼盼,刘海军,李双双
郑州大学,数学与统计学院,河南 郑州
收稿日期:2018年12月18日;录用日期:2019年1月2日;发布日期:2019年1月9日
本文提出了基于一种新的特征选择方法的朴素贝叶斯证券分类模型。首先,根据深交所50家公司2011年的交易数据和常用的18个指标,采取新的特征选择方法即互信息和主成分分析相结合选出用于分类的因子;其次,利用前10个月的数据建立朴素贝叶斯分类模型,用后两个月的数据检验模型的预测精度。实证分析表明模型的分类平均正确率达到75%,具有应用价值。
关键词 :特征选择,互信息,主成分分析,朴素贝叶斯分类器
Copyright © 2019 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
证券投资是金融研究领域的热门话题,如何选择证券是投资决策的关键。尽管投资者的盲目任意性和股票市场中的严重非线性给股票的预测与选择带来了很大的困难,事实表明,股票收益在一定程度上还是可以预测的 [
钱颖能和胡运发 [
本文提出了基于一种新的特征选择方法的朴素贝叶斯证券分类模型,并且对深交所50家公司2011年的交易数据利用该模型分类,实证分析表明模型的平均正确率达到75%,具有应用价值。
数据集中包含大量的特征,特征维度越高,计算越复杂,且其中包含的不相关特征和冗余特征会影响分类精度。特征选择可以定义为从原始N个特征中选出M个有价值特征的过程。特征选择方法可分为过滤式 [
互信息是信息论里一种描述变量间相关性的信息度量。互信息的大小表示变量间包含共同信息的多少,变量耦合越强,互信息越大 [
设两个离散随机变量X和Y, p ( x , y ) 是X和Y的联合概率分布函数, p ( x ) 和 p ( y ) 分别是X和Y的边缘概率分布函数,根据互信息理论 [
H ( X ) = − ∑ x ∈ X p ( x ) log p ( x ) (1)
条件熵 H ( X | Y ) 表示在Y已知的条件下X的不确定度,可以定义为:
H ( X | Y ) = − ∑ y ∈ Y ∑ x ∈ X p ( x , y ) log p ( x | y ) (2)
互信息表示不确定度的减少量,可以用熵定义为:
I ( X ; Y ) = H ( X ) − H ( X | Y ) (3)
当X和Y相互独立即没有相关关系时,互信息为0;当X和Y不相互独立即有相关关系时,互信息为正数,且相关性越强,互信息越大。
主成分分析是将多指标化为少数几个综合指标的一种统计分析方法 [
定义1 [
1) a ′ i a i = 1 ( i = 1 , 2 , ⋯ , p ) ;
2) 当 i > 1 时, a ′ i Σ a j = 0 ( j = 1 , 2 , ⋯ , i − 1 ) ;
3) V a r ( Y i ) = max a ′ a = 1 , a ′ i Σ a j = 0 ( j = 1 , ⋯ , i − 1 ) V a r ( a ′ X ) 。
定义2 [
Y i = a ′ i X = a 1 i X 1 + a 2 i X 2 + ⋯ + a p i X p ( i = 1 , 2 , ⋯ , p ) (4)
定义3 [
1) 用Z-score法对数据进行标准化变换
2) 求指标数据的相关矩阵
3) 求相关矩阵的特征根与特征向量
4) 计算主成分贡献率及累计贡献率,确定主成分(一般取累计贡献率为85%~95%的特征值所对应的主成分。)
贝叶斯分类是一种可以预测给定样本属于某个特定类的概率的统计学分析方法。贝叶斯分类技术通过对已分类的样本子集进行训练,学习归纳出分类函数,利用训练得到的分类器实现对未分类数据的分类。其中朴素贝叶斯分类器是解决相应问题的最实际的方法之一。朴素贝叶斯分类基于一个简单的假设:给定目标值的属性值之间相互条件独立 [
设研究对象的属性值为 X = ( x 1 , x 2 , ⋯ , x n ) ,而目标值的属性值为 Y = ( y 1 , y 2 , ⋯ , y n ) ,假设有m个类 v 1 , v 2 , ⋯ , v m 。分类器考虑类的集合m并在其中寻找给定属性值 X = ( x 1 , x 2 , ⋯ , x n ) 时可能性最大的类 j ∈ m ,这种分类方法称为极大后验(MAP)分类,即: v M A P = arg max v j ∈ { v 1 , v 2 , ⋯ , v m } P ( v j | x 1 , x 2 , ⋯ , x n ) ,属性值已知的条件下
极大后验分类就是m个类中概率最大的一类。利用贝叶斯公式将其整理为
v M A P = arg max v j ∈ { v 1 , v 2 , ⋯ , v m } P ( x 1 , x 2 , ⋯ , x n | v j ) P ( v j ) P ( x 1 , x 2 , ⋯ , x n ) (5)
= arg max v j ∈ { v 1 , v 2 , ⋯ , v m } P ( x 1 , x 2 , ⋯ , x n | v j ) P ( v j ) (6)
其中, P ( x 1 , x 2 , ⋯ , x n | v j ) = ∏ i P ( x i | v j ) 。在条件独立假设成立时,朴素贝叶斯分类等于极大后验分类,因
而可得到朴素贝叶斯分类器的公式:
v N B = arg max v j ∈ { v 1 , v 2 , ⋯ , v m } P ( v j ) ∏ i P ( x i | v j ) (7)
如果类的先验概率 P ( v j ) 未知,则通常假设各类的先验概率相等,即: P ( v 1 ) = P ( v 2 ) = ⋯ = P ( v m ) 。概率 P ( x j | v i ) 可以由训练样本来估计。这里用m-估计 P ( x i | v j ) = ( n j i + m p ) / ( n j + m ) 来估计。其中, n j i 是
对应属性具有值 x i 的类 v j 的训练样本数,而 n j 是类 v j 的训练样本总数。p所求概率的先验估计,m为等效样本大小的常量。
本文所用数据来自于锐思数据库。选取深圳证券交易所50只2011年1月4日至2011年12月31日股票,对数据中进行简单的预处理,主要包括补全数据和复权。
所选指标有: Z 1 :前收盘价、 Z 2 :收盘价、 Z 3 :开盘价、 Z 4 :最高价、 Z 5 :最低价、 Z 6 :成交额、 Z 7 :成交量、 Z 8 :中价、 Z 9 :5日收盘价均值、 Z 10 :5日成交额均值、 Z 11 :5日成交量均值、 Z 12 :买卖指标AR、 Z 13 :意愿指标BR、 Z 14 :随机指标K、 Z 15 :D、 Z 16 :J、 Z 17 :相对强弱指标RSI、 Z 18 :日换手率。
本文中的股票收益率是对数收益率,在 内的计算公式为:
R i , T = ln ( P i , T + Δ t + I i , T + Δ t P i , T ) (8)
其中, R i , T 是股票i在T时刻的收益率, P i , T 是股票i在T时刻的价格, P i , T + Δ t 是股票i在 T + Δ t 时刻的价格, I i , T + Δ t 是股票i在 [ T , T + Δ t ] 内的分红。
换手率也成周转率,指在一定时间内市场中股票转手买卖的频率。日换手率是指某一个交易日中某支股票当日的日成交量初一该股的流通股本,即换手率 = 某一段时期内的成交量/发行总股数 × 100%。
计算每个原始指标与收益率之间的互信息。为了方便对股票数据的调用,本文按1.xls--50.xls的形式对存放数据信息的Excel表进行命名,借助MATLAB软件,通过编写程序一次性计算得到50家股票的这18个指标与收益率之间的互信息。其中前5家公司的结果如表1所示:
表格1 | 表格2 | 表格3 | 表格4 | 表格5 | |
---|---|---|---|---|---|
I(Z1;Z19) | 1.110359668 | 1.099889033 | 1.089842697 | 1.125920538 | 1.109784047 |
I(Z2;Z19) | 1.10881697 | 1.117758017 | 1.098010072 | 1.124252332 | 1.117001218 |
I(Z3;Z19) | 1.127126861 | 1.131420511 | 1.098508071 | 1.126748527 | 1.12507881 |
I(Z4;Z19) | 1.117911243 | 1.124494251 | 1.098405772 | 1.125080478 | 1.125917003 |
I(Z5;Z19) | 1.124473626 | 1.124494251 | 1.096169704 | 1.125080478 | 1.125917003 |
I(Z6;Z19) | 1.122911464 | 1.120409902 | 1.096169704 | 1.125920538 | 1.129343262 |
I(Z7;Z19) | 1.116737838 | 1.11559817 | 1.096650386 | 1.125920538 | 1.103221733 |
I(Z8;Z19) | 0.474802198 | 0.471361895 | 0.811832636 | 0.494832378 | 0.389729731 |
I(Z9;Z19) | 0.260569554 | 0.238567169 | 0.461843167 | 0.216786665 | 0.171769686 |
I(Z10;Z19) | 0.414676474 | 0.388254771 | 0.73972281 | 0.44846479 | 0.325828778 |
I(Z11;Z19) | 0.32151623 | 0.286835637 | 0.586627111 | 0.263599006 | 0.191785667 |
I(Z12;Z19) | 0.091289193 | 0.026499282 | 0.17527769 | 0.076333218 | 0.065591362 |
I(Z14;Z19) | 0.026951949 | 0.035696271 | 0.107708479 | 0.017773471 | 0.025841353 |
I(Z15;Z19) | 0.035095403 | 0.038838678 | 0.110865222 | 0.021354449 | 0.030282553 |
I(Z16;Z19) | 0.019787418 | 0.031444862 | 0.095732429 | 0.014057081 | 0.01621386 |
I(Z17;Z19) | 0.072058185 | 0.054467933 | 0.221375307 | 0.080950792 | 0.089453431 |
I(Z18;Z19) | 0.266973154 | 0.238567169 | 0.461843167 | 0.216786665 | 0.155561539 |
表1. 前5家公司的互信息
表中 I ( Z j ; Z 19 ) ( j = 1 , 2 , ⋯ , 18 ) 表示第j个指标与收益率之间的互信息。从上述结果可以看出,5个表格均显示指标 Z 1 , Z 2 , Z 3 , Z 4 , Z 5 , Z 6 , Z 7 与收益率之间的互信息都大于1.5,指标 Z 8 , Z 9 , Z 10 , Z 11 , Z 18 与收益率之间的互信息都介于0.1和1.0之间,而有4个表格显示指标 Z 12 , Z 13 , Z 14 , Z 15 , Z 16 , Z 17 与收益率之间的互信息都小于0.1,只有表格3显示指标 Z 12 , Z 13 , Z 14 , Z 15 , Z 16 , Z 17 与收益率之间的互信息介于0.1和1.0之间,此种情况占比不大,对指标的选择影响不大。故可以认为指标 Z 1 , Z 2 , Z 3 , Z 4 , Z 5 , Z 6 , Z 7 , Z 8 , Z 9 , Z 10 , Z 11 对收益率有显著影响,指标 Z 12 , Z 13 , Z 14 , Z 15 , Z 16 , Z 17 对收益率无显著影响。此5个表格的结果可以反应整体情况,因此,选出 Z 1 , Z 2 , Z 3 , Z 4 , Z 5 , Z 6 , Z 7 , Z 8 , Z 9 , Z 10 , Z 11 , Z 18 作为主成分分析的指标。
对选出的指标进行主成分分析。以“东旭蓝天”即表格40为例,说明主成分分析过程。以预处理后的标准数据矩阵作为原始数据矩阵,计算其相关阵并绘制特征值图,如图1所示:
图1. 特征值
由图1可以看出,第二个主成分的变化趋势开始减慢,因此可以只考虑前两个主成分反映原有信息。相关阵的前两个特征值、对应的特征向量、贡献率及累计贡献率如表2。
主成分Y1 | 主成分Y2 | |
---|---|---|
Z1:前收盘价 | 0.298643431 | 0.206278919 |
Z2:开盘价 | 0.299813199 | 0.176391377 |
Z3:最高价 | 0.300701394 | 0.170618405 |
Z4:最低价 | 0.295734648 | 0.244725169 |
Z5:收盘价 | 0.295985477 | 0.235804528 |
Z6:中价 | 0.298082313 | 0.21570945 |
Z7:5日收盘价均值 | 0.294324182 | 0.257869676 |
Z8:5日成交金额均值 | 0.293524812 | −0.098104744 |
Z9:成交量 | 0.261981139 | −0.493856614 |
Z10:成交金额 | 0.286372458 | −0.239864428 |
Z11:5日成交量均值 | 0.273257891 | −0.336067968 |
Z18:换手率 | 0.261699545 | −0.494679098 |
特征值 | 9.411734966 | 2.111541604 |
贡献率 | 0.784311247 | 0.1759618 |
累计贡献率 | 0.784311247 | 0.96027304 |
表2. 主成分结果
从表2中可以看出,前两个主成分的累计贡献率已经达到了96%,因此,只取前两个主成分,分别为:
Y 1 = 0.298643431 Z 1 + ⋯ + 0.273257891 Z 11 + 0.261699545 Z 18 Y 2 = 0.206278919 Z 1 − ⋯ − 0.336067968 Z 11 − 0.494679098 Z 18
将利用主成分分析所得的2个主成分 Y 1 、 Y 2 和收益率R训练朴素贝叶斯分类器规则。用均匀聚类法将主成分 Y 1 、 Y 2 离散化,分成3个类,将指标R离散化,分成4个类。因此,该分类器有4类, v 1 为低收益率类, v 4 为高收益率类, v 2 , v 3 为普通收益率类;有2个样本,每个样本有3个属性值。以表格40为例,2011年11月9日的主成分 、 Y 2 和收益率R的值分别为−1.6887、1.3689、4.47,离散化后为1、3、2。
将前10个月的数据作为训练集训练分类规则,后2个月的数据作为测试集检验分类规则的预测精度,通过Matlab软件编写程序一次性计算得到50家股票的分类结果。如表3所示。
表格 | 训练集正确率 | 测试集正确率 | 表格 | 训练集正确率 | 测试集正确率 | 表格 | 训练集正确率 | 测试集正确率 |
---|---|---|---|---|---|---|---|---|
1 | 0.770491803 | 0.918918919 | 18 | 0.628415301 | 0.783783784 | 35 | 0.677595628 | 0.702702703 |
2 | 0.683060109 | 0.540540541 | 19 | 0.732240437 | 0.837837838 | 36 | 0.726775956 | 0.945945946 |
3 | 0.606557377 | 0.72972973 | 20 | 0.797814208 | 0.702702703 | 37 | 0.672131148 | 0.864864865 |
4 | 0.74863388 | 0.783783784 | 21 | 0.715846995 | 0.702702703 | 38 | 0.699453552 | 0.702702703 |
5 | 0.655737705 | 0.945945946 | 22 | 0.737704918 | 0.891891892 | 39 | 0.765027322 | 0.486486486 |
6 | 0.781420765 | 0.783783784 | 23 | 0.584699454 | 0.594594595 | 40 | 0.841530055 | 0.972972973 |
7 | 0.693989071 | 0.783783784 | 24 | 0.726775956 | 0.702702703 | 41 | 0.677595628 | 0.648648649 |
8 | 0.644808743 | 0.837837838 | 25 | 0.721311475 | 0.945945946 | 42 | 0.743169399 | 0.459459459 |
9 | 0.721311475 | 0.810810811 | 26 | 0.704918033 | 0.891891892 | 43 | 0.754098361 | 0.648648649 |
10 | 0.754098361 | 0.405405405 | 27 | 0.661202186 | 0.810810811 | 44 | 0.770491803 | 0.675675676 |
11 | 0.792349727 | 0.567567568 | 28 | 0.655737705 | 0.72972973 | 45 | 0.721311475 | 0.675675676 |
12 | 0.704918033 | 0.918918919 | 29 | 0.699453552 | 0.891891892 | 46 | 0.765027322 | 0.648648649 |
13 | 0.693989071 | 0.891891892 | 30 | 0.765027322 | 0.783783784 | 47 | 0.759562842 | 0.972972973 |
14 | 0.786885246 | 0.864864865 | 31 | 0.743169399 | 0.432432432 | 48 | 0.732240437 | 0.648648649 |
15 | 0.699453552 | 0.891891892 | 32 | 0.797814208 | 0.837837838 | 49 | 0.737704918 | 0.567567568 |
16 | 0.792349727 | 0.702702703 | 33 | 0.650273224 | 0.648648649 | 50 | 0.710382514 | 0.783783784 |
17 | 0.710382514 | 0.783783784 | 34 | 0.721311475 | 0.783783784 | 平均正确率 | 0.723180903 | 0.750355619 |
表3. 分类结果1
从上表结果统计得出:利用朴素贝叶斯分类器选股,50家股票中,训练集正确率在70%以上且测试集正确率在40%以上的有33家,占比66%,训练集正确率在75%以上且测试集正确率在40%以上的有12家,占比24%。表明朴素贝叶斯分类器选股在一定程度上有很好的效果。
为了证明本文提出的方法更有效,用相同公司的数据,不利用互信息筛选因素只做主成分分析,分类结果如表4所示:
从上表结果统计得出:利用朴素贝叶斯分类器选股,50家股票中,训练集正确率在70%以上且测试集正确率在40%以上的有22家,占比44%,训练集正确率在75%以上且测试集正确率在40%以上的有6家,占比12%。
从正确分类的比例和平均绝对误差两方面对比基于两种特征选择方法的朴素贝叶斯分类器的分类结果,如表5所示:
表格 | 训练集正确率 | 测试集正确率 | 表格 | 训练集正确率 | 测试集正确率 | 表格 | 训练集正确率 | 测试集正确率 |
---|---|---|---|---|---|---|---|---|
1 | 0.721311475 | 0.945945946 | 18 | 0.639344262 | 0.702702703 | 35 | 0.693989071 | 0.837837838 |
2 | 0.721311475 | 0.513513514 | 19 | 0.666666667 | 0.621621622 | 36 | 0.710382514 | 0.891891892 |
3 | 0.677595628 | 0.648648649 | 20 | 0.655737705 | 0.675675676 | 37 | 0.639344262 | 0.486486486 |
4 | 0.677595628 | 0.432432432 | 21 | 0.672131148 | 0.513513514 | 38 | 0.595628415 | 0.864864865 |
5 | 0.655737705 | 0.486486486 | 22 | 0.74863388 | 0.72972973 | 39 | 0.628415301 | 0.594594595 |
6 | 0.737704918 | 0.756756757 | 23 | 0.666666667 | 0.72972973 | 40 | 0.803278689 | 0.756756757 |
7 | 0.683060109 | 0.702702703 | 24 | 0.699453552 | 0.567567568 | 41 | 0.732240437 | 0.675675676 |
8 | 0.584699454 | 0.378378378 | 25 | 0.612021858 | 0.891891892 | 42 | 0.775956284 | 0.918918919 |
9 | 0.666666667 | 0.918918919 | 26 | 0.601092896 | 0.864864865 | 43 | 0.704918033 | 0.432432432 |
10 | 0.775956284 | 0.432432432 | 27 | 0.704918033 | 0.864864865 | 44 | 0.737704918 | 0.945945946 |
11 | 0.74863388 | 0.864864865 | 28 | 0.62295082 | 0.540540541 | 45 | 0.726775956 | 0.675675676 |
12 | 0.595628415 | 0.675675676 | 29 | 0.710382514 | 0.621621622 | 46 | 0.775956284 | 0.648648649 |
13 | 0.595628415 | 0.432432432 | 30 | 0.672131148 | 0.648648649 | 47 | 0.666666667 | 0.540540541 |
14 | 0.704918033 | 0.72972973 | 31 | 0.743169399 | 0.540540541 | 48 | 0.704918033 | 0.702702703 |
15 | 0.628415301 | 0.405405405 | 32 | 0.693989071 | 0.621621622 | 49 | 0.710382514 | 0.702702703 |
16 | 0.781420765 | 0.72972973 | 33 | 0.546448087 | 0.675675676 | 50 | 0.655737705 | 0.432432432 |
17 | 0.737704918 | 0.486486486 | 34 | 0.661202186 | 0.351351351 | 平均正确率 | 0.685464481 | 0.656216216 |
表4. 分类结果2
本文建立的朴素贝叶斯分类器 | 基于主成分分析的朴素贝叶斯分类器 | |||
---|---|---|---|---|
训练集 | 测试集 | 训练集 | 测试集 | |
正确分类的比例 | 72.30% | 75.00% | 68.50% | 65.60% |
平均绝对误差 | 0.041 | 0.118 | 0.047 | 0.126 |
表5. 分类结果3
从上表可以看出:本文建立的朴素贝叶斯分类器训练集和测试集正确分类的比例均高于基于主成分分析的朴素贝叶斯分类器正确分类的比例,其平均绝对误差均低于基于主成分分析的朴素贝叶斯分类器的平均绝对误差。从对比中得出本文提出的方法的分类结果优于不利用互信息筛选因素只做主成分分析的分类结果。
本文利用证券的交易数据并结合一种新的特征选择方法给出了一种朴素贝叶斯分类模型。实证分析表明:训练集正确率在70%以上且预测精度在40%以上的达到66%,训练集正确率在75%以上且预测精度在40%以上的有12家,占比24%。该分类器的平均正确率达到75%,并且从正确分类样本属性值的比例和平均绝对误差两方面对比,本文提出的方法的分类结果均优于不利用互信息筛选因素只做主成分分析的分类结果。
郭盼盼,刘海军,李双双. 基于一种新的特征选择方法的朴素贝叶斯分类器选择证券的研究Research on Security Selection by Naive Bayes Classifier Based on a New Feature Selection Method[J]. 应用数学进展, 2019, 08(01): 41-49. https://doi.org/10.12677/AAM.2019.81005
https://doi.org/10.1111/j.1540-6261.1992.tb04398.x
https://doi.org/10.1016/j.eswa.2013.06.071
https://doi.org/10.1016/j.physa.2015.06.033
https://doi.org/10.1016/j.chaos.2016.01.004
https://doi.org/10.1023/A:1007413511361
https://doi.org/10.1016/S0004-3702(97)00063-5
https://doi.org/10.1002/0471200611