如何在纵向数据中找到分组(轨迹)?


11

语境

我想先设定一下场景,然后再扩展问题。

我有纵向数据,大约每3个月对受试者进行一次测量,主要结果是数值(从连续到1dp),范围是5到14,(所有数据点的)大部分在7到10之间。意大利面条图(x轴上有年龄,每个人都有一条线),因为我有超过1500名受试者,这显然是一团糟,但是随着年龄的增长,向更高的价值迈进了明显的步伐(这是众所周知的)。

更广泛的问题是:我们想做的是首先能够确定趋势组(开始时高并保持高位,开始时低并保持低位,开始时低并增加到高位等),然后我们可以查看与“趋势组”成员资格相关的个人因素。

我在这里的问题专门针对第一部分,即按趋势分组。

  • 我们如何对单个纵向轨迹进行分组?
  • 哪种软件适合执行此操作?

我正在研究一位同事建议的SAS和M-Plus中的Proc Traj,但我想知道其他人对此有何想法。


1
这只是一个起点,但也许可以查看该问题的一些答案:stats.stackexchange.com/questions/2777/…–
Jeromy Anglim

谢谢Jeromy,kml选项很有趣,我喜欢R中的想法,但是由于对象的访问年龄不同,而不是“访问1”,因此我不确定我可以在数据中使用他们的框架。访问2'等,有些访问10次,而其他访问50 + ...
nzcoops 2011年

检查kml 软件包 -似乎提供了您需要的功能。JoSS中的论文对此进行了详细描述。也kml3dkmlShape可能是有趣的。
radek

Answers:


11

我用Mfuzz[R进行聚类时程微阵列数据集。Mfuzz使用“软集群”。基本上,个人可以出现在多个组中。

正如@Andy在评论中指出的那样,原始论文使用的是CTN数据。但是,我怀疑对于离散数据它应该可以正常工作。特别是因为您只是在探索数据集。这是R中的一个简单示例:

##It's a bioconductor package
library(Mfuzz)
library(Biobase)

## Simulate some data
## 6 time points and 90 individuals
tps = 6;cases = 90
d = rpois(tps*cases, 1)  ##Poisson distribution with mean 1
m = matrix(d, ncol=tps, nrow=cases)

##First 30 individuals have increasing trends
m[1:30,] = t(apply(m[1:30,], 1, cumsum))

##Next 30 have decreasing trends
##A bit hacky, sorry
m[31:60,] = t(apply(t(apply(m[31:60,], 1, cumsum)), 1, rev))

##Last 30 individuals have random numbers from a Po(1)

##Create an expressionSet object
tmp_expr = new('ExpressionSet', exprs=m)

##Specify c=3 clusters
cl = mfuzz(tmp_expr, c=3, m=1.25)
mfuzz.plot(tmp_expr,cl=cl, mfrow=c(2, 2))

给出以下图:

Mfuzz丛集


感谢您的参考,我之前从未遇到过。这种聚类算法是否适合OP提到的低计数分布式数据(或二分数据)?参考文献(Futschik&Carlisle 2005)使用的数据已转换为连续数据。
安迪W

@安迪:好点。我提供了一个快速模拟。一切似乎都还可以,但是可能会有一个更好的解决方案。
csgillespie 2011年

谢谢@csgillespie,请尝试一下。顺便说一句,我的数据是连续的,不是离散的,不确定问题是否还不够清楚,还是您的答案有误?必须回滚我的R才能安装Mfuzz,让乐趣开始。
nzcoops

@csgillespie-这很酷。我现在正在处理一些真实数据。您是否偶然知道是否有一种方法可以估计组数?
2012年

4

我希望有一个MPLUS软件包可以满足您的需求。Psychometrika中有一篇论文几乎与此主题相关

springerlink.com/content/25r110007g417187

除了数据是二进制且轨迹是概率轨迹外。作者使用潜在类分析(通过使用惩罚有限混合模型来实现)对轨迹进行分组。我还知道第一作者大约在10年前就与Bengt Muthen(MPLUS的创建者)撰写了其他论文,内容涉及相似环境(带有轨迹)中的潜在类分析。例如,

http://onlinelibrary.wiley.com/doi/10.1111/j.0006-341X.1999.00463.x/abstract

听起来与您在说的非常相似,除了结果是二进制的。连续的情况要简单得多,因此我将进行向后文献搜索(即查看这些论文参考的论文),以找到与您更精确地描述的内容匹配的内容。

要了解更多信息,您可以直接问MPLUS的所有者您需要使用什么软件包来完成所需的工作。他们通常很快就会做出回应,并且非常有帮助:

http://www.statmodel.com/cgi-bin/discus/discus.cgi

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.