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

分类序列数据层次聚类:不等长序列对齐及分析方法问询

不等长分类行为序列的层次聚类及预测分析方案

针对你拥有的30个不等长分类行为序列,以下是完整的R实现方案,解决序列对齐、层次聚类及连续变量预测的问题:

1. 补充数据准备(生成连续变量x)

首先给模拟数据添加连续变量x,用于后续预测分析:

set.seed(123) # 固定随机种子保证结果可复现
x <- rnorm(n = num_sequences, mean = 50, sd = 10)

2. 计算不等长序列的距离矩阵

不等长分类序列无需手动对齐,TraMineR提供的最优匹配(Optimal Matching, OM)距离天然支持这类场景——它通过插入、删除、替换三种操作实现序列对齐,是针对分类序列设计的标准距离计算方法:

# 计算OM距离矩阵,设置插入/删除成本为1,替换成本为等权重(相同状态成本0,不同为1)
seq_dist <- seqdist(sequences, method = "OM", indel = 1, sm = "CONSTANT")

如果你想尝试DTW(动态时间规整)处理分类数据,也可以通过自定义状态距离矩阵实现,用dtw包:

library(dtw)
# 定义分类状态的距离矩阵:相同状态距离0,不同状态距离1
alphabet <- c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K")
dist_matrix <- outer(alphabet, alphabet, function(a, b) as.integer(a != b))

# 计算所有序列对的DTW距离
dtw_dist <- matrix(NA, nrow = num_sequences, ncol = num_sequences)
for(i in 1:num_sequences){
  for(j in i:num_sequences){
    # 去除序列中的NA(即截断到实际长度)
    seq_i <- na.omit(as.character(sequence_data[i,]))
    seq_j <- na.omit(as.character(sequence_data[j,]))
    # 计算DTW距离
    dtw_result <- dtw(seq_i, seq_j, dist.mat = dist_matrix, step.pattern = symmetric2)
    dtw_dist[i,j] <- dtw_result$distance
    dtw_dist[j,i] <- dtw_dist[i,j]
  }
}

3. 层次聚类分析

基于计算好的距离矩阵执行层次聚类,这里选用常用的ward.D2方法(最小方差法):

# 层次聚类
hclust_result <- hclust(as.dist(seq_dist), method = "ward.D2")

# 可视化树状图
plot(hclust_result, labels = FALSE, main = "行为序列层次聚类树状图")

# 提取聚类标签(示例分成3类)
num_clusters <- 3
cluster_labels <- cutree(hclust_result, k = num_clusters)

4. 探究连续变量x对聚类的预测能力

通过方差分析(ANOVA)检验不同聚类的x均值是否存在显著差异,结合箱线图可视化分布:

# 合并聚类标签与x变量
cluster_data <- data.frame(cluster = factor(cluster_labels), x = x)

# ANOVA检验
anova_result <- aov(x ~ cluster, data = cluster_data)
summary(anova_result)

# 箱线图可视化
boxplot(x ~ cluster, data = cluster_data,
        main = "连续变量x在各聚类中的分布",
        xlab = "聚类类别", ylab = "变量x")

如果ANOVA结果显著,说明x对序列聚类有预测能力;也可以进一步使用多分类逻辑回归(nnet包的multinom函数)量化预测效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 05:35:11