I got the warnings when running PROC PSMATCH:
The maximum likelihood estimates for the logistic regression model might not exist.
The maximum likelihood estimates are based on the last maximum likelihood iteration.
I want to match my case and control (1:2) by age group, sex, region, number of major health conditions they have.
The code that I use: proc psmatch data=have region=cs;
class group agegrp sex region ncond;
psmodel group(treated='1') = agegrp sex region ncond;
match method=greedy(k=2 order=random) stat=lps caliper=0.2;
output out(obs=match)=matches mathcid=_matchid lps=_lps;
run;
I tried collapsing the categories with small/zero counts and ran the PROC PSMATCH again, but it didn't work...
Also, when I ran the logistic regression model with the same variables using PROC LOGISTIC, the model was running OK without warnings.
Anyone knows what might cause that warning and have some suggestions? Thanks!
PROC PSMATCH might print that message if an error occurs during the process of fitting the propensity score model or if the optimization method fails to converge. PROC LOGISTIC is probably using a different optimization method to fit the propensity score model, which would explain why there are no warnings in that case. If you want to match on the propensity score values predicted by PROC LOGISTIC you can create an output data set with the predicted values and then use the PSDATA statement in PROC PSMATCH to specify the pre-computed propensity score values instead of using the PSMODEL statement. The eighth example in the documentation for PROC PSMATCH demonstrates how you can match on pre-computed propensity score values.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.