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

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 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
  • 498 views
  • 0 likes
  • 2 in conversation