SAS Programming

DATA Step, Macro, Functions and more
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-white.png

Join us for our biggest event of the year!

Four days of inspiring keynotes, product reveals, hands-on learning opportunities, deep-dive demos, and peer-led breakouts. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

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