cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
peri_a
Level III

Logistic regression changed as of version 16?

I have a large script that relies on the x/y platform to greate a logistic regression of a binary variable as function of a continuous variable.

i then use the report to extract the fit parameters of the linear term of the regression. then i use the estimate to predict the probability of Yes and No and display results to the user.

 

as of JMP 16.0 suddenly the script reports as result the "complement to 100%" of the right expected number.

looking deeper i realized that now the regression changes the sign of both parameters (eg. it reports the fit for the probability of yes as opposed to the probability of no) 

similarly if i export the probability formula in the table it reports the opposite linear term (lin[no] vs lin[yes])

the probabilities yes/no are calculated accordingly in the table but my model that is based on the fitting parameters no longer works properly.

 

to work around the problem i added an if statement based on JMP version to my code but i wanted to check if the change was intentional (e.g. it will stay as such for the future versions) or it is the result of a bug so my workaround  will give me wrong results in the future.

 

Thanks

2 REPLIES 2
ih
Super User (Alumni) ih
Super User (Alumni)

Re: Logistic regression changed as of version 16?

I recommend directing this one to support@jmp.com.

Re: Logistic regression changed as of version 16?

The behavior you have noticed is an intentional change with JMP 16.0. For binary responses, it is often the case that one must select which level is the target or positive level. This is especially true when producing reports that refer to false positives and similar. With this change, JMP is now consistent with SAS. Also, we have introduced a "Target Level()" option to the platform and a "Target Level" Column Property to assign the proper target level. For example:

//Begin Script for JMP 16;
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Penicillin.jmp" );

Logistic(
Y( :Response ),
X( :"ln(dose)"n ),
Freq( :Count ),
Target Level( "Cured" )
);

 


The Column Property can be accessed by highlighting the response column and selecting "Cols->Column Info..." Click the "Column Properties" drop-down menu and select "Target Level".

Duane Hayes