首页 > 解决方案 > 多个人和多层次的变化点分析

问题描述

我的总体目标:

我希望对多个人进行变化点分析,每个人都经过多次测试。然后我希望提取这些变化点(CP),以便我可以轻松地将它们链接到数据框中的各自分组。请注意,最初我只对每个分组的 1 个更改点感兴趣。

我的数据:

我有大量(大约 100 个)个人,每个人都在三个不同的场合进行了测试(我们称之为测试)。在每个测试期间,一个人必须进行大量的试验,直到达到一个标准,从而获得一个分数。但是,如果个人在测试期间成功,他们将在同一测试的后续轮次中再次接受测试。每个回合数从 1 到 10 不等。所以我的数据中有三个分组级别:个人-测试-该测试的次。

背景:

根据一篇论文,我现在希望获得每个级别的个人开始表现更好的变化点。在本文中,他们使用 Matlab 进行计算,计算累积成功次数与起源和成功之间的线性关系最大偏离的点(见图),他们将其称为假定的变化点。

根据论文确定的变化点

使用dplyr,我设法做到了。然而,问题是他们随后以我无法轻易复制的方式继续验证每个 CP。

我很难在 R 中复制这一点,因此决定研究大量的变更点分析包来为我做这件事,因为我认为必须有一种更简单的方法。

我尝试了什么:

最初mcp包看起来最有前途,但运行一个简单的模型作为试验:

    model = list(Cum_Cor ~ 1 + RowNR,   # intercept + slope
1 + (1|RingNumber) ~ 0 + RowNR)  # joined slope, varying by id
fit <- mcp(model, data = test)

对于Individuals == RingNumber, Cum_Cor == 计算变化点和RowNR == Trials的累积成功。但即使这是一个简化的模型,半个小时后,这个模型的进度仍然是 0%。诚然,即使是mcp的创建者也注意到与其他软件包相比它仍然很慢。然而我选择了 mcp,因为它是唯一一个我可以找到使用不同分组级别的文档的包。

我的问题:

我怎样才能最好地确定我的分组中的变化点?是否有替代软件包可以帮助我执行此分析?

标签: r

解决方案


推荐阅读