BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
KK_Mangla
Fluorite | Level 6

Error: A feasible optimal fixed ratio matching that has the specified parameters does not exist. 

 

I am trying to do propensity score matching using method = optimal and caliper=0.25, however, I keep getting an error saying "A feasible optimal fixed ratio matching that has the specified parameters does not exist". When I change use caliper=., it works fine.

I had an understanding that if caliper value is unspecified, the default caliper of 0.25 is used. However, providing value of 0.25 in caliper explicitly gives me an error. Can I still say that Caliper=. means that the caliper value considered while matching is the default value of 0.25?

1 ACCEPTED SOLUTION

Accepted Solutions
MichaelL_SAS
SAS Employee

As described in the CALIPER= syntax section of the PROC PSMATCH documentation, specifying "CALIPER=." requests no caliper constraint be applied to the matching problem. Specifying CALIPER=. is different then not specifying the CALIPER= option, in which case you are correct CALIPER=0.25 would be used as the default. 

 

 

View solution in original post

5 REPLIES 5
ballardw
Super User

1) show the entire code you are using. Since we don't know any of the other options you might be using it would involve lots of guessing.

 

2) and may be related to contents of your data, especially if you specify lots of constraints compared to the number of records available.

 

KK_Mangla
Fluorite | Level 6
Below is the code I am using. Note that the prop_score is calculated separately using PROC LOGISTIC and i have tried both OPTIMAL and VARRATIO method

Title 'PSM using score difference';
proc psmatch data=work.&data_set. region=cs;
class &cat_var.;
psdata treatvar = case_cntrl_fl(Treated='1') PS=prop_score;
match method=varratio(kmax=1) exact=(&exact_var.) stat=ps caliper(mult=stddev)=0.25;
assess lps ps var=(prop_score sex &var_list.) / plots = (boxplot);
output out(obs=match)=WORK.psm ps=ps lps=lps matchid=_MatchID matchwgt = _MATCHWGT_;
run;
MichaelL_SAS
SAS Employee

As described in the CALIPER= syntax section of the PROC PSMATCH documentation, specifying "CALIPER=." requests no caliper constraint be applied to the matching problem. Specifying CALIPER=. is different then not specifying the CALIPER= option, in which case you are correct CALIPER=0.25 would be used as the default. 

 

 

KK_Mangla
Fluorite | Level 6
Thank you so much!
MichaelL_SAS
SAS Employee

Glad to help. 

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
  • 5 replies
  • 1885 views
  • 1 like
  • 3 in conversation