# Using logistic regression for a continuous dependent variable

I got a revision for my research paper recently and the following is the reviewer's comment on my paper:

results obtained from one model is not quite convincing especially linear regression usually has deficiencies in dealing with outliers. I suggest the authors also try logistic regression and compare the corresponding results with current results. If the similar observations are obtained, the results would be more solid.

Is the reviewer's comment right? Is logistic regression better than multiple linear regression?

The problem is that my dependent variable is not categorical, it's a scale variable. What can I do now? What other regression method do you recommend to evaluate my model?

Score is dependent variable in the following table. Recency, frequency, tenure and last score are independent variables.

I've extracted these variables from a site and I hypothesize that these independent variables have significant effect on the score. Therefore, I represent the following models:

By the way, the value of R squared for this linear model is 0.316! The reviewer also commented on this value too:

then the results are not convincing as there is no indicator on the quality of learned coefficients. A small R^2 cannot indicate good performance as the model may be over-fitted.

Is 0.316 very low for R squared? In previous papers I saw the similar values a lot.

• This is a minor point, but understanding how the score is computed can be helpful in providing good answers. Could you edit your question to inform us about that? – whuber Sep 12 '13 at 19:06
• I edit my post. my statistical knowledge is not good. I would be very thankful if you help. – PSS Sep 12 '13 at 19:18
• is not there any idea about running logistic regression on continuous dependent variable??? – PSS Sep 13 '13 at 14:52
• Is the score something that has to be between 0 and 100? In that case you could divide by 100 and do a logistic regression on the resulting variable, which would always be between 0 and 1...feels a bit odd doing things that way, and I'm not sure how sensible it is, but maybe that's what the reviewer is suggesting? – Sam Livingstone Sep 13 '13 at 15:14
• No, scaling to 0-1 or discarding valuable information y categorizing the score are not good solutions at all. – Frank Harrell Oct 4 '14 at 12:29

The proportional odds ordinal logistic regression model should work fine for this problem. For an efficient implementation that can allow thousands of unique $Y$ values see the orm function in the R rms package.

• I installed R and all necessary packages. would you please provide some example for orm function? I didn't find by searching. For my regression model, what the code should be? – PSS Sep 14 '13 at 9:23
• It's worth spending time studying the documentation. See Handouts under biostat.mc.vanderbilt.edu/CourseBios330 for a detailed case study with code - the chapter on Regression Models for Continuous $Y$. – Frank Harrell Sep 14 '13 at 12:14

you could also try ordered probit/logit models by assigning values 1, 2,3, and 4 to scores in the 1st,.....,4th percentiles respectively.

• Which variable are you proposing reducing to its lowest four percentiles (out of 100)? What would this accomplish and why? – whuber Sep 30 '15 at 0:16

You could dichotomise (convert to a binary variable) the score. If score is from 0 to 100 then you could assign 0 to any score less than 50 and 1 otherwise. I've never heard before that this a good way of dealing with outliers though. This might just hide outliers since it will be impossible to distinguish very high or low scores. This doesn't make a great deal of sense to me but you can try it.

More importantly why are you log transforming all your covariates and your response variable? This is going to affect your $\beta$ estimates and your $R^2$ (i think).

Also the reviewer says a small $R^2$ suggests overfitting? I thought overfitting was when your $R^2$ is high but your model performs poorly on new data (i.e it overfits your data but doesn't generalise to new data). Overfitting tends to happen when you have few observations which you are trying to predict with a large number of parameters. This is what you are doing in your Model 2 since you have 8 observations which you are trying to explain with 7 parameters.

I am not going to pretend I know a great deal about statistics but it seems to me, based on his comments, that this reviewer might know even less.

• Thanks a lot for your reply. Because all variables are skewed, so I have them natural log-transformed. Am I right? Thank you for clarifying what "overfitting" means ! Actually, I didn't know what overfitting means. Now, I can reply to reviewer and editor. By the way, what's your recommendation for me to make my evaluation more solid? what regression method do you think is better? – PSS Sep 14 '13 at 4:32
• Don't dichotomize $Y$ for any reason. – Frank Harrell Sep 14 '13 at 12:12
• I agree with @FrankHarrell that choosing an arbitrary threshold to dichotomise your data doesn't make any sense. Is this your entire dataset? If you have so few observations your data is never going to look normally distributed! Also you need to understand the type of data your are dealing with too. What range of values can they take, is it sensible to assume they should be normally distributed? I am going to look into Frank's suggestion of using ordinal logistic regression, but my guess is that it uses the order of the scores instead of their value in the regression. – pontikos Sep 14 '13 at 12:56
• @PotentialScientist, it doesn't matter if your distributions are skewed. In OLS (typical) regression, only the distribution of the residuals matters, see here: what-if-residuals-are-normally-distributed-but-y-is-not. You might also want to read this: interpretation-of-log-transformed-predictor, to understand what has happened to your model as a result of transforming your predictors. – gung Sep 14 '13 at 12:57
• @PotentialScientist how are you getting on? If you edit your question to provide the data in CSV format I can try to run the orm function suggested by Prof Harrell and we can analyse the output. It's worth you learn the basics of R (how to read in a file and run a regression). – pontikos Sep 16 '13 at 9:01

It is possible to apply logistic regression even to a contiuous dependent variable. It makes sense, if you want to make sure that the predicted score is always within [0, 100] (I judge from your screenshots that it is on 100-point scale).

To accomplish it, just divide your score by 100, and run logistic regression with this [0,1]- based target variable, like in this question - you can do it, for example, with R, using

glm(y~x, family="binomial", data=your.dataframe)


I don't know whether this approach helps with outliers - it depends on the sort of outliers you are expecting. But sometimes it improves goodness of fit (even $R^2$, if your dependent variable has natural lower and upper bounds.

As for the second question, $R^2\approx 0.3$ may be the best what you can squeeze out of your data, without overfitting. If you build your model for the purpose of inference, low $R^2$ is totally fine, as long as the coefficients important to you are significant. If you want to check whether the model is overfitted, you can check its $R^2$ on a test set, or even do a cross-validation.