[论文解读] REPPlab: An R package for detecting clusters and outliers using exploratory projection pursuit
REPPlab 是一个 R 包,提供用于检测多变量数据中聚类和异常值的探索性投影追踪(EPP)工具。该包利用四种投影指数和三种生物启发式优化算法(遗传算法、粒子群优化和 Tribe)实现,支持对低维投影进行彻底的可视化与分析。其创新的异常值检测工具结合了多个指数和算法的结果,显著提升了真实数据集中检测的可靠性与可解释性。
The R-package REPPlab is designed to explore multivariate data sets using one-dimensional unsupervised projection pursuit. It is useful in practice as a preprocessing step to find clusters or as an outlier detection tool for multivariate numerical data. Except from the package tourr that implements smooth sequences of projection matrices and rggobi that provides an interface to a dynamic graphics package called GGobi, there is no implementation of exploratory projection pursuit tools available in R especially in the context of outlier detection. REPPlab is an R interface for the Java program EPPlab that implements four projection indices and three biologically inspired optimization algorithms. The implemented indices are either adapted to cluster or to outlier detection and the optimization algorithms have at most one parameter to tune. Following the original software EPPlab, the exploration strategy in REPPlab is divided into two steps. Many potentially interesting projections are calculated at the first step and examined at the second step. For this second step, different tools for plotting and combining the results are proposed with specific tools for outlier detection. Compared to EPPlab, some of these tools are new and their performance is illustrated through some simulations and using some real data sets in a clustering context. The functionalities of the package are also illustrated for outlier detection on a new data set that is provided with the package.
研究动机与目标
- 为 R 中无监督数据分析缺乏可访问的静态探索性投影追踪(EPP)工具提供解决方案。
- 通过提供全面的 R 接口,弥合独立 Java 工具 EPP-lab 与 R 用户之间的差距。
- 通过结合多个投影指数和优化算法的结果,提升异常值检测的可靠性。
- 提供先进的可视化与汇总工具,用于解释 EPP 结果,特别是识别极端观测值。
- 通过真实数据集和模拟实验,展示 REPPlab 的有效性,证明其具备更高的稳健性与检测准确性。
提出的方法
- 该包与基于 Java 的 EPP-lab 软件接口,利用其四种投影指数:Friedman-Tukey、Friedman、判别和峰度(最大化/最小化)。
- 实现了三种优化算法——遗传算法、粒子群优化(PSO)和 Tribe,每种算法均需极少调参。
- 探索策略遵循两步法:首先,使用不同指数和算法计算大量投影;其次,使用基于 R 的工具对结果进行可视化与分析。
- 通过识别在多个投影中均表现极端的观测值进行异常值检测,结合经典(均值、标准差)与稳健(中位数、MAD)的位置与尺度度量。
- 该包提供函数以计算并可视化投影指数值、方向之间的余弦矩阵,以及多次运行中的异常值频率。
- 支持整合不同指数和算法的结果,例如使用 `apply(outlier_matrix, 1, sum)` 识别在多个方向中被检测到的观测值。
实验结果
研究问题
- RQ1如何有效将探索性投影追踪集成到 R 中,以支持无监督多变量数据分析?
- RQ2结合多个投影指数和优化算法在多大程度上能提升异常值检测的可靠性?
- RQ3使用稳健度量(中位数、MAD)与经典度量(均值、标准差)在 EPP 中识别异常值方面有何差异?
- RQ4REPPlab 的可视化与汇总工具在真实数据集中检测聚类和极端观测值方面的表现如何?
- RQ5作为 PSO 的一种特殊变体,Tribe 算法是否能在识别多变量数据中的非高斯结构方面优于标准优化方法?
主要发现
- 与使用经典度量(均值和标准差)相比,使用稳健度量(中位数和中位数绝对偏差)检测出 32 个异常值,而经典度量仅检测出 11 个。
- 使用稳健度量时,观测值 512 在 100 次投影中有 81 次被识别为异常值,表明其在多个方向上均表现出极端偏离。
- 使用稳健度量时,观测值 414 在 74 次投影中被检测到,确认其为高度极端的异常值。
- 通过结合多个指数和算法,识别出四个关键异常值候选者——57、367、414 和 512,其极端位置在前两个投影的散点图中得到验证。
- Tribe 算法在识别局部最优解方面表现有效,有助于检测非高斯结构,如聚类和异常值。
- 可视化工具(包括余弦矩阵和多方向异常值频率图)能够清晰识别最极端的观测值及其在投影中的一致性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。