Предметные оценки SAS GLIMMIX

Я пытаюсь проанализировать набор данных, в котором каждый предмет имеет 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)

Мы будем очень благодарны за любую помощь по повышению точности и эффективности этой модели!

Спасибо!


person aisley    schedule 07.07.2015    source источник


Ответы (1)


Может быть, положительный наклон - это реальная особенность данных? Что вы увидите, если построите график зависимости 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 et al. иметь интуитивно понятное изложение этой темы (см. стр. 14 здесь, http://tinyurl.com/ns99ojh).

person user20489    schedule 08.07.2015