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: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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