You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DTWCLUST多变量时间序列聚类绘图及质心展示问题咨询

使用DTWCLUST进行多变量时间序列聚类的绘图问题

我正在R语言中使用DTWCLUST包进行多变量时间序列聚类,代码如下:

data("uciCT")

mvc <- tsclust(CharTrajMV, k = 4L, distance = "gak", seed = 390L)
plot(mvc)

CharTrajMV数据集包含100个观测值与3个变量,聚类基于这3个变量完成。但plot(mvc)生成的每个聚类图仅展示一维模式,我想了解该绘图的实现逻辑;另外,执行代码:

plot(mvc, labels = list(nudge_x = -10, nudge_y = 1), type="centroids")

仅显示每个聚类的一个质心,请问能否通过绘图选项展示每个聚类的3个变量的质心图,或正确的实现方式是什么?


绘图实现逻辑说明

DTWCLUST针对tsclust对象的默认plot方法,处理多变量时间序列时,默认会把所有变量的序列叠加绘制在同一图中,并非只展示一维。你看到的“一维模式”,大多是三个变量的序列重叠后视觉上的效果,尤其当变量模式相似时更明显。

该绘图的核心逻辑:

  • 对每个聚类,将类内所有观测的所有变量时间序列绘制在同一坐标轴上
  • 已计算的质心会用更突出的样式(比如加粗、异色)显示在对应聚类的图中

多变量质心的展示方法

默认plot.tsclust方法不支持直接按变量拆分绘制质心,需要手动提取质心数据并自定义绘图,具体步骤如下:

1. 提取质心数据

从聚类对象中取出多变量质心,mvc@centroids存储了每个聚类的质心,每个质心是包含3个变量的时间序列对象:

centroids <- mvc@centroids

2. 自定义绘图展示多变量质心

基础绘图系统实现

# 设置绘图布局:4个聚类×3个变量,共4行3列
par(mfrow = c(4, 3))
# 遍历每个聚类
for (clust in 1:length(centroids)) {
    # 遍历当前聚类的3个变量
    for (var in 1:ncol(centroids[[clust]])) {
        plot(centroids[[clust]][, var], 
             main = paste("聚类", clust, " - 变量", var),
             xlab = "时间步", ylab = "变量值",
             col = "blue", lwd = 2)
    }
}
par(mfrow = c(1,1)) # 恢复默认绘图布局

ggplot2实现(更美观的分面图)

library(ggplot2)
library(tidyr)
library(dplyr)

# 将质心数据整理为长格式
centroid_df <- lapply(seq_along(centroids), function(clust) {
    as.data.frame(centroids[[clust]]) %>%
        mutate(time = row_number(), cluster = clust) %>%
        pivot_longer(cols = -c(time, cluster), names_to = "variable", values_to = "value")
}) %>% bind_rows()

# 绘制分面图
ggplot(centroid_df, aes(x = time, y = value, color = variable)) +
    geom_line(linewidth = 1.2) +
    facet_grid(cluster ~ variable) +
    labs(x = "时间步", y = "变量值", title = "各聚类的多变量质心") +
    theme_bw()

3. 补充:默认绘图区分变量

如果希望在默认绘图中直接区分不同变量,可以指定col参数为与变量数量匹配的颜色向量,让不同变量的序列用不同颜色显示:

plot(mvc, col = rep(c("red", "green", "blue"), each = length(mvc@datalist)))

这里length(mvc@datalist)是观测总数,每个变量对应一种颜色,重复对应次数即可。


内容的提问来源于stack exchange,提问作者goyangiee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:40:52