首页 > 解决方案 > TraMineR 是否适合具有不同序列长度的数据?

问题描述

我的数据有学习期间每个学生的页面访问行为的顺序。例如(下)学生 1 阅读说明,访问了三个页面(“访问-访问-访问”),并重新访问了其中一页(“重访”)。学生 2 阅读说明并访问了两页,没有重新访问。

学生1:说明-访问-访问-访问-重访

学生2:指导-参观-参观

学生 3:说明-访问-访问-访问-访问-访问-访问-访问-访问-访问-访问-访问

我的问题是 TraMineR 包适用于这种类型的数据,其中不同的个体具有不同的序列长度(学生 1 有 5,学生 2 有 3,等等)。TraMineR 小插图 ( https://cran.r-project.org/web/packages/TraMineR/vignettes/TraMineR-state-sequence.pdf ) 中讨论的示例数据“mvad”具有在特定时间段内捕获的状态信息 ( Jul.93 到 Jun.99),这意味着所有个体的序列长度数相同。鉴于这种差异,我不确定是否可以使用 TraMineR 来分析我的日期。

我在我的数据上尝试了几个 TraMineR 函数(seqdef、seqfplot 等)。到目前为止,这些结果对我来说是有意义的,但我想在进一步做更多事情(聚类分析等)之前先确定一下。如果有人有使用 TraMineR 处理此类数据的经验,我将不胜感激。如果 TraMineR 不适合这个,有什么替代方法的建议吗?我的目标是识别和可视化数据中的主要行为模式,可能使用聚类分析。提前致谢!

标签: traminersequence-analysis

解决方案


是的,您可以使用 traMineR 分析具有不同序列长度的数据,因为 traMineR 是序列分析工具的集合。

当你有不等长的序列时,重要的是你使用的是什么距离算法。我认为是默认值和常用标准的最佳匹配 (OM) 接受长度不等的序列,因为它使用 indel(插入/删除)操作来“使”序列具有相同的长度。然而,其他类型的距离算法,例如汉明距离(HAM 或 DHD)不允许长度不等的序列。当时序很重要时,通常会使用这些算法,并且通过插入状态使序列长度相等,时序方面会出现偏差。

所以简短的回答是肯定的,但请务必阅读您使用的距离算法类型,以便了解您正在测量的是什么,以及它将以何种方式影响您的解释。


推荐阅读