BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Say O2=O*O

proc logit data = X descending;
model A = O O2 P Q;
output out = Y p=pred xbeta=logit;
run;

I want to plot a graph that can show the relationship between the probablity of A and O is a 'U' shape. How can I do this? Thanks!
1 REPLY 1
Olivier
Pyrite | Level 9
You have to compute LOG(Prob(A=event|O)/Prob(A=non-event|O)) to draw it against the values of O. This quantity is known as Weight of Evidence (WoE) or log-odds. It is this quantity that is modelled in a similar fashion as Y in a linear regression : the logistic model is WoE = Xb.

Since those probabilities can be computed as means, you just have to type the right "event" value for A (I assume it is 1 in the following code).[pre]
PROC SQL ;
CREATE TABLE work.graph AS
SELECT o,
LOG(MEAN(a=1)/MEAN(a NE 1)) AS woe,
COUNT(*) AS size
FROM X
GROUP BY o
;
QUIT ;
PROC GPLOT DATA = work.graph ;
BUBBLE woe * o = size ;
RUN ; QUIT ;[/pre]
If this graph shows a U-shaped relationship between A and O, it will be a good reason to include O2 in the model.

Regards.
Olivier

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Discussion stats
  • 1 reply
  • 1579 views
  • 0 likes
  • 2 in conversation