Missing values in logistic regression

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 138
Accepted Solution

Missing values in logistic regression

Hello,

I am trying to run a logistic regression and several of my observations were automatically deleted because they had missing values for the explanatory variables. Is there a way to avoid this?

Thanks!


Accepted Solutions
Solution
‎01-24-2013 11:16 AM
New Contributor
Posts: 4

Re: Missing values in logistic regression

To avoid loosing cases when independent variables are missing you can try creating categorical variables and add missing category for that variable.

For example, if you have 200 cases and 20 are missing for a variable with 2 levels A (n=100) and B (n=80), you can create a new variable with levels A (n=100), B (n=20), and Missing (n=20). This way you do not need to impute (prone to bias), and you make full use of your sample. Make sure that you do not set as the reference category the "Missing" level. This way, you also adjust for missingness in that particular variable (missing values might be non-random).

For missing values in the dependent....there's nothing easy to do in my opinion (I once used a sort of propensity score estimating the likelihood of being missing in the dependent variables for each case and then used it as a covariate in my logistic regression).

View solution in original post


All Replies
Grand Advisor
Posts: 17,308

Re: Missing values in logistic regression

What would you expect SAS to do with the missing values?

You could impute them but that has issues of its own.

Frequent Contributor
Posts: 138

Re: Missing values in logistic regression

I'd like SAS to ignore the missing values instead of deleting a participant for having a missing value for a predictive variable.

I've lost about 20% of my participants in the analysis because they  have missing values for some (non-outcome) variable.

Super Contributor
Posts: 543

Re: Missing values in logistic regression

Hi.

You could run

proc mi data = your_data;

    var your_list_of_variables;

Ods Output MissPattern = miss_pattern;

run;

to get the pattern of missingness in your data. So then, you could run your model without the variable that has lots of missing (if it's not the most important predictor)

Or you could impute.

Solution
‎01-24-2013 11:16 AM
New Contributor
Posts: 4

Re: Missing values in logistic regression

To avoid loosing cases when independent variables are missing you can try creating categorical variables and add missing category for that variable.

For example, if you have 200 cases and 20 are missing for a variable with 2 levels A (n=100) and B (n=80), you can create a new variable with levels A (n=100), B (n=20), and Missing (n=20). This way you do not need to impute (prone to bias), and you make full use of your sample. Make sure that you do not set as the reference category the "Missing" level. This way, you also adjust for missingness in that particular variable (missing values might be non-random).

For missing values in the dependent....there's nothing easy to do in my opinion (I once used a sort of propensity score estimating the likelihood of being missing in the dependent variables for each case and then used it as a covariate in my logistic regression).

Occasional Contributor
Posts: 5

Re: Missing values in logistic regression

[ Edited ]

Would you mind explaining the new variable with the levels A(n=100), B(n=20?? or 80??), and missing(n=20)? Do I replace the new variable for the original variable or I use both of them in my regression? Also, if I'm doing multinomial logistic regression, can I use this method for more than more variables? Thanks many in advance.

SAS Super FREQ
Posts: 3,390

Re: Missing values in logistic regression

@Lneri's suggestion is equivalent to creating a "missing level" for a categorical variable. You don't need to create the dummy variables manually as Lneri suggests. You can use the MISSING option on the CLASS statement in PROC LOGISTIC.  This treats the missing values in classification variables as valid values.

Respected Advisor
Posts: 4,606

Re: Missing values in logistic regression

Yes. But it's not simple. It's called multiple imputation. It involves replacing your dataset with multiple datasets where the missing values are replaced with random values and then combining the multiple parameter estimates. The MI and MIANALYZE procedures do just that.

hth

PG

PG
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 7 replies
  • 5557 views
  • 8 likes
  • 7 in conversation