BookmarkSubscribeRSS Feed
RobertWF2
Fluorite | Level 6

I've been running proc psmatch for an analysis, using 1:1 nearest neighbor matching on propensity scores calculated from proc logistic.

 

I did not include the WEIGHT=ATT option in the ASSESS statement to my code.

 

Are the matching results still valid? Which weighting scheme is proc psmatch using as a default? I do see in the output dataset of matched records _MATCHWGT_=1 for every record.

 

proc psmatch data=logistic_output;
  	class class age gender;
  	psdata ps=ps  treatvar=class(treated='Treatment');
	match method=greedy(k=1) exact=(age gender) caliper=0.25;
   	output out(obs=match)=psm_results;
run;
1 REPLY 1
RobertWF2
Fluorite | Level 6

Ah hold on - if I add an ASSESS / WEIGHT=ATTWGT; statement to my proc psmatch code I see the following message after running.

 

WARNING: WEIGHT=ATEWGT and WEIGHT=ATTWGT are not allowed if a MATCH statement is specified. WEIGHT=MATCHWGT is used.

Ok so looks like weights can't be used for 1:1 nearest neighbor matching?

 

Am I still estimating ATT when I run a proc ttest on the matched output data even if WEIGHT=ATT wasn't used?

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 878 views
  • 0 likes
  • 1 in conversation