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

As in a subject.

 

data have;
set sashelp.cars;
isUSA = Origin="USA";
run;

proc logistic data=have;
model isUSA=EngineSize Cylinders Horsepower;
output out=pred p=p;
run;

data want;
keep p p_manual;
set pred;
p_manual = 1/(1+EXP(-1 * 0.3199 -3.091*EngineSize 
+0.5735*Cylinders 
+0.0334*Horsepower));
run;

Why is p different than p_manual variable in the want dataset?

 

Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
Reeza
Super User

How different?
Here's an example showing results that match exactly.
https://communities.sas.com/t5/Statistical-Procedures/How-to-determine-logistic-regression-formula-f...

 

You were missing a set of brackets in your formula:

 

p_manual = 1/(1+EXP(-1 * (0.3199 -3.091*EngineSize 
+0.5735*Cylinders 
+0.0334*Horsepower)));

@Jedrek369 wrote:

As in a subject.

 

data have;
set sashelp.cars;
isUSA = Origin="USA";
run;

proc logistic data=have;
model isUSA=EngineSize Cylinders Horsepower;
output out=pred p=p;
run;

data want;
keep p p_manual;
set pred;
p_manual = 1/(1+EXP(-1 * 0.3199 -3.091*EngineSize 
+0.5735*Cylinders 
+0.0334*Horsepower));
run;

Why is p different than p_manual variable in the want dataset?

 

Thanks.


 

View solution in original post

3 REPLIES 3
Reeza
Super User

How different?
Here's an example showing results that match exactly.
https://communities.sas.com/t5/Statistical-Procedures/How-to-determine-logistic-regression-formula-f...

 

You were missing a set of brackets in your formula:

 

p_manual = 1/(1+EXP(-1 * (0.3199 -3.091*EngineSize 
+0.5735*Cylinders 
+0.0334*Horsepower)));

@Jedrek369 wrote:

As in a subject.

 

data have;
set sashelp.cars;
isUSA = Origin="USA";
run;

proc logistic data=have;
model isUSA=EngineSize Cylinders Horsepower;
output out=pred p=p;
run;

data want;
keep p p_manual;
set pred;
p_manual = 1/(1+EXP(-1 * 0.3199 -3.091*EngineSize 
+0.5735*Cylinders 
+0.0334*Horsepower));
run;

Why is p different than p_manual variable in the want dataset?

 

Thanks.


 

Jedrek369
Fluorite | Level 6

Shoot. That's embarrassing. Thanks anyway.

FreelanceReinh
Jade | Level 19

Tip: The formula

p_manual = 1/(1+EXP(-1 * (...)));

can be simplified to

p_manual = logistic(...);

(see LOGISTIC function).

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 3 replies
  • 873 views
  • 13 likes
  • 3 in conversation