NEHA戈埃尔,MathWorks公司
在这个视频中,我们将演示如何在MATLAB中以多种格式和多种采样率处理和清理存储在Excel表格中的时间序列数据®。我们从使用导入工具从Excel表格导入数据开始。接下来,我们重点介绍如何准备转换为时间表数据类型的数据。
然后,我们探索可用的时间表,包括数据集同步到公共时间基准,评估数据质量和处理的重复和缺失数据的预处理功能。最后,我们展示了一个具有行时间变量的堆叠情节。
在数据科学中,人们常说80%的时间花在准备数据上,20%的时间花在抱怨准备数据的需要上。因此,让我们尝试通过在更短的时间内用MATLAB中的几行代码准备和预处理时间序列数据来解决这个问题。
对于本例,我们将使用来自相量测量单元(PMUs)的数据
所以,是的,我们有数据,需要校准和清洗任何进一步的分析。
我们的数据在三个Excel电子表格中,三个时区各有一个,我们将使用导入工具导入数据。如果我们在MATLAB中打开电子表格,默认情况下,它会在导入工具中打开。单击import data。然后,数据作为表存储在工作空间中。
为了处理时间序列数据和处理特定时间的函数,MATLAB有一个数据类型时间表
这使得处理过程更容易。把这张表转换成时间表,我们的时间应该到了约会时间
格式。
所以,现在我们将提取每个表的时间列,并将其转换为日期时间使用约会时间
函数。在同一行代码中,我们处理的是我们的数据集的第一个挑战;该数据与不同的偏移三个不同的时区。澳大利亚/悉尼东部夏令时间,澳大利亚/阿德莱德中部夏令时间和澳大利亚/布里斯班东部标准时间:所以,在相同的步骤,我们给予时区作为选项对齐时区。
让我们用来自每个PMU的时间绘制频率测量图,以直观地确认时间对准。正如我们看到的频率重叠。因此,我们的时间校准是正确的。
时间列采用datetime格式并对齐后,我们就可以使用该函数将三个表转换为时间表table2timetable
。现在我们已经在时间表的格式三个表。
接下来,我们继续清理数据。正如我们在这个链接的MATLAB文档中看到的,我们可以使用各种工作流处理和清理时间表,比如查找和删除丢失的数据,排序和删除重复的数据,等等。
在这里,我们表现出重复的工作时间的一种方式。首先,具有独特的功能,我们创建矢量UniqueTime
返回时间变量的独特和排序行。这个载体不包含重复的行倍。只是为了验证我们这里检查我们有七个重复的行RIMES。要处理,我们用重新定时
函数来计算平均值与重复行次所有其他变量。因此,现在我们有一个新的表UniquedataACDT没有重复的行倍。我们做其他两个表的一个类似的过程。现在,我们将与三个新表工作。
缺失的数据可以用不同的方法处理。对于单一的时间表,我们可以使用次rmi
函数并删除所有缺少数据的行。正如我们对UniquedataACDT表所做的那样。
另一种方法是在连接表时使用插值。
我们用时刻表把这三张表合并在一起同步
函数。Synchronize从所有输入时间表中收集变量,并将所有变量水平连接在一起输出一个时间表。
这里我们指定联盟
在包含所有三个时间表时间的时间矢量上进行同步。和线性
填补缺失与线性插值时间表元素。
因此,现在我们有一个总表,包括所有三个清洁时间表。
一旦我们有我们的数据都清理了,我们可以通过绘制数据做一些可视化分析。
在这里我们使用一个例子stackedplot
函数。Stackedplot
对绘制排次的时间表的变量。我们从总的组合表绘制电压幅值VM6,VM1和VM11针对该行的时间。
请看说明书上看到数据预处理更多的资源和下载代码与数据集来试试吧。
谢谢你!
您还可以选择从下面的列表中的网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
本网站使用Cookies来改善您的用户体验,个性化的内容和广告,并分析网站流量。通过继续使用本网站,您同意我们使用Cookie。请参阅我们的隐私政策要了解更多关于cookie和如何更改设置。