# Why are all my coefficients negative in my binomial regression, even though they are percentages that add to 100% for each group?

my git-hub file, demonstrating the problem

I am trying to run a binomial regression on a dataset of groups that have taken a pass/fail test. I am working in Python, with statsmodels. My dependent variable is a 2x array of the number of successes and failures for each group. There are eight features, all of which are percentages. For each group in the dataset, the percentages for the eight features will add up to 1.

When I run the binomial regression, all of the coefficients come back as negative, which I don't understand. How can I interpret this? It can't be that every possible feature makes success less likely for this group. Surely at least one of them should be positive? I was hoping to find out which factors increased the success rate, but I can't tell that from my results ... can I?

I tried to add a constant, but the results were still uniformly negative. I also tried normalizing the data, but that had almost not effect. I am very new to this, so I'm not sure if I am doing the regression wrong, or if I am doing it right but just don't know how to interpret the results. Your advice will be appreciated!

• If all of your predictors together add to 1 then i am surprised that the program did not give you a warning. Perhaps the rounding error to which you refer in your example has saved you from this. Try dropping one of your predictors and see what happens (I would definitelyl include an intercept). – mdewey Dec 12 '16 at 10:05
• The design matrix will be singular (up to numerical noise or rounding errors) when you include an intercept and all explanatory variables. Use the intercept but drop one of the variables as reference case. If the design matrix were orthogonal, then all coefficients would have to be negative to account for the low success rate. – Josef Dec 12 '16 at 13:19