EllipticEnvelope-椭圆包络、鲁棒协方差
EllipticEnvelope-椭圆包络、鲁棒协方差 的真实核心主要位于:
EllipticEnvelope-椭圆包络、鲁棒协方差
1. 方法概述
EllipticEnvelope-椭圆包络、鲁棒协方差 的真实核心主要位于:
core/calculator.pyutils/elliptic_envelope_exporter.pyui/elliptic_envelope_params_widget.py
从当前项目代码看,这个模块直接调用的是 sklearn 的 EllipticEnvelope,但外围又补了:
- 特征列与标签列选择;
- 缺失值处理与缩放;
- 二维嵌入可视化(PCA / t-SNE);
- Top-N 异常样本输出;
- Excel 与图表导出。
它适合处理“多数样本近似服从椭圆分布,异常点偏离鲁棒协方差结构”的场景。
2. 数据输入与预处理
2.1 输入结构
设特征矩阵为
$$ X=(x_{ij})_{n\times d},\qquad x_i\in\mathbb{R}^d \tag{1} $$
代码允许额外指定:
id_columnlabel_columnoutlier_label_value
其中标签列只用于评估,不参与模型拟合。
2.2 缺失值处理
当前实现支持:
dropmedianmeanzero
若采用均值或中位数填补,则对第 \(j\) 个特征有
$$ x_{ij}^{(\text{fill})}= \begin{cases} \bar x_j, & \text{mean}\\ \mathrm{median}(x_{\cdot j}), & \text{median}\\ 0, & \text{zero} \end{cases} \tag{2} $$
2.3 缩放
代码可选:
standardrobustminmaxnone
其中标准化形式可写为
$$ z_{ij}=\frac{x_{ij}-\mu_j}{\sigma_j} \tag{3} $$
RobustScaler 则对应以中位数和 IQR 为基础的稳健缩放。
3. 椭圆包络模型
3.1 鲁棒协方差与马氏距离
椭圆包络方法本质上依赖一个鲁棒位置向量 \(\hat\mu\) 与鲁棒协方差矩阵 \(\hat\Sigma\)。对样本 \(x_i\),马氏距离可写为
$$ D_i^2=(x_i-\hat\mu)^\top \hat\Sigma^{-1}(x_i-\hat\mu) \tag{4} $$
代码会调用 model.mahalanobis(X) 输出这一量,便于后续报告使用。
3.2 分数与阈值
项目同时保留 sklearn 的三种输出:
score_samplesdecision_functionpred_label
并额外定义直观异常分数:
$$ \mathrm{anomaly\_score}_i=-\,\mathrm{decision\_function}_i \tag{5} $$
因此:
decision_function < 0判异常;anomaly_score > 0越大越异常。
当前代码把阈值固定写成
$$ \hat y_i= \begin{cases} -1, & \mathrm{decision\_function}_i<0\\ 1, & \mathrm{otherwise} \end{cases} \tag{6} $$
即 threshold_decision_function = 0。
3.3 offset_ 的含义
源码还会导出 offset_,它对应 score_samples 这一侧的阈值基准,因此结果表会同时给出:
threshold_decision_function = 0offset_(score_samples threshold)
4. 评估与二维嵌入
4.1 有标签时的指标
若提供标签列且能识别出“异常标签值”,代码会计算
$$ \mathrm{Precision}=\frac{TP}{TP+FP} \tag{7} $$
$$ \mathrm{Recall}=\frac{TP}{TP+FN} \tag{8} $$
$$ \mathrm{F1}=\frac{2\cdot \mathrm{Precision}\cdot \mathrm{Recall}}{\mathrm{Precision}+\mathrm{Recall}} \tag{9} $$
并在二分类标签有效时追加:
roc_aucaverage_precision
这些指标都是基于 anomaly_score 计算的。
4.2 二维嵌入
当前 UI 支持:
pcatsnenone
t-SNE 模式下,若样本数过大,代码会随机下采样到 embedding_max_samples 后再嵌入,因此导出的二维散点图不一定覆盖全部样本。
5. 输出结果与论文应用
5.1 Excel 工作表
导出器会保存:
参数处理信息原始数据预览原始数据异常得分阈值异常Top指标PR曲线二维嵌入标签对照图表清单
5.2 论文写作表述建议
可以写成:
- 采用基于鲁棒协方差估计的 Elliptic Envelope 对样本进行异常检测;
- 以
decision_function=0为判别阈值,且将-decision_function作为异常强度分数; - 当存在真实标签时,使用 Precision、Recall、F1、ROC-AUC 与 AP 评价检测性能。
6. 实现说明与注意事项
6.1 这是“椭圆分布假设”下的异常检测
若数据本身呈复杂非椭圆形状,EllipticEnvelope 的表现可能弱于 LOF、IsolationForest 等方法。
6.2 当前模块允许自动猜测异常标签值
如果用户不给 outlier_label_value,代码会优先尝试从 -1 / 1 / True / 异常 / outlier / anomaly 等常见值中自动推断。
6.3 Top-N 只影响展示,不改变模型判定
top_n_outliers 只决定 异常Top 工作表输出多少条记录,不会改变 pred_label 的实际判别规则。
7. 论文写作模板
7.1 方法描述模板
“本文采用基于鲁棒协方差估计与椭圆分布假设的异常检测方法,通过鲁棒位置向量与协方差矩阵构造样本的马氏距离,并利用 decision_function 判定样本是否偏离正常椭圆区域。依据项目当前实现,软件同时输出 score_samples、decision_function 与 anomaly_score=-decision_function 三类分数,其中异常判别以 decision_function<0 为准。因此,论文中应同时说明模型依赖近似椭圆分布假设,以及异常分数与判别阈值的代码口径。”
7.2 结果解释模板
结果部分可写为:anomaly_score 越大,说明样本越偏离鲁棒中心区域;当 decision_function<0 时,样本被判为异常。若二维嵌入图中异常点集中分布在椭圆区域外围,则说明鲁棒协方差模型较好地捕捉了主体样本结构;若异常点在嵌入空间中呈现非椭圆散布,则需要进一步讨论该方法与数据分布假设之间的适配性。对于带标签场景,建议同时报告 Precision、Recall、F1、ROC-AUC 与 AP,以从分类阈值与排序分数两个角度评价检测性能。
7.3 表格标题模板
- 表 1 椭圆包络模型参数与预处理设置表
- 表 2 样本异常分数与判别结果汇总表
- 表 3 Top-N 异常样本排序结果表
- 表 4 带标签场景下椭圆包络检测性能指标表
7.4 图表题注模板
- 图 1 椭圆包络异常分数分布图。
- 图 2 椭圆包络异常检测的 PCA 或 t-SNE 二维嵌入散点图。
- 图 3 椭圆包络模型带标签检测效果对比图。
7.5 表格示例
表 1 椭圆包络异常检测结果表示例
| 样本编号 | anomaly_score |
decision_function |
pred_label |
是否异常 |
|---|---|---|---|---|
| \(i_1\) | ||||
| \(i_2\) |
表注:异常判别规则为 decision_function<0;anomaly_score=-decision_function 仅用于更直观地展示异常强度。
8. 单篇终审补充
8.1 图题与表题对齐建议
参数表可写为:表X 椭圆包络模型参数与预处理设置表。处理信息表可写为:表X 椭圆包络数据处理信息表。原始数据预览表可写为:表X 原始数据预览表。原始数据表可写为:表X 椭圆包络原始样本表。异常得分表可写为:表X 样本异常得分结果表。阈值表可写为:表X 椭圆包络判别阈值表。异常Top表可写为:表X Top-N 异常样本排序表。指标表可写为:表X 椭圆包络检测性能指标汇总表。PR曲线表可写为:表X 椭圆包络 PR 曲线数据表。二维嵌入表可写为:表X 椭圆包络二维嵌入结果表。标签对照表可写为:表X 椭圆包络预测标签与真实标签对照表。图表清单表可写为:表X 椭圆包络图表索引与路径清单。score_hist.png建议写为:图X 椭圆包络异常分数分布图。pr_curve.png建议写为:图X 椭圆包络 PR 曲线图。embedding_2d.png建议写为:图X 椭圆包络二维嵌入散点图。
8.2 终审说明
- 当前代表性结果目录中的真实主工作簿为
EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260320_003019_enhanced.xlsx。终稿若引用结果文件名,应直接按这一真实名称书写,不要替换成英文简写版。 - 当前真实工作表是
参数/处理信息/原始数据预览/原始数据/异常得分/阈值/异常Top/指标/PR曲线/二维嵌入/标签对照/图表清单,与一些其他异常检测算法的英文 sheet 体系不同,论文表题必须按这套中文工作表口径对齐。 - 当前实体图文件位于
charts/子目录下,代表性图为score_hist.png、pr_curve.png、embedding_2d.png。如果论文中需要展示 ROC 图,应先确认该次结果目录是否真实生成,而不能直接沿用通用模板。 - 当前代表性目录里未直接列出 repro 脚本,但同算法其他真实结果目录中已有
repro_elliptic_envelope.py,并通过INPUT_FILE = 'repro_inputs/elliptic_ui_flow_input.csv'读取输入副本。附录若描述复现实验,应采用这一真实相对路径结构。 二维嵌入是否覆盖全部样本取决于embedding_method与embedding_max_samples。若使用 t-SNE 且样本量较大,导出的二维散点图可能只对应下采样结果,正文里应避免把它解释为“全样本空间结构”的严格投影。
8.3 全量强化补充
本篇终审补充绑定的真实算法目录为 具体的算法3/异常检测/EllipticEnvelope-椭圆包络、鲁棒协方差。本次采用两类真实结果证据:主结果目录 具体的算法3/异常检测/EllipticEnvelope-椭圆包络、鲁棒协方差/results/EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260320_003019_enhanced,以及含 repro 证据的 ui_flow 目录 具体的算法3/异常检测/EllipticEnvelope-椭圆包络、鲁棒协方差/results/ui_flow_pytest_elliptic/EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260329_170101。
主结果目录中的工作簿为:
EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260320_003019_enhanced.xlsx
ui_flow 目录中实际同时保留:
EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260329_170101.xlsxEllipticEnvelope_results.xlsx
这些工作簿实测工作表一致,均包含:
参数处理信息原始数据预览原始数据异常得分阈值异常Top指标PR曲线二维嵌入标签对照图表清单
因此这一篇不能简单写成“代表性目录只有一份结果簿”。更准确的口径应是:enhanced 目录给出主结果,ui_flow 目录补充了带 repro 的同构结果簿。
主结果目录中的真实图文件位于:
charts/score_hist.pngcharts/pr_curve.pngcharts/embedding_2d.png
ui_flow 目录中的同构结果也保留了这三张图。因此本轮真实图证据只有异常分数直方图、PR 曲线图和二维嵌入图三类。
复现实物方面,ui_flow 目录实际包含:
具体的算法3/异常检测/EllipticEnvelope-椭圆包络、鲁棒协方差/results/ui_flow_pytest_elliptic/EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260329_170101/repro_elliptic_envelope.py具体的算法3/异常检测/EllipticEnvelope-椭圆包络、鲁棒协方差/results/ui_flow_pytest_elliptic/EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260329_170101/repro_inputs/elliptic_ui_flow_input.csv
脚本中明确写成 INPUT_FILE = 'repro_inputs/elliptic_ui_flow_input.csv'、OUTPUT_DIR = '.'。因此该算法的真实可复现性应写成“主 enhanced 目录负责主结果,ui_flow 目录补充相对路径 repro 证据”,而不是说主结果目录本身已经带 repro 脚本。
9. 软件实现核查补充(2026-07)
- 当前主 enhanced 结果目录应写作
具体的算法3/异常检测/EllipticEnvelope-椭圆包络、鲁棒协方差/results/EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260329_170101,ui_flow 复现证据目录应写作具体的算法3/异常检测/EllipticEnvelope-椭圆包络、鲁棒协方差/results/ui_flow_pytest_elliptic/EllipticEnvelope-椭圆包络、鲁棒协方差分析结果_20260329_170101。 - 正文应围绕
异常分数、阈值、指标、PR曲线、二维嵌入、标签对照、图表清单来写。 - 图证应对应
score_hist.png、pr_curve.png、embedding_2d.png,并把主结果图和 ui_flow 同构图分开说明。 - 复现脚本应按
repro_elliptic_envelope.py + repro_inputs/elliptic_ui_flow_input.csv的口径说明。