优质博文:IT-BLOG-CN
之前我们已经介绍了简单、高效的克隆巴赫α系数和科学有效的主成分分析对因子进行分组,我们将继续介绍一种复杂的方法----聚类分析(Cluster Analysis)。
聚类分析根据多个因子某一方面的相似性进行归类,使类内因子的同质性最多化同时使类间因子的异质性最多化。聚类分析的核心概念为—距离。但是,当因子维度较多时,聚类分析的计算量会比较多而且不太稳定,因此对于多维度因子进行聚类分析之前,一般先使用之前我们讲过的因子分析或者主成分分析对因子进行降维处理。聚类分析相较于克隆巴赫α系数和主成分分析,有以下三个优点:
聚类分析是一种非线性的分析方法;
聚类分析进行因子分组时,不需要我们去计算分组的因子权重;
聚类分析相较于克隆巴赫α系数和主成分分析,对于因子分组更加细致准确,能够较多幅度提升多因子模型的有效性和准确性。
聚类分析主要有以下4个步骤:
【1】因子预处理;
【2】为衡量因子点间的相似度定义一个距离函数;
【3】聚类或分组;
【4】评估输出。
因子预处理包括选择因子数量,因子类型和因子特征的标度,它主要依赖因子的特征选择和特征抽取。因子特征选择是选择重要的特征,特征抽取把输入的特征转化为一个新的显著特征,它们经常被用来获取一个合适的特征集来避免“维数灾”进行聚类。因子预处理还包括将孤立因子移出,因为孤立因子经常会导致有偏差的聚类结果,因此为了得到正确的聚类,我们必须将它们剔除。
由于类同质性是定义一个类的基础,那么不同因子之间在同一个特征空间相似度的衡量对于聚类步骤是很重要的,由于特征类型和特征标度的多样性,距离度量必须谨慎,它经常依赖于应用,例如,通过定义在特征空间的距离度量来评估不同对象的异质性,很多距离度量都应用在一些不同的领域,一个简单的距离度量,如Euclidean距离,经常被用作反映不同因子间的异质性,一些有关同质性的度量,例如PMC和SMC,能够被用来特征化不同因子的概念同质性。
聚类或分组同样是一个很重要的步骤,因子基于不同的方法被分到不同的类中。划分方法和层次方法是聚类分析的两个主要方法,划分方法一般从初始划分和最优化一个聚类标准开始。Crisp Clustering和Fuzzy Clusterin是划分方法的两个主要技术,划分方法聚类是基于某个标准产生一个嵌套的划分系列,它可以度量不同类之间的同质性或一个类的异质性用来合并和分裂类。层次方法聚类是创建一个层次以分解给定的因子集合。
评估聚类结果的质量是最后一个重要的阶段,聚类是一个无管理的程序,也没有客观的标准来评价聚类结果,它一般通过一个类有效索引来评价,一般来说,几何性质,包括类间的分离和类内部的耦合,一般都被用来评价聚类结果的质量,类有效索引在决定类的数目时经常扮演了一个重要角色,类有效索引的最佳值被期望从真实的类数目中获取,取个通常的决定类数目的方法是选择一个特定的类有效索引的最佳值,这个索引能否真实的得出类的数目是判断该索引是否有效的标准,很多已经存在的标准对于相互分离的类因子集合都能得出很好的结果,但是对于复杂的数据集,却通常行不通。
聚类分析通常根据交易员或者策略开发人员的直觉和交易经验对参数进行预判,从而得到一个经典因子分组模型。近年来,越来越多的交易员运用强大的计算机技术,通过上千次上万次地模拟测试来得到最优最稳定的聚类分析参数训置。这是一种机器学习的思想,并且这种思想的融入通过实践证明能够很好的规避人为因素造成的偏差。