数据清洗APP功能升级说明
此前曾分享过一篇关于使用MATLAB开发的数据清洗工具文章。当时该APP仅实现了空缺值处理的基本功能。在那之后,我向读者承诺将陆续加入异常值检测、滤波处理等实用模块。如今,这些新功能已全部实现,特此更新发布。
整体界面概览
本次更新后的“数据清洗APP”包含多个功能模块,每个模块均配有独立操作界面,以下是各主要页面的展示:
- 主界面
- 数据空缺值清洗界面
- 数据异常值清洗界面
- 数据滤波处理界面
核心功能详解
1. 数据空缺值清洗
该模块支持多种填充策略,用户可根据实际需求选择合适的补全方式,包括但不限于:常量赋值、前向填充、后向填充、最近邻插值、线性插值、样条插值、k近邻算法(KNN)、PCHIP(保形三次插值)以及修正Akima插值方法。
此外,还提供整行删除选项,适用于希望直接剔除含缺失数据记录的情况。
针对含有特殊标识符的数据集(如Excel中常见的 ?Inf? 或 NAN 等字符),本工具允许自定义替换规则。只需在“指示符”栏输入对应符号(例如NAN),即可批量清洗此类异常标记。
2. 异常值检测与处理
在异常值处理模块中,集成了八种主流的异常检测算法,支持按单列或全表范围进行扫描识别。
对于检测出的异常点,系统提供了九种不同的处理方案,涵盖替换、截断、平滑等多种策略,确保满足不同场景下的数据修正需求。
处理完成后,可一键导出清洗后的数据文件,并生成详细的检测报告(以txt格式输出),便于后续分析与存档。
============================================================
? ? ? ? ? ? ? ? ? 数据异常值检测报告
============================================================
生成时间:2025-12-01 21:35:34
源文件:异常值清洗示例数据1.xls
------------------------------------------------------------
【数据概况】
------------------------------------------------------------
? 数据行数:6747
? 数据列数:14
? 数据总量:94458
------------------------------------------------------------
【检测设置】
------------------------------------------------------------
? 检测方法:IQR方法(四分位距)
? 阈值参数:1.5000
? 检测范围:全部列
------------------------------------------------------------
【检测结果】
------------------------------------------------------------
? 异常值总数:3430
? 异常值占比:3.6312%
? 包含异常值的行数:1491
? 异常值所在行(前20行):3 ? 4 ? 5 ?18 ?19 ?20 ?21 ?22 ?23 ?50 ?51 ?55 ?70 ?71 ?72 ?73 ?74 ?75 ?76 ?77 ...
------------------------------------------------------------
【各列统计信息】
------------------------------------------------------------
? ? 第 1 列:
? ? 均值:3.716542
? ? 中位数:3.104000
? ? 标准差:2.893466
? ? 最小值:0.000000
? ? 最大值:16.109000
? ? Q1(25%):1.829000
? ? Q3(75%):4.634000
? ? 异常值数量:538
? ? 第 2 列:
? ? 均值:4.078678
? ? 中位数:3.461000
? ? 标准差:3.152238
? ? 最小值:0.000000
? ? 最大值:17.129000
? ? Q1(25%):1.982000
? ? Q3(75%):5.246000
? ? 异常值数量:390
? ? 第 3 列:
? ? 均值:4.427551
? ? 中位数:3.512000
? ? 标准差:3.364144
? ? 最小值:0.000000
? ? 最大值:18.302000
? ? Q1(25%):2.186000
? ? Q3(75%):5.654000
? ? 异常值数量:398
? ? 第 4 列:
? ? 均值:4.544697
? ? 中位数:3.359000
? ? 标准差:3.690132
? ? 最小值:0.000000
? ? 最大值:19.220000
? ? Q1(25%):2.084000
? ? Q3(75%):6.062000
? ? 异常值数量:429
?------------------------------------------------------------
【异常值清洗结果】
------------------------------------------------------------
? 处理方法:前后均值替换
? 清洗后行数:6747
? 清洗后列数:14
============================================================
? ? ? ? ? ? ? ? ? ? ? 报告结束
============================================================
3. 数据滤波处理
滤波模块内置了十七种常用滤波方法,适用于各类信号或时间序列数据的去噪与平滑处理。同样支持对指定列或全部数据列执行操作。
用户可在操作过程中实时预览原始数据与滤波后结果的对比曲线,直观评估处理效果。
系统还会自动计算并显示关键性能指标,如信噪比(SNR)、均方误差(MSE)等,帮助量化滤波质量。
同时支持导出包含处理参数和评价指标的完整滤波报告(txt格式)。
════════════════════════════════════════════════════════════════
? ? ? ? ? ? ? ? ? ? ? ? 数据滤波分析报告
════════════════════════════════════════════════════════════════
生成时间:2025-12-01 22:01:33
源文件:滤波示例数据1.xls
────────────────────────────────────────────────────────────────
【数据概况】
────────────────────────────────────────────────────────────────
? 数据行数:6747
? 数据列数:14
? 采样率:1 Hz
? 空缺值状态:无空缺值
────────────────────────────────────────────────────────────────
【滤波设置】
────────────────────────────────────────────────────────────────
? 滤波方法:小波去噪
? 分解层数:4.0000
? 小波类型:db4
────────────────────────────────────────────────────────────────
【各列统计信息】
────────────────────────────────────────────────────────────────
? ? 第 1 列 - 原始数据:
? ? 均值:3.716542
? ? 标准差:2.893466
? ? 最小值:0.000000
? ? 最大值:16.109000
? ? 第 1 列 - 滤波后:
? ? 均值:3.716436
? ? 标准差:2.741414
? ? 最小值:-0.115706
? ? 最大值:15.028784
? ? 第 1 列 - 滤波效果:
? ? 信噪比改善:11.26 dB
? ? 平滑度提升:78.0%
? ? 滤波后SNR:10.79 dB
? ? MSE:0.626914
? ? 第 2 列 - 原始数据:
? ? 均值:4.078678
? ? 标准差:3.152238
? ? 最小值:0.000000
? ? 最大值:17.129000
? ? 第 2 列 - 滤波后:
? ? 均值:4.078470
? ? 标准差:2.991897
? ? 最小值:-0.417933
? ? 最大值:16.454754
? ? 第 2 列 - 滤波效果:
? ? 信噪比改善:11.81 dB
? ? 平滑度提升:73.9%
? ? 滤波后SNR:11.35 dB
? ? MSE:0.655270
? ? 第 3 列 - 原始数据:
? ? 均值:4.427551
? ? 标准差:3.364144
? ? 最小值:0.000000
? ? 最大值:18.302000
? ? 第 3 列 - 滤波后:
? ? 均值:4.427079
? ? 标准差:3.230658
? ? 最小值:0.082743
? ? 最大值:17.251859
? ? 第 3 列 - 滤波效果:
? ? 信噪比改善:12.81 dB
? ? 平滑度提升:73.4%
? ? 滤波后SNR:12.46 dB
? ? MSE:0.592786
? ? 第 4 列 - 原始数据:
? ? 均值:4.544697
? ? 标准差:3.690132
? ? 最小值:0.000000
? ? 最大值:19.220000
? ? 第 4 列 - 滤波后:
? ? 均值:4.544292
? ? 标准差:3.568577
? ? 最小值:-0.188218
? ? 最大值:18.033593
? ? 第 4 列 - 滤波效果:
? ? 信噪比改善:13.71 dB
? ? 平滑度提升:70.9%
? ? 滤波后SNR:13.42 dB
? ? MSE:0.579924
────────────────────────────────────────────────────────────────
【滤波历史】
────────────────────────────────────────────────────────────────
? 1. 01-Dec-2025 21:53:05 - 方法:卡尔曼滤波,列:1
? 2. 01-Dec-2025 21:53:19 - 方法:双边滤波,列:1
? 3. 01-Dec-2025 21:53:28 - 方法:中值滤波,列:1
? 4. 01-Dec-2025 21:53:31 - 方法:高斯滤波,列:1
? 5. 01-Dec-2025 21:58:55 - 方法:小波去噪,列:1
? 6. 01-Dec-2025 22:01:27 - 方法:小波去噪,列:1 ? 2 ? 3 ? 4 ? 5 ? 6 ? 7 ? 8 ? 9 ?10 ?11 ?12 ?13 ?14
════════════════════════════════════════════════════════════════
? ? ? ? ? ? ? ? ? ? ? ? ? 报告结束
════════════════════════════════════════════════════════════════
软件部署说明
本工具基于MATLAB开发,通过编译生成独立运行的exe安装包,无需目标机器安装MATLAB环境亦可正常使用,双击即可完成安装,操作简便。
需要注意的是,由于运行时需加载MATLAB Runtime,安装后会占用约3GB磁盘空间,请根据设备情况酌情使用。
https://mbd.pub/o/bread/aJWWm5tq