主要内容

数据更清洁

预处理和组织面向列的数据

描述

数据更清洁App是一个交互式工具,用于识别杂乱的面向列的数据,一次清理数据的多个变量,并迭代和细化清理过程。

使用这个应用程序,你可以:

  • 在MATLAB中访问面向列的数据®工作区或从文件中导入面向列的数据。

  • 通过使用可视化、数据和摘要视图来查看数据。

  • 按变量排序、重命名变量或删除变量。

  • 重新计时时间表中的数据、堆栈或反堆栈表变量、清除缺失数据、清除异常数据、平滑数据或规范化数据。

  • 编辑以前执行的清理步骤。

  • 将已清理的数据导出到MATLAB工作区,或将用于数据清理的代码导出为脚本或函数。

  • 数据更清洁应用程序目前只支持清洗表和时间表数据。

  • 数据更清洁应用程序目前只支持一次清洗一个表或时间表。

打开数据清洁应用程序

  • MATLAB工具条:在应用程序选项卡,在MATLAB,按数据更清洁图标

  • MATLAB命令窗口:输入dataCleaner

例子

全部展开

使用数据更清洁应用程序预处理和组织混乱的时间表数据,通过删除一个变量和重新计时,平滑,和正常化的数据。然后,将清理后的数据导出到MATLAB工作区。您可以按照这些步骤预处理和组织杂乱的时间表数据,但请注意,您的数据可能需要一组不同的清理步骤。

这个例子展示了如何预处理和组织有时间戳的自行车交通数据。数据集来自马萨诸塞州剑桥百老汇街的传感器。剑桥市提供公众访问完整的数据集剑桥开放数据网站。

  1. 开放时间表载于数据更清洁应用程序

    使用MATLAB工具条或MATLAB命令窗口打开数据更清洁应用程序。

    通过使用加载带有时间戳的自行车交通数据bikeData = readtimeline ("BicycleCounts.csv")在命令窗口中。然后,选择导入>从工作区导入数据更清洁App,并指定时间表bikeData.或者,通过选择导入数据导入>从文件导入数据更清洁应用程序。

    一旦时间表加载到应用程序中,查看原始数据数据选项卡中的数据摘要总结选项卡。

    “摘要”选项卡,其中包含时间表统计信息和变量统计信息

    中的时间表数据可视化选项卡。选择总计西行,往东的中的时间表变量变量面板。

    这些图表表明,一年中的时间和自行车交通之间存在相关性。

    具有时间戳和自行车交通数据图的可视化选项卡

  2. 从时间表中删除变量

    一天变量包含冗余数据,因为数据收集的日期反映在时间戳中。交互式地删除一天从时间表使用变量面板。若要删除该变量,请单击右键一天并选择删除.变量删除现在显示为清洗步骤面板。

    从“变量”面板中删除Day变量。“清除步骤”面板中显示“删除日期”步骤。

  3. 调整时间的时间表

    数据摘要显示时间表中缺失和重复的时间戳值。要对时间表进行排序并建立惟一的行时间,请单击调整时间的时间表清洗方法部份首页选项卡。指定输入的唯一行时间作为选择方法和使用总和方法进行聚合。接受清洗参数以添加清洗步骤并更新时间表。

    接受重计时参数后,更新的数据摘要显示没有丢失或重复的时间戳值,并且时间戳按最早到最近的顺序排序。

    重新计时时间表面板与唯一的行时间输入选择方法和求和方法

    如果您的时间表不需要重新安排时间,您可以通过交互方式进行排序时间戳或者另一个时间表变量。通过单击箭头访问排序选项的变量头中数据选项卡。

  4. 平滑的数据

    由于自行车流量在每周的某些日子会出现高峰,平滑可以减少每周的噪声,更好地了解全年的自行车流量趋势。要平滑数据,请使用平滑的数据清洗方法。选择移动的意思平滑方法,并指定一个居中的7天窗口进行平滑。接受清洗参数以添加清洗步骤并更新时间表。

    平滑数据面板,平滑方法和参数设置为移动平均值,约为一个中心窗口,长度为7天

  5. 规范化的数据

    因为有三个数值变量总计西行,往东的有不同的尺度,使用归一化按标准差进行尺度。点击规范化的数据清洗方法部份首页选项卡。选择规模归一化方法和标准偏差如刻度类型。

    要更清楚地预览此清理步骤,请清除输入数据在幻化的传说中。接受清洗参数以添加清洗步骤并更新时间表。

    归一化数据面板,归一化方法设置为按标准偏差缩放

  6. 出口的时间表

    通过选择将已清理的时间表导出到MATLAB工作区导出>导出到工作区

    或者,通过选择导出时间表清理代码导出>生成脚本导出> Generate Function

