关于绘制时间序列数据的正确方法的问题
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!请问您有什么建议吗?以上是关于关于绘制时间序列数据的正确方法的问题的主要内容,如果未能解决你的问题,请参考以下文章
将索引转换为日期时间对象后,MatplotLib 无法正确绘制熊猫时间序列 1 分钟数据
将“NSView”绘制到自定义视图 - 如何?我采取了正确的方法吗?