BookmarkSubscribeRSS Feed
Quartz | Level 8

Hi All,


Here I have a question about variable selesction in SAS. Say I have the following data set:


age gender  height    weight    death

89        0           .          110         1

70        1          58            .          0

50        1         173        130        1;


And I want to fit a logistic regression with backwards variable selection, so I coded like this:


proc logistic data=have descending;

class gender;

model death = age gender height weight /selection=backward fast ;



But since the data has missing value, only the last obs will be used to do this model selection (i.e program will delete entries that has missing values based on full model).


But, I want the program to include more obs when it evaluate model with: age gender height, i.e. use obs 2 and 3. Is there a command to make this haapened in SAS ?? 


Thank you very much!





In classical linear models, the regression needs to form the so-called SSCP matrix X`*X.  To form this matrix product require removing observations that have missing values.


See a previous discussion about this topic for other options, including multiple imputation with PROC MI.


If you are committed to PROC LOGISTIC, multiple imputation is a good solution. For survey data, SAS provides PROC SURVEYLOGISIC. If you can express your model as a mixed model, PROC GLIMMIX handles missing data differently.


There is extensive literature in this area. I particulalry like the research and suggestions by Paul Allison, and recommend that you do an internet search for

logistic regression "missing data"

Quartz | Level 8
Hi Rick,
Thank you for your solution!
Yes, imputation is a way to address missing values. But I'm not looking for imputation. I just want to use the information I collected, for this is patient information I'm dealing with.

I want SAS to add more observations, ( i.e. increase the dim of X) when less covariates are considered. Do you have a suggestion for this?

Thanks again!!!

Best wishes.

I don't understand what you mean by "add more observations." SAS (and all statistical software) analyzes the data you have. Can you provide an example? For the data you've presented, what would you like to happen if only two or three covariates are being analyzed?

Quartz | Level 8
Dear Rick,
I have around 1,000 obs of 26 variables and one outcome. but only 300 obs are complete. So I will lose a lot information, if I only use the complete observations.
Say for first 100 obs, only variable1 is missing, when I run the model outcome=variable2-26, I want the first 100 obs to be added to the matrix. In this way I feel like I can make more use of the information collected.
Is this make sense? If it does, can I use SAS to realize this?
Thank you!!
Best wishes.

I am not aware of any variable selection technique for logistic regression in which different observations are used for different sets of candidate variables.


There are other predictive models that are more tolerant of missing values.  You might look at PROC HPSPLIT, which uses tree-based models for building regression models.

Quartz | Level 8
Dear Rick,

Thank you very much! I will look into it.

Have a nice day~

Best wishes.

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
  • 6 replies
  • 2 in conversation