基于马氏距离的异常样本检测与剔除系统
项目介绍
本项目是一个基于 MATLAB 的异常样本检测与剔除系统。核心功能是利用马氏距离对输入的多维样本数据进行统计分析,自动识别并剔除偏离整体分布显著的异常点。系统根据数据特征自动估算协方差矩阵,并基于卡方分布判定异常阈值,支持用户快速应用于不同的数据集场景,并提供直观的数据可视化与处理报告。
功能特性
- 自动异常检测:基于样本数据的马氏距离,无需预设数据分布模型。
- 灵活阈值设定:支持用户自定义异常判定阈值,或由系统根据指定置信水平自动计算。
- 多格式数据输入:支持
.mat 和 .csv 格式的样本数据矩阵。 - 结果可视化:生成马氏距离分布图,并对检测出的异常点进行高亮标记。
- 详细处理报告:输出包含原始数据量、异常数量、剔除比例等信息的统计报告。
使用方法
- 准备数据:将样本数据整理为
m×n 矩阵(m 为样本数,n 为特征维度),并保存为 .mat 或 .csv 文件。 - 配置参数(可选):可在脚本中修改或通过函数参数指定自定义的异常判定阈值。
- 运行主程序:执行主程序,系统将自动完成数据加载、异常检测、结果可视化和报告生成。
- 获取结果:程序输出包括:
- 清理后的样本数据矩阵。
- 被剔除的异常样本索引列表。
- 马氏距离分布与异常点标记图。
- 文本格式的异常剔除报告。
系统要求
- 平台: MATLAB R2018a 或更高版本。
- 必要工具箱: Statistics and Machine Learning Toolbox。
文件说明
主程序文件整合了系统核心流程,包括数据读取与校验、协方差矩阵估计与求逆、马氏距离计算、基于卡方分布的异常阈值判定、异常样本索引识别与剔除、清理后数据与索引列表的输出、马氏距离分布的可视化图表绘制以及包含关键统计信息的文本报告生成。