BookmarkSubscribeRSS Feed
jdserbon
Calcite | Level 5

I need to reproduce the identical parameter estimates with a clustered or robust standard errors.  I have not been able to reproduce the results.  The first model is the model I am trying to reproduce by utilizing other PROCS in order to calculate the clustered variance.  Any recommendations out there?!?


Model need to reproduce with clustered or robust standard errors
proc logistic data = regdatas;
  title 'Measure 5';
  class quarter /param = ref ref = first;
  model meas_5_num (event = '1')=  treated female nonwhite age_at_discharge quarter score_community;
  strata prov_name;
  where (prov_ace_crd = 1 or prov_tru_crd = 1) & quarter ne '' & prov_name ne '' & meas_5_denom = 1 &
  Procedure_group in ('CARDIAC DEFIBRILLATOR IMPLANT','CARDIAC PACEMAKER IMPLANT OR REVISION','CARDIAC VALVE AND OTHER MAJOR CARDIOTHORACIC',
  'CORONARY ARTERY BYPASS GRAFT','PERCUTANEOUS CORONARY INTERVENTION');
  by procedure_group;
run;

I have tried -

proc mixed data = regdatas method=REML empirical;
  title 'Measure 5';
  class quarter prov_name;
  model meas_5_num =  treated female nonwhite age_at_discharge quarter score_community / solution influence;
  random int / sub=prov_name g gcorr;
  where (prov_ace_crd = 1 or prov_tru_crd = 1) & quarter ne '' & prov_name ne '' & meas_5_denom = 1 &
  Procedure_group in ('CARDIAC DEFIBRILLATOR IMPLANT','CARDIAC PACEMAKER IMPLANT OR REVISION','CARDIAC VALVE AND OTHER MAJOR CARDIOTHORACIC',
  'CORONARY ARTERY BYPASS GRAFT','PERCUTANEOUS CORONARY INTERVENTION');
  by procedure_group;
run;


proc genmod data = x descending;
  class quarter (param=ref ref=first) prov_name;
  model meas_5_num = treated female nonwhite age_at_discharge quarter score_community / dist=binomial link=logit noint;
  repeated subject=prov_name / type=cs corrw;
  by procedure_group;
run;

proc glimmix data = x empirical=classical;
  class quarter prov_name;
  model meas_5_num = treated female nonwhite age_at_discharge quarter score_community / dist=binomial solution;
  random intercept / subject=prov_name;
  by procedure_group;
run;

proc surveylogistic data = x;
  title 'Measure 5';
  class quarter / param=ref ref=first;
  model meas_5_num (event='1') = treated female nonwhite age_at_discharge quarter score_community / noint;
  strata prov_name;
  by procedure_group;
  cluster prov_name;
run;

1 REPLY 1
SteveDenham
Jade | Level 19

I'll be curious about the answers you receive here.  My inclination is that the latter two procs will be the most likely to yield what you are looking for.  However, be aware that the estimates for glimmix are conditional, rather than marginal, so they may not match.  A good read on this would be Stroup (2013) Generalized Linear Mixed Models, Ch. 3.5.

Steve Denham

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 767 views
  • 0 likes
  • 2 in conversation