我正在尝试在R中拟合离散时间模型,但不确定如何执行。
我读过您可以将因变量组织在不同的行中,每个时间观察行一个,并将该glm
函数与logit或cloglog链接一起使用。从这个意义上讲,我有三列:ID
,Event
(在每个时间范围内为1或0)和Time Elapsed
(自观察开始以来)以及其他协变量。
如何编写适合模型的代码?哪个因变量?我想我可以将其Event
用作因变量,并将其包括Time Elapsed
在协变量中。但是,会发生什么ID
呢?我需要吗?
谢谢。
我正在尝试在R中拟合离散时间模型,但不确定如何执行。
我读过您可以将因变量组织在不同的行中,每个时间观察行一个,并将该glm
函数与logit或cloglog链接一起使用。从这个意义上讲,我有三列:ID
,Event
(在每个时间范围内为1或0)和Time Elapsed
(自观察开始以来)以及其他协变量。
如何编写适合模型的代码?哪个因变量?我想我可以将其Event
用作因变量,并将其包括Time Elapsed
在协变量中。但是,会发生什么ID
呢?我需要吗?
谢谢。
Answers:
您基本上对数据组织是正确的。如果您的案件组织如下:
ID M1 M2 M3 EVENT
您可能需要重新组织数据,使其看起来像这样:
ID TIME EVENT
1 1 0
1 2 1
1 3 1
2 1 0
2 2 0
. . .
. . .
我称此为从宽格式到长格式的转换。使用该reshape()
功能可以轻松地在R中完成,甚至可以通过reshape2
包装轻松完成。
我个人将保留该ID
领域在确定混合效应模型中变异来源方面的潜在用途。但这不是必需的(如@BerndWeiss所指出)。以下假设您要这样做。如果不是,则使用glm(...,family=binomial)
没有随机效应项的相似模型。
lme4
R中的软件包将适合与您所讨论的模型类似的混合效应逻辑回归模型,只是具有一或两个随机效应以说明各个主题之间的系数差异(ID
)。如果您的数据存储在名为的数据框中,则以下示例代码将用于拟合示例模型df
。
require(lme4)
ans <- glmer(EVENT ~ TIME + (1+TIME|ID), data=df, family=binomial)
此特定模型允许TIME
和intercept
系数在ID中随机变化。换句话说,这是嵌套在个人中的分层线性混合测量模型。
一的另一种形式的离散时间事件历史模型断裂TIME
成离散的假人和配合各自作为一个参数。这本质上是Cox PH模型的离散情况,因为危险曲线不限于线性(或二次,或者您可以想象转换时间)。虽然,TIME
如果有很多离散时间段,您可能希望将它们分组为一组可管理的(即较小的)时间段。
其他替代方案包括转换时间以使危险曲线正确。先前的方法基本上可以减轻您的麻烦,但是先前的方法(为此,以及我提出的原始线性情况)没有那么简单,因为您可能有很多时间点,因此有很多麻烦的参数。
关于此主题的出色参考是Judith Singer和John Willet的《应用纵向数据分析:建模变化和事件发生》。
歌手和威利特在这个问题上已经发表了很多文章。我强烈建议您阅读他们的一些论文。您可能还希望获得他们的书“应用的纵向数据分析:建模更改和事件发生”。显然,这是该领域最好的教科书之一。
对于大多数书籍章节,都有可用的R示例代码(请参阅第11ff章),演示了如何构造数据(“个人期间格式”)以及如何分析此类数据。对于标准的离散时间模型,您不需要ID变量,也不需要估计@ndoogan建议的混合效果模型。一个简单的glm(event ~ time + ..., family = "binomial")
作品就好。Singer和Willett还讨论了如何为时间变量建模的许多问题(线性,二次方...)
要再举两个我强烈推荐的参考:
您可以将时间分成多个间隔,并像Shumway(2001)一样执行多周期logit模型。例如,您的时间间隔是。我已经dynamichazard::static_glm
在R中实现了这一点,如果您在生存分析中使用的典型停止事件设置中具有初始数据,则可以直接使用R。请注意,所得模型的t统计量没有Shumway(2001)中提到的修正。
此方法不同于带有时间虚拟变量的@ndoogan,因为在所有时间段内,您只会获得一个公共截距dynamichazard::static_glm
。但是,您可以通过dynamichazard::get_survival_case_weights_and_data
使用参数进行调用来获得每个周期的虚拟对象use_weights = FALSE
,将自己的时间虚拟指标添加到返回的对象中data.frame
,然后调用eg glm
。
dynamichazard
。
self-study
标签。)