How to interpret regression coefficients in logistic regression?

I have run the following logistic regression:

glm(formula = DecisionasReceiver ~ L1 + L2 + L3,
family = binomial("logit"), data = lue)

where L1 L2 and L3 code for differences in condition of no.GREEN. L1: 1,-1,0,0 : is there a difference in DecisionasReceiver as no.GREEN changes from 1 to 2?

L2: 0,1,-1,0: is there a difference in DecisionasReceiver as no.GREEN changes from 2 to 3?

L2: 0,0,1,-1: is there a difference in DecisionasReceiver as no.GREEN changes from 3 to 4?

And I'm running this regression both for the cases where MessageReceived is BLUE and for MessageReceived RED.

I have the following output:

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept)  -0.9535     0.3659  -2.606  0.00916 **
L1            2.2753     0.5406   4.209 2.56e-05 ***
L2            3.1234     0.7318   4.268 1.97e-05 ***
L3            1.9369     0.8134   2.381  0.01726 *

Looking at my graph it seems strange that the coefficients are positive and that the intercept is -0.953. How exactly should I interpret these results in the light of the graph?

http://dl.dropbox.com/u/22681355/graph.png

• The y-axis on your graphs is labeled "mean probability". The use of "mean" is unclear there. It should probably be "Predicted Probability". – Frank Harrell Aug 20 '11 at 15:29
• @Frank Harrell it is the average number of people guessing RED. its from 0 to 1 with 1 indicating RED and 0 indicating BLUE – upabove Aug 20 '11 at 17:21
• In that case maybe the terminology is "Proportion"? – Frank Harrell Aug 20 '11 at 17:26
• @Frank Harrell yes then call it proportion. Any suggestions about the question? – upabove Aug 20 '11 at 17:28
• I think the graph tells much of the story except for not having confidence bands. My R rms package may help in getting contrasts of interest in an intuitive non-error-prone way. Here are examples: oga-lab.net/RGM2/func.php?rd_id=rms:contrast – Frank Harrell Aug 20 '11 at 17:36

I completly changed my answer as a result of a long conversation with Daniel. I'll try to provide some background information so interested readers can understand my answer.

As I understand the question, Daniel is trying to assess the effect of no.Green on the probability of subjects choosing red in an experiment. no.Green is the number of balls (1, 2, 3 or 4). And the experiment was conducted under several conditions, nameley: under no.Red equals to 5, 7 and 9; and under condition in which message is blue and message is red. So, we have a total of 4 * 3 * 2 = 24 conditions (4 conditions from no.Green, 3 conditions from no.Red and 2 conditions from message blue or red).

One single regression with all interactions terms is quite complex to interpret. However, his main task is fairly simple, namely: to show that no.green has an effect on the probability of choosing red. So, my sugestion is to run a separece regression for message == blue and message == red condition, and also a separate regression for each no.red condition. Moreover, I'll simplify thing by assuming that no.Green is continous (it seems to be possible treat it as continous, or at least an interval variable). In R, for the message == blue case, just do this:

fit.1 = glm(DecisionasReceiver ~ no.GREEN, family=binomial, data=subset(lue, messagereceived=="blue" & no.RED==5) )

fit.2 = glm(DecisionasReceiver ~ no.GREEN, family=binomial, data=subset(lue, messagereceived=="blue" & no.RED==7) )

fit.3 = glm(DecisionasReceiver ~ no.GREEN, family=binomial, data=subset(lue, messagereceived=="blue" & no.RED==9) )

Now, in order to properly asses the effect of no.green, you have to take in consideration the uncertainty of estimates. Looking to standard errors, you will see that no.green is significant. However, looking only for standard errors does not allow you to proper understadn the range of uncertainty. Say, for instance, that you are interested to know how less likely to choose red are subjects (under condition no.red ==5) with no.green == 2 compared with subjects with no.green == 1. To answer this type of question, it's better, I think to look at predicted probability, but taking into consideration the uncertainty on estimates. To do this, i'll use the "sim" function, of arm package.

require(arm)
n.sims = 1000
sim.1 = sim(fit.1, n.sims)
ylab="Probability of Choosing Red", xlab="Number of Green",
main="Effect of Green under no.Red equals 5"))
for (s in 1:100)
curve(invlogit(coef(sim.1)[s,1] +coef(sim.1)[s,2]*x), col="gray", xlim=c(1,4), add=T)

The result is a graphic with 100 logistic curves. Each curve represents a possible effect of no.green on the probability of choosing red. From the graphic, we see which is the most likely range of predicted probability for each value of no.green.

I hope it helps.

• thanks for the help! L1, L2 and L3 are 3 contrast coded predictors coding differences between the 4 within subject conditions of no.GREEN. So L1 looks at whether there is a difference between no.GREEN 1 and 2, L2 looks at no.GREEN 2 and 3, L3 looks at no.GREEN 3 and 4. That should be fine right? but I still don't get why they are positive since there should be a drop in the number guessing red as you see on the top graph. – upabove Aug 22 '11 at 6:44
• I realized you make a series of posts asking similar questions. However, I still don't understand the data generator process. It seems to me that you need to clarify a couple of questions before we can help you. So, please, describe the data generator process, i.e., how is the experiment. But please, don't use jargon (contrast code etc.), just explain it in plain english. That will help. – Manoel Galdino Aug 22 '11 at 15:43
• Just to add a few reamrks. It seems to me, for instance, that you're miscoding your dependent variable. In your dataset, you have the message rfeceived and the decision (zero or 1). But a decision of 0, condicional on message received being "red" may be different than a decision of 0, conditional on the message received being "blue". So, it would help if you clarify these sort of things by describind the experiment. – Manoel Galdino Aug 22 '11 at 15:47
• DecisionasReceiver can be 0=BLUE, or 1=RED, the graphs show the proportion of Receivers choosing RED, which means that the higher the value the more chose RED. In the regression I have 3 contrast coded predictors coding for differences in each no.GREEN condition. L1: 1,-1,0,0 (is there a difference in the proportion choosing RED as no.GREEN changes from 1 to 2?) L2: 0,1,-1,0 (is there a difference in the proportion choosing RED as no.GREEN changes from 2 to 3?) etc. Does this make it clear? – upabove Aug 22 '11 at 15:53
• I've edited the question to add more information, hope this helps. thank you – upabove Aug 22 '11 at 16:14