2
$\begingroup$

I have trouble selecting the correct regression model for my data.

Let's call my dependent variable Y. It can take values from 0 to 5 depending on how many corresponding documents have been published. A value of 0 means none of the five documents were published, and that is really bad. On the other hand, 5 means that all of the possible five documents have been published,and that's really great.

Also I have 4 independent variables. Three of them (let's call them $X_1$, $X_2$ and $X_3$) are continuous and one of them (let's call it X4) is binary variable.

The main task is to find the effects of each independent variable on dependent variable Y. Maybe, I will use more independent variables, or build two regression models or similar,I'm not sure about that for now. But first I need to decide exactly which type of regression to choose.

My sample size is 127.

This is a barplot of relative frequencies of Y:

enter image description here

It was suggested to me to use Poisson regression or negative binomial regression (Y was recognized as a count variable). I used R, but the fitted values are not similar to my original dependent/response variable:

enter image description here

My main goal is to find statistically significant variables and not to predict anything, but these fitted values/predictions should've been at least somewhat logical?

Also, what about ordinal logistic regression, or if you could suggest to me some other regression model which will correspond to my data?

$\endgroup$
1
  • $\begingroup$ for future reference: png2jpg.com -- why stackexchange doesn't support PNG is beyond me $\endgroup$ Commented Mar 27, 2017 at 13:46

2 Answers 2

2
$\begingroup$

I believe that ordinal regression makes more sense in that case. You just need to define that your response variable is an ordinal factor.

Don't forget to test the parallel lines assumption though!

$\endgroup$
1
1
$\begingroup$

I would run a simple logistic regression. The idea is that you have observed 5 independent (this is an assumption!) coin flips, giving you between 0 and 5 observed 'heads'. Here is some example code in R

nobs <- 127
set.seed(1234)
dat <- data.frame(x1=rnorm(nobs),x2=rnorm(nobs),x3=rnorm(nobs),x4=rnorm(nobs))
dat$eta <- dat$x1 + 2*dat$x2 - 3*dat$x3 + 4*dat$x4
dat$mu <- exp(dat$eta) / (1 + exp(dat$eta))
dat$size <- 5
dat$y <- rbinom(nobs,size=dat$size,prob=dat$mu) / dat$size


glm(y ~ x1+x2+x3+x4,data=dat,family=binomial(link='logit'),weights=dat$size)
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.