全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
81 0
2025-12-03

数据清洗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
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群