关于绘制时间序列数据的正确方法的问题

Posted

技术标签:

【中文标题】关于绘制时间序列数据的正确方法的问题【英文标题】:A question about the correct way to plot a time series data 【发布时间】:2021-03-15 10:51:59 【问题描述】:

数据说明

我有 3 个数据集存储在数据框中并称为:df1, df2 and df3。每个数据集同时测量不同的东西,但使用相同的变量:V1, ..., V7

对于这项工作,我可以说每个数据集都代表一个多元时间序列,因为所有变量多次测量每个数据集的相同事物:1, ...,.6,... n。此外,我们可以假设所有数据集代表 3 个多元时间序列,因为存在三个数据帧。

数据的形状:

head(df1)
   Time   V1   V2         V3         V4          V5         V6         V7
X1 10:00  0 0.1182197 0.09057301 0.08089888 0.003350084 0.00000000 0.00000000
X2 10:01  0 0.1276078 0.09242144 0.01348315 0.060301508 0.02245599 0.02298152
X3 10:02  0 0.1369958 0.12569316 0.03595506 0.159128978 0.04491198 0.04596305
X4 10:03  0 0.1029207 0.10166359 0.08089888 0.201005025 0.06736798 0.06894457
X5 10:04  0 0.1585535 0.14510166 0.08089888 0.112227806 0.08982397 0.09192609
X6 10:05  0 0.1488178 0.00000000 0.07415730 0.212730318 0.11227996 0.11490761
                                .
                                .
                                .


#df2 and df3 have the same shpae, time and dimensions exactly as df1 but with different values.

我有两个问题:

1.仅绘制df1的数据时,更正确地表示这个时间序列:

1.1 将整个数据框视为一个时间序列,这样做

library(mvtsplot) 
mvtsplot(df1)

1.2或将每一行视为一个时间序列并绘制n时间序列

#considering that there are 10 rows in df1
ts.plot(X1,..,X10)

2.我可以在同一个图中绘制三个多元时间序列,以便有一个包含 3 个多元时间序列的图形。

编辑: 根据rajah9 的评论,df1 的数据代表7 sensors (variables V1, ..., V7 ) 每分钟测量的一定量的气体。另外两个df2, df3 代表在不同的实验中使用相同的传感器同时测量的另一种气体类型。每个数据框似乎都是一个多元时间序列,我没有因变量。我的想法对吗?

任何类似问题的答案或链接将不胜感激。

【问题讨论】:

如果这是一个时间序列,哪个向量有时间?它们看起来都像 y 因变量,您还需要独立的时间变量。 感谢发布时间序列。这有帮助吗? ***.com/questions/59195398/… 或者***.com/questions/64580526/… @rajah9 非常感谢您提供的链接。您的链接中的问题似乎要求在同一图中绘制许多单变量时间序列。我的问题不同。我想知道绘制多元时间序列的正确方法是什么。那么,如何在同一个图中绘制多个多元时间序列?此外,您为什么不认为使用mvtsplot() 对您附加链接中提出的问题更正确? 【参考方案1】:

第一季度

对于 Q1.1 来说,mvtsplot 似乎是可行的方法,因为它是为多变量时间序列设计的。

你可以看到mvtsplot documentation。

第二季度

假设这三个图具有接近相同的数据,您可以在 Q2 将它们全部绘制在同一个图上,但我认为这将很难区分。

一张图上的三个数据框是否讲述了不同的故事?或者读者的眼睛会自然而然地被 df3 中的异常所吸引?

先尝试分别绘制 df1、df2 和 df3。

【讨论】:

感谢您的宝贵时间和回答。这 3 个数据框彼此之间并没有那么接近,因为它们测量的是不同的读数,尽管测量是同时进行的,所以在同一个图中显示 3 条曲线会很棒。不幸的是,我尝试的所有方法都旨在在同一个图中绘制许多单变量(非多变量)ts。事实上,我不知道如何校准 mvtsplot() 以在同一个图中添加三个 mv ts!请问您有什么建议吗?

以上是关于关于绘制时间序列数据的正确方法的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用pyqt5逐步绘制的正确方法

将索引转换为日期时间对象后,MatplotLib 无法正确绘制熊猫时间序列 1 分钟数据

使用着色器绘制 3D 对象的正确方法是啥?

将“NSView”绘制到自定义视图 - 如何?我采取了正确的方法吗?

在 Matlab 中具有正确图例的类似 Excel 的平滑绘图

如何在 ggplot2 中正确绘制投影网格数据?