代码改变世界

(转)数据挖掘——我们能从股市数据得出什么,以及一些算法

2015-11-28 09:33  TRACEING  阅读(1716)  评论(0编辑  收藏  举报

分类 ,这是有很多非常成熟的算法,非常直观,按照一个分类属性,把样本分为不同的类别。
聚类 ,聚类与分类的差别在于,分类分析有一个分类属性作为输出,比如“好”、“坏”之类,但聚类没有。聚类分析探索各个样本间的内在关系,并按一定标准把它们“聚”在一块。按照有没有相应的输出分类属性,一个术语是,分类是有指导的学习,而聚类是无指导的学习;
关联分析,就是著名的购物篮分析,例子就是沃尔玛的啤酒和尿布,探索数据中各个属性之间的关系;
预测,也很直观了,有很多回归技术。
分别论述了。分类的算法有:
决策树,按照一定的标准(比如说信息论中的“熵”),把各个属性划到不同的树形节点中去。在股市数据中,比如,有好的企业和不好的企业(ST),这个算法提供类似“如果市盈率怎么样,则该企业怎么样怎么样”的结论,当然,实际分析中,结论的层次会很多。决策树的成功算法有C4.5、CHAID(这个就是冯老师说的威力无比的卡方自动搜索技术,昨天梁老师提到的最好的决策树算法就是它)、CART等等。C4.5有现成的代码;
人工神经网络,仿照人类神经元刺激-反应的学习模式,人工神经网络被一个环境(输入输出的组合)所激励,它的各种参数(那些权值和偏置量)进行调整作为响应。一般认为神经网络经常能发掘出数据中的非线性关系,而且抗干扰性较强。人工神经网络包括三种基本的模型,一是前馈网络,如多层感知机(我们学过相应的反向传播法BP),这里网络的输出直接根据网络的输入计算而来,不涉及到反馈;二是竞争网络,以Hamming网络为代表,它包括一个反馈层,并试图判定哪个标准向量最接近输入向量;三是以Hopfield网络为代表的递归网络,它利用输入向量对网络中的神经元进行初始化,然后不断迭代直至收敛;这里前馈网络的代码很好找到;
支持向量机(SVM,Support Vector Machine)源自统计学习理论,有着坚实的理论基础,它用训练实例的一个子集(支持向量)作为决策边界,然后建立一个线性判别函数来将各个类别分开。它相对与神经网络的一个优点是能发现目标函数的全局最优点,而采用贪心算法搜索假设空间的神经网络模型一般只能获得局部最有解;
最大熵法(MEM,Maximun Entropy Method),是基于信息论的一种方法,它用“熵”来表示信息的增益,在自然语言处理领域成就斐然。最大熵方法认为,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以称之为“最大熵法”。最大熵法在数学形式上很漂亮,但是实现起来比较复杂,但把它运用于金融领域的诱惑也比较大,比如说决定股票涨落的因素可能有几十甚至上百种,而最大熵方法恰恰能找到一个同时满足成千上万种不同条件的模型。
聚类的算法以K-均值为代表,它先是选择K个初始的质心,接着按就近原则将其他观测值向它凝聚,这样指派到每一个质心的点集称为一个簇。然后根据指派到簇的点,更新每个簇的质心,这样重复指派和更新,直到质心不再发生变化(即收敛)。这里“最近”的概念用的是欧几里德距离。在我们的股市数据中,如果我们不再事先指定哪些股票是好是坏(即没有输出变量),通过聚类分析也能把它们分类。
关联分析用来发现隐藏在大型数据集中令人感兴趣的联系,比如尿布和啤酒之间的关联,一种叫Apriori的算法可以实现,它根据变量及其赋值对整个数据集的覆盖程度来建立起两个或几个变量之间的联系。这个算法用在我们的股市数据中,可以帮我们找到几只单股之间的关联,这种关联可能没有道理。
转自: http://johnthu.spaces.live.com/blog/cns!2053CD511E6D5B1E!147.entry