参数

清理缺失数据

选择以下值之一指定缺失值指示符:

指标 指标参数 描述
只使用标准指标 不适用

只使用标准指示器来检测缺失的值。

标准缺失值取决于数据类型:

  • - - - - - -持续时间,calendarDuration

  • NaT- - - - - -datetime

  • < >失踪- - - - - -字符串

  • <定义>- - - - - -分类

  • {"}- - - - - -细胞特征向量

指定非标准指标 指标 在单引号内,列出要视为缺失的非标准指示值,用逗号分隔。例如,' -99,"N/A" '

从这些方法值中选择一个,如果有必要,还可以选择额外的方法参数来指定如何处理缺失的数据:

方法 方法参数 描述
填补缺失 要填补的最大缺口 填补缺失的值。大于此指定值的数据不被填充(正标量)。看到填补方法参数。
单位 填补缺失的值。指定间隙大小单元类型。
删除丢失 不适用 删除缺少条目的数据行。

从这些方法值中选择一个,如果有必要,还可以选择其他方法参数来指定如何填充缺失的数据:

方法 方法参数 描述
恒定值 恒定值 使用常数标量值。
之前的值 不适用 使用前面的非缺失值。
下一个值 不适用 使用下一个非缺失值。
最近的价值 不适用 使用最近的非缺失值。
线性插值 不适用 使用相邻的非缺失值的线性插值。
样条插值 不适用 使用分段三次样条插值。
保形立方插值(PCHIP) 不适用 使用形状保持分段三次样条插值。
改进的Akima立方插值 不适用 使用改进的Akima立方Hermite插值。
移动平均 移动窗口类型 将移动窗口围绕当前元素居中或不对称对齐。
窗口长度 指定移动窗口的长度(正标量)。
右半窗长(如果移动窗口类型为不对称 指定当前元素之后的窗口单元数,以定义窗口对齐(正标量)。
单位 指定移动窗口单元类型。
移动的意思 移动窗口类型 将移动窗口围绕当前元素居中或不对称对齐。
窗口长度 指定移动窗口的长度(正标量)。
右半窗长(如果移动窗口类型为不对称 指定当前元素之后的窗口单元数,以定义窗口对齐(正标量)。
单位 指定移动窗口单元类型。
干净的离群数据

选择以下方法值之一来指定如何处理异常数据:

方法 描述
填补离群值 填充异常值。看到填补方法参数。
删除离群值 删除具有异常值的数据行。

选择以下方法值之一来指定替换异常值数据的填充方法:

方法 描述
恒定值 使用指定的常数标量值。
中心值 方法确定的中心值找到方法。
剪辑到阈值 方法确定的较低阈值以下的元素使用较低的阈值找到方法。方法确定的上限阈值以外的元素使用上限阈值找到方法。
之前的值 使用之前的非异常值。
下一个值 使用下一个非异常值。
最近的价值 使用最近的非离群值。
线性插值 使用相邻的非离群值的线性插值。
样条插值 使用分段三次样条插值。
保形立方插值(PCHIP) 使用形状保持分段三次样条插值。
改进的Akima立方插值 使用改进的Akima立方Hermite插值。

选择其中一个方法值和其他方法参数,以指定识别离群数据的检测方法:

方法 方法参数 描述
中位数 阈值的因素 异常值被定义为超出中值的比例中值绝对偏差(MAD)的指定阈值的元素。对于输入数据一个,缩放后的MAD定义为c *值(abs(中位数(A))),在那里c = 1 /(√(2)* erfcinv (3/2))
的意思是 阈值的因素 异常值被定义为超出平均值标准偏差指定阈值的元素。这种方法更快,但健壮性较差中位数
四分位数 阈值的因素 异常值被定义为超出四分位数范围指定阈值的元素,四分位数范围高于上四分位数(75%)或低于下四分位数(25%)。当输入数据不是正态分布时,这种方法很有用。
格拉布 阈值的因素 使用Grubbs测试检测异常值,该测试基于假设测试,每次迭代删除一个异常值。该方法假定输入数据是正态分布的。
广泛性极端学生偏位(GESD) 阈值的因素 异常值检测使用广义极端学生偏差检验异常值。这种迭代方法类似于格拉布但当多个异常值相互掩盖时,性能会更好。
移动平均 阈值的因素 异常值定义为超过指定窗口内局部中值的局部缩放MAD的指定阈值的元素。
移动窗口类型 将移动窗口围绕当前元素居中或不对称对齐。
窗口长度 指定移动窗口的长度(正标量)。
右半窗长(如果移动窗口类型为不对称 指定当前元素之后的窗口单元数,以定义窗口对齐(正标量)。
单位 指定移动窗口单元类型。
移动的意思 阈值的因素 离群值定义为在指定窗口内超出局部平均值的局部标准偏差的指定阈值的元素。
移动窗口类型 将移动窗口围绕当前元素居中或不对称对齐。
窗口长度 指定移动窗口的长度(正标量)。
右半窗长(如果移动窗口类型为不对称 指定当前元素之后的窗口单元数,以定义窗口对齐(正标量)。
单位 指定移动窗口单元类型。
百分位数 低阈值 异常值定义为超出上限和下限阈值指定的百分位数范围的元素。
上阈值 异常值定义为超出上限和下限阈值指定的百分位数范围的元素。
规范化的数据

选择这些方法值之一,如果需要,还可以选择额外的方法参数来指定数据规范化的方法:

方法 方法参数 描述
z分数 z分数类型

中心和刻度通过指定具有平均值0和标准偏差1标准偏差

中心和刻度的中位数为0和绝对偏差中位数1通过指定绝对偏差中位数

规范 P-Norm p规范(正标量或对于无穷范数)。
范围 左极限 重新调节具有左右范围限制的数据范围为窗体的间隔[b],在那里A < b
权利限制 重新调节具有左右范围限制的数据范围为窗体的间隔[b],在那里A < b
平均差 不适用 中心和缩放数据具有中位数0和四分位范围1.
中心 中心型

通过从输入数据中减去的均值,将均值设为0的意思是

将中值设为0,方法是从输入数据中减去中值中位数

按指定的数值移动中心数字标量

规模 规模类型

用的标准偏差缩放数据标准偏差

绝对偏差中位数绝对偏差中位数

用的数据的第一个元素来缩放数据第一个元素

四分位范围四分位范围

通过除以指定的数值因子(正标量)来缩放数据数字标量

中心与规模 中心型

通过从输入数据中减去的均值,将均值设为0的意思是

将中值设为0,方法是从输入数据中减去中值中位数

按指定的数值移动中心数字标量

规模类型

用的标准偏差缩放数据标准偏差

绝对偏差中位数绝对偏差中位数

用的数据的第一个元素来缩放数据第一个元素

四分位范围四分位范围

通过除以指定的数值因子(正标量)来缩放数据数字标量

平滑的数据

选择其中一个方法值来指定有噪声数据的平滑方法:

方法 描述
移动的意思

使用移动平均线。这种方法对于减少数据的周期性趋势是有用的。

移动平均 使用移动中值。当存在异常值时,这种方法对于减少数据中的周期性趋势非常有用。
高斯滤波器 使用高斯加权移动平均。
局部线性回归(Lowess) 使用线性回归。这种方法计算量大,但不连续性较少。
局部二次回归(黄土) 使用二次回归。这种方法比局部线性回归的计算成本稍高。
健壮的洛斯 使用稳健线性回归。这种方法是一种计算更昂贵的局部线性回归版本,但它对异常值更稳健。
健壮的黄土 使用稳健二次回归。这种方法是一种计算成本更高的局部二次回归方法,但它对离群值更稳健。
Savitzky-Golay多项式滤波器 使用Savitzky-Golay多项式滤波器,它根据指定的多项式度进行平滑,并在每个窗口上进行拟合。当数据变化迅速时,这种方法比其他方法更有效。

选择其中一个参数值和其他参数选项来指定数据平滑的选项:

参数 参数选项 描述
平滑系数 平滑系数 指定平滑量(正标量)。
移动窗口 移动窗口类型 将移动窗口围绕当前元素居中或不对称对齐。
窗口长度 指定移动窗口的长度(正标量)。
右半窗长(如果移动窗口类型为不对称 指定当前元素之后的窗口单元数,以定义窗口对齐(正标量)。
单位 指定移动窗口单元类型。
调整时间的时间表

选择其中一个方法值和其他方法参数来指定重计时的行次数的选择方法:

方法 方法参数 描述
时间步长 时间步长 指定输出表中连续规则间隔的行时间之间的时间长度(正标量)。
时间步长单位 指定时间步长单位。
采样率 采样率 指定输出表中每单位时间的样本数量(正标量)。
采样率单位 指定采样率单位。

选择以下方法值之一来指定重计时方法:

方法 描述
充满思念 使用缺失的数据指示器(例如,对于数值变量)。
填充常量 使用指定的常量值。缺省值为0。
填充先前的值 从输入时间表中最近的前一个邻居复制数据,从行时间向量的末尾开始。如果有重复的行时间,则使用最后一个重复的行时间。
填充下一个值 从输入时间表中最近的相邻位置复制数据,从行时间向量的开头开始。如果有重复的行时间,则使用重复的第一个。
填充最近的值 从输入时间表中最近的邻居复制数据。
线性插值 使用线性插值。
样条插值 使用分段三次样条插值。
保形立方插值(PCHIP) 使用保持形状的分段三次插值。
改进的Akima立方插值 使用改进的Akima立方Hermite插值。
总和 使用每个时间箱中的值的和。
的意思是 使用每个时间箱中值的平均值。
产品 使用每个时间箱中的值的乘积。
最低 使用每个时间箱中的最小值。
最大 使用每个时间仓中的最大值。
值的数量 使用每个时间bin中的值的数量。
bin中的第一个值 使用每个时间箱中的第一个值。
bin中的最后一个值 使用每个时间bin中的最后一个值。
自定义 使用函数句柄指定的函数。
堆栈表变量

选择一个或多个要组合的表变量。

解栈表变量

选择一个包含新表变量名的表变量。

选择一个表变量,将其解堆栈为多个表变量。

选择一个或多个表变量来定义行组。

选择以下值之一来指定将数据值聚合为单个值的函数:

函数 描述
总和 使用每组值的和。
的意思是 使用每组值的平均值。
中位数 使用每组值的中位数。
模式 使用每组值的模式。
最大 使用每组值中的最大值。
最低 使用每组值中的最小值。
第一个 使用每组值的第一个值。
独特的 在每组值中使用唯一值的数量。
在每组值中使用值的数量。
自定义 使用函数句柄指定的函数。

提示

  • 若要按数据变量进行交互排序,请单击箭头访问排序选项的变量头中数据选项卡。的步骤中显示排序清洗步骤面板。

  • 控件中的变量名,双击该变量名,即可从数据中交互式地重命名变量变量面板。中的步骤显示重命名清洗步骤面板。

  • 控件中的变量名,单击鼠标右键,即可从数据中交互式地删除变量变量面板并选择删除.的步骤中出现了删除清洗步骤面板。

  • 若要更改先前执行的清理步骤,请执行以下操作之一:

    • 属性中的步骤,查看或编辑清理参数清洗步骤面板。

    • 控件中的新位置上拖动步骤,以更改执行清理步骤的顺序清洗步骤面板。

    • 通过清除清除步骤或右键单击步骤并选择禁用清除步骤禁用以下步骤清洗步骤面板。

  • 中图形图例中的元素,选择或清除,即可仅查看输入数据或已清理的数据可视化选项卡。

版本历史

R2022a中引入

全部展开

Baidu
map