Neha Goel,Mathworks
在本视频中,我们演示了如何在MATLAB中处理和清理存储在Excel表中的多种格式和多种采样率的时间序列数据®.我们从使用导入工具从Excel表格导入数据开始。接下来,我们将重点讨论如何准备将数据转换为时间表数据类型。
然后,我们探索预处理功能,该时间表包括将数据集与共同时间参考,评估数据质量以及处理重复和缺少数据的时间表。最后,我们向堆叠的变量与行时间显示堆叠曲线。
在数据科学中,人们常说80%的时间花在准备数据上,20%的时间花在抱怨准备数据的必要性上。所以,让我们用MATLAB中的几行代码,用更少的时间准备和预处理时间序列数据来尝试解决这个问题。
对于本例,我们将使用来自相量测量单位(PMUs)的数据
所以是的,我们有需要对齐和清理的数据进行进一步分析。
我们的数据在三个Excel电子表格中,分别对应三个时区,我们将使用导入工具导入数据。如果我们在MATLAB中打开电子表格,默认情况下,它会在导入工具中打开。单击导入数据。然后将数据作为表存储在工作区中。
为了处理时间序列数据和处理特定时间的函数,MATLAB有一个数据类型时间表
这使得处理过程更容易。要把表格转换成时间表,我们的时间就应该在里面约会时间
格式。
所以现在我们将从每个表中提取时间列并将其转换为使用的日期时间约会时间
函数。在同一行代码中,我们正在处理我们数据集的第一个挑战;数据是三个不同的时区,具有不同的偏移。因此,在同一步骤中,我们通过向时区作为选项来对齐时区:澳大利亚/悉尼为东部日光时间,澳大利亚/阿德莱德中央日光时间和澳大利亚/布里斯班的东部标准时间。
让我们用每个PMU的时间来绘制我们的频率测量,以直观地确认时间对齐。我们看到频率重叠。因此,我们的时间校准是正确的。
一旦我们的时间列是datetime格式并对齐,我们就可以使用函数将所有三个表转换为时间表table2timetable
.我们现在拥有三个表格的时间表。
接下来,我们继续清理数据。正如我们可以在这个链接的MATLAB文档中看到的,我们可以处理和清洁时间表使用各种工作流程,如寻找和删除缺失的数据,排序和删除重复,等。
在这里,我们展示了使用重复时间的一种方式。首先,使用唯一的功能,我们创建了向量UniqueTime
返回时间变量的唯一和排序行。此矢量不包含重复的行时间。只需验证,我们在这里检查我们有七个重复的行rimes。处理我们使用的ret
函数来计算具有重复行时间的所有其他变量的均值。因此,现在我们有一个新的表uniquedataAcdt,没有重复的行时间。我们为其他两个表做了类似的过程。我们现在将使用三个新表。
缺失的数据可以以不同的方式处理。对于一个时间表,我们可以使用次rmi
函数并删除所有缺少数据的行。正如我们在这里为UniquedataACDT表所做的那样。
另一种方法是在连接表时使用插值。
类将这三个表合并为一个时间表同步
函数。Synchronize从所有输入时间表中收集变量,并输出一个水平连接所有变量的时间表。
在这里我们指定联盟
在包含所有三个时间表的时间矢量上进行同步。和线性
填写具有线性插值的缺失的时间表元素。
因此,现在我们的总表格包括所有三个清洁时间表。
一旦我们全部清理了我们的数据,我们就可以通过绘制数据来完成一些可视化分析。
在这里,我们展示了一个例子stackedplot
函数。stackedplot.
绘制时间表的时间表对行时间。我们将电压幅度VM6,VM1和VM11绘制了总组合表的行时间。
请查看描述以查看数据预处理的更多资源,并下载代码以使用数据集尝试。
谢谢你!
您还可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。