我正在使用PROC GLIMMIX,我很好奇为什么我的参数估计表现得很奇怪。
proc glimmix data=blah pconv=1e-3;
class strata1;
model event(event=LAST)=time1--time20/
noint solution link=logit dist=binary;
nloptions tech=nrridg;
covtest 'var(strata1)=0'/WALD;
random intercept/subject=strata1;
run;
由于我使用的是逻辑离散时间危险模型(没有任何删失的观察结果),我的数据集是使用' person-period'数据集。以下是人员周期数据集的示例:
id time1 time2 time3 time4 event
100 1 0 0 0 0
100 0 1 0 0 0
100 0 0 1 0 1
101 1 0 0 0 1
102 1 0 0 0 0
102 0 1 0 0 0
102 0 0 1 0 0
102 0 0 0 1 0
基本上,每个时间'变量表示此期间是否发生。因此,第一个时期的time1 = 1,否则为0。然后在第一个时间段内time2 = 1,否则为0,依此类推。我正在模拟在每个期间发生事件的概率。当我使用PROC LOGISITIC时,我得到合理的参数估计值。
proc logistic data=blah;
model event (event=LAST)=time1--time20 /noint;
run;
此代码提供time1 = -3.0052的参数估计值,这给出了事件发生在.047的时间段1中的概率。对于每次[i]变量,这些估计值会逐渐变小,这正是我所期望的。但是,当我运行我的GLIMMIX代码并为strata1添加这个随机效果时,它会炸毁我的模型 - 参数估计时间翻转它们的符号。 time1 = 2.84,time2 = 2.67,time3 = 2.41,并且它们一直变小。我真的很困惑为什么 - 这个模型告诉我这个时期发生事件的可能性超过90%,我知道这是不真实的。有谁知道为什么会这样?我希望这些估计基本上可以翻转它们的负号。
感谢。