1

我正在尝试分析一个数据集,其中每个主题都有 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)

任何有关使该模型更准确和高效的帮助将不胜感激!

谢谢!

4

1 回答 1

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_;

它的包含使模型过度指定;负二项分布已经有一个尺度参数。

要考虑的另一件事是,随机系数模型会产生收缩估计量,因此对单个代码的估计会向整体解决方案收缩:您从随机系数模型获得的斜率估计值将不等于您将从中获得的估计值每个代码的单独回归。克雷夫特等人。对这个主题有一个非常直观的介绍(参见第 14 页 http://tinyurl.com/ns99ojh)。

于 2015-07-08T23:38:45.833 回答