我正在尝试分析每个主题有12个重复测量的数据集(每季度超过3年)。我想提取时间斜率的主题特定估计值,以评估受试者是否随时间发生显着变化。
我目前的代码一直表明,每个主题都会随着时间的推移呈现出非常显着的增长。这似乎不太可能,但我不确定如何调整我的语法来运行更准确的模型。有谁知道这个模型如何/为什么会找到所有情况下显着时间的斜率系数?
该研究的简要描述:我们正在创建一个趋势报告,该报告应标记程序代码(主题),这些程序代码在分析的时间段内显示的计费次数显着增加(3年,按季度)。结果变量被视为计数(以0为界,但不一定是整数)。
%macro Zeroes(numzeroes);
%local i;
%do i = 1 %to %eval(&numzeroes-1);
0
%end;
1;
%mend;
%macro EstimateStatement(numsubjects=);
%local i;
proc glimmix data=procdata11;
class code;
model billing_count=period_count / dist=NB link=log
solution ddfm=betwithin;
random intercept period_count / sub=code type=AR(1);
random _residual_;
%do i = 1 %to &numsubjects;
estimate "Slope for Code &i" period_count 1 | period_count 1 / subject %Zeroes(&i);
%end;
ods output estimates=sscoeff;
run;
%mend;
%EstimateStatement(numsubjects=&num_codes)
非常感谢任何有助于使此模型更加准确和高效的帮助!
谢谢!
答案 0 :(得分:0)
也许正斜率是数据的实际特征?如果您为每个代码绘制billing_count与period_count的关系,您会看到什么?
关于该计划,我有两个建议。
(1)在
中使用type = AR(1)random intercept period_count / sub=code type=AR(1);
强制截距的方差等于斜率的方差。此约束可能与数据不一致。 AR(1)不是随机系数模型的合理协方差结构。尝试type = UN或type = UN(1)。
(2)掉落
random _residual_;
其包含使得模型过于规范;负二项分布已经有一个比例参数。
要考虑的另一件事是随机系数模型产生收缩估计,使得单个代码的估计缩小到整体解决方案:从随机系数模型获得的斜率估计值将不等于估计值将从每个代码的单独回归中获得。 Kreft等。对此主题有一个非常直观的介绍(参见第14页http://tinyurl.com/ns99ojh)。