BookmarkSubscribeRSS Feed
laura114
Calcite | Level 5

Hello,

I have a dataset of ~25000 patients from ~1300 hospitals.  I would like to calculate the odds of receiving one of two treatments, then obtain the probability of treatment for each patient (for propensity score adjustment).  20 patients were selected from each hospital, with treatment=1 oversampled, so the data has been weighted (weight variable='selweight').

 

I would like to control for correlations between patients at the same hospitals , and let the correlations vary by hospital.  I have tried proc glimmix, with treatment='x', hospital code='oldfaccode' and patient id='puf_id', and a number of covariates, with an exchangeable correlation matrix:

 

proc glimmix data=raw_data;
class

oldfaccode puf_id dxyr (ref='2008') facility_type_cd (ref='2') facloc(ref='Northeast')  RACEcat (ref='White') hispanic (ref='0')
MED_INC_QUAR_12 (ref='1') NO_HSD_QUAR_12 (ref='1') metro13 (ref='0') insured (ref='1') charlson(ref='1')
er1 (ref='Negative/normal, within normal limits') pr1 (ref='Negative/normal, within normal limits') grade1 (ref="Grade I")
comedonecrosis1(ref='1) Present') detect_dcis1 (ref='1) Mammogram')


MODEL x= age dxyr facility_type_cd facloc RACEcat hispanic MED_INC_QUAR_12 NO_HSD_QUAR_12 charlson
metro13 insured er1 pr1 grade1 detect_dcis1 comedonecrosis1 /solution ;
subject=puf_id(oldfaccode) type=cs ;
random intercept/subject=oldfaccode type=cs; 
weight selweight;
run;

 

In order to let the correlations vary between hospitals, I am using the statement

 

random intercept/subject=puf_id(oldfaccode) type=cs

 

Is this correct?  I'm not even sure if I am using the terminology correctly. 

 

Additionally, how do I output the predicted probabilities?

 

Thank you so much for any help!

 

1 REPLY 1
PaigeMiller
Diamond | Level 26

I have never heard of the concept of "controlling for correlations ". What does it mean? Is this something commonly done with this type of model? 

--
Paige Miller

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

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