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?

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand in the Innovate Hub.

Watch Now →
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
  • 1564 views
  • 0 likes
  • 1 in conversation