Say you run a logistic regression, and you would like to show a graph with the y axis having the probability of the event and the x axis being your predictor. The following shows how you can construct such a graph.

Say that you do a logistic regression and the coefficients are

Constant is -3

x1 is.3

x2 is .1

Also, say the mean of X2 is .5

Say that you want to make a graph of the probability of Y by X1 showing X1 from 1 to 30, and hold all other variables constant at their mean (i.e., X2 would be .5). The following program generates data for X1 from 1 to 30, and computes the predicted value of Y for these values, and then makes a graph of the results.

* create a new data file that just has "x1" in it from 1 to 30 by 1.input program. loop #i = 1 to 30 by 1. compute x1 = #i. end case. end loop. end file. end input program. execute.* fill in logistic equation below . * say equation is -3 + .3*x1 + .1 * x2. * and x2 has a mean of .5.

compute ylog = -3 + .3*x1 + .5*.1 . compute py = 1-1/(1 + exp(ylog)) . execute.* show graph with prob y on y axis, and x1 on x axis.

GRAPH /LINE(SIMPLE)=VALUE( py ) BY x1 .

This produces the following graph.

You can make a graph of your own by …

- Change "1 to 30 by 1" to the range of values you want for your predictor.
- Change the "compute ylog =" to have the data from your regression.

Here are examples where we vary the intercept, using -10 then 5 then 0.

* say equation is -10 + .3*x1 + .1 * x2 (x2 has a mean of 5).compute ylog = -10 + .3*x1 + 5*.1 . compute py = 1 – 1/(1 + exp(ylog)) . execute. GRAPH /LINE(SIMPLE)=VALUE( py ) BY x1 .

compute ylog = -5 + .3*x1 + 5*.1 . compute py = 1-1/(1 + exp(ylog)) . execute. GRAPH /LINE(SIMPLE)=VALUE( py ) BY x1 .

compute ylog = 0 + .3*x1 + 5*.1 . compute py = 1-1/(1 + exp(ylog)) . execute. GRAPH /LINE(SIMPLE)=VALUE( py ) BY x1 .

Here are examples showing how the graphs change when the coefficient changes from .05 to .1 to .3 to .5.

compute ylog = -5 + .05*x1 + 5*.1 . compute py = 1-1/(1 + exp(ylog)) . GRAPH /LINE(SIMPLE)=VALUE( py ) BY x1 .

compute ylog = -5 + .1*x1 + 5*.1 . compute py = 1-1/(1 + exp(ylog)) . GRAPH /LINE(SIMPLE)=VALUE( py ) BY x1 .

compute ylog = -5 + .3*x1 + 5*.1 . compute py = 1-1/(1 + exp(ylog)) . GRAPH /LINE(SIMPLE)=VALUE( py ) BY x1 .

compute ylog = -5 + .5*x1 + 5*.1 . compute py = 1-1/(1 + exp(ylog)) . GRAPH /LINE(SIMPLE)=VALUE( py ) BY x1 .