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