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