# Interpreting coefficients in a logistic regression

I have created a model to predict how likely a top-funded cleantech company is to go through an exit (whether IPO or a buyout), depending on the type of finance they have received in the past. I have a binary exit variable as my dependent variable; factor variables for country and subsector; numeric variables for year and number of rounds; and binary variables for different investment types.

While the variables showed high level of significance, I am not sure how to interpret the coefficients.

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept)           363.15496   89.13465   4.074 4.62e-05 ***
sectorenergy storage   -0.91344    0.50952  -1.793 0.073015 .
sectorenergyef         -1.50226    0.41520  -3.618 0.000297 ***
sectorhydro            -0.07822    0.75487  -0.104 0.917467
sectorsolar            -0.84971    0.38697  -2.196 0.028108 *
sectorwind             -0.51262    0.55134  -0.930 0.352492
countrycodeCN           1.43407    0.64487   2.224 0.026161 *
countrycodeDE          -1.03568    0.96702  -1.071 0.284167
countrycodeFR          -0.81931    0.80582  -1.017 0.309277
countrycodeGB          -0.82921    0.72508  -1.144 0.252783
countrycodeIL          -0.27763    0.92591  -0.300 0.764295
countrycodeIT         -14.80171 1192.89869  -0.012 0.990100
countrycodeNL         -16.67261  717.78776  -0.023 0.981469
countrycodeSE           0.76556    0.86056   0.890 0.373676
countrycodeUS          -0.79273    0.52172  -1.519 0.128650
year                   -0.18171    0.04444  -4.089 4.34e-05 ***
num_rounds              0.19320    0.04772   4.048 5.16e-05 ***
grant                  -1.10448    0.43320  -2.550 0.010784 *
loan                    1.44755    0.45421   3.187 0.001438 **
loan_guarantee          1.45113    0.75011   1.935 0.053045 .
seriesa                -1.29644    0.30965  -4.187 2.83e-05 ***
projectfin              1.82077    0.42752   4.259 2.05e-05 ***


How do I get the odds/probabilities for my variables in a model like this, where I have multiple variables, and some variables have multiple factor levels?

• @UlianaG you mentioned that you have binary variables for the investment types, which I assume are grant, loan, etc. I also assume that the binary (1/0) means Yes/No. However, it seems -from looking at the output- that you passed those variables to your model as numeric. I think you should transform those numeric 0s and 1s to a factor 0/1, so the model understands that those numbers (0s and 1s) are flags/indicators for No and Yes. I don't know if that will change much, but it's a good practice to treat those numbers as indicators. – AntoniosK Sep 9 '15 at 22:02
• I wonder if logistic regression on a binary exit variable is the right way to set up the analysis. It seems like exit is an event, and firms are at risk per unit time of experiencing an event. Your data may also be right censored in that some of your firms have not yet experienced an exit, but could do so in the future. With this in mind, perhaps event history or survival analysis is more appropriate, or perhaps a Poisson or negative binomial regression with a firm-level random effect if you want to treat time as discrete do to analyze time-varying covariate effects. – Brash Equilibrium Sep 10 '15 at 1:11
• @BrashEquilibrium great point, sounds like this would work perfectly for this data. I have information on the year founded, and some of the exits, I can probably find the rest of the exit dates with relative easy. Unfortunately, I'm not familiar with these methods and pressed for time. With that, would you recommend one of these methods more than others? – Uliana G Sep 10 '15 at 1:44
• If you don't have any time varying covariates and you are willing to make the proportional hazards assumption, I would perform a Cox regression, the coefficients of which are interpreted similarly to a logistic regression, except in terms of the log hazardous an event rather than the log odds. – Brash Equilibrium Sep 10 '15 at 14:51

The format is consistent with [R], so I'll go with this assumption.

Presumably you have the regression saved as an object of the type:

fit <- glm(exit ~ subsector + country + year + rounds + invest_type, data = my.data, family ="binomial").

You probably should be able to now get the following:

exp(cbind(Odd_Ratio = coef(fit), confint(fit))).

Given that $e^0=1$, the confidence intervals should not contain $1$ if the coefficient is significant.

We see that loan is significant with a coefficient of 1.44755. The exp(1.44755) = 4.2526 indicates that getting a loan as means of financing makes your odds of exit approximately $4$ times higher than the odds you would have with your "baseline" financing system as it is ordered by [R] (alphabetical arrangement of the levels with the first one typically omitted:... grant, loan, loan_guarantee).

As for continuous variables, such as year the interpretation would be along the lines of exp(-0.18171) = 0.8338, implying a decrease of the odds of exit of $\sim 20\%$ per year.

Now to turn odds into probabilities you use the formula: $\displaystyle \frac{O}{1\,+\,O}\,$ to calculate the increased (or decreased) probability of exit.

• Great answer. Just a quick observation. I think in your interpretation about loan coefficient it should be "increases 3 times", or "it's 4 times as", right? – AntoniosK Sep 9 '15 at 21:46
• @AntoniosK Thanks. I wonder if now it's better expressed. – Antoni Parellada Sep 9 '15 at 21:54
• Thanks Antoni! I ran the code you mentioned: exp(cbind(Odd_Ratio = coef(fit), confint(fit))). And it worked perfect for odd ratios. I wonder if I can also use one formula to get all the odds (not odd rations), and probabilities. Or do I need to write these formulas out explicitly? @AntoniParellada – Uliana G Sep 10 '15 at 1:01
• @UlianaG Great! If it worked, consider accepting the question (green checkmark) at your convenience. – Antoni Parellada Sep 10 '15 at 1:03
• @AntoniParellada on a sidenote, R gives me the following warning when I runt the odds_ratio: "glm.fit: fitted probabilities numerically 0 or 1 occurred". How can I fix this? – Uliana G Sep 10 '15 at 1:04