论文部分内容阅读
随着科学技术的不断发展,各行各业产生着以往无法想象的海量数据。人们急需从海量数据中得到有用信息。主成分分析和因子分析作为常用的数据降维方式对于从数据中提取有用信息有着非常重要的意义。本文对主成分分析和因子分析的算法进行了研究,并且在Spark平台上实现了这两种算法。本文的主要研究工作如下:(1)实现了基于Hadoop平台的一个数理统计的功能集,该功能集包括了最常用的数理统计功能:常用统计量(包括平均数、方差、众数、中位数等11个统计量)、单变量分析(通过计算一个因变量和多个自变量之间的协方差判断因变量和自变量之间的相关关系)、多变量分析(通过计算多个变量之间的相关系数矩阵来判断变量两两之间的相关关系)、假设检验(包括单变量T检验,成对样本T检验,独立样本T检验)、自助法(对数据进行重抽样,计算抽样样本的均值和方差)。(2)实现了基于Spark的主成分分析和因子分析。本文将分而治之的思想和QR分解应用到主成分分析和因子分析。分而治之的思想就是将“大问题”化成“小问题”,然后利用Spark分布式计算的能力并行解决小问题,尽最大努力节省计算时间。利用QR分解的方法(QR分解是效率最高的矩阵分解)用于分块矩阵特征值求解,提高“小问题”的运算效率。算法结合了分而治之的思想和高效的QR分解算法,并且充分利用了 Spark平台的并行运算能力。最后,本文通过对不同规模的数据集进行实验。实验结果表明,本文提出的并行算法能够提高运算效率。