I wish to model the following relationship $$Y \sim af_1(X) + bf_2(X) + cf_3(X) + ..., Y \in [0,1]$$ where $Y$ is a response (a percentage divided by 100) and $X$ is a covariate which I want to model using those $f$-basis functions. The study's interest lies in the effect that covariate $X$ has on $Y$.

Based on what I have gathered from google, perhaps Beta regression? Presumably zero-inflated since I have $Y = 0$ at times?

Or something else, like some sort of GLM/GAM model? Any recommendations?

EDIT: I forgot to mention: apart from the fixed covariate $X$ effect, I intend to include some random effects.

  • $\begingroup$ How do these percentages arise? The data-generating mechanism is crucial to giving a coherent answer to this question. $\endgroup$
    – gammer
    Apr 23, 2017 at 15:55
  • $\begingroup$ Are you simultaneously trying to estimate the $f_i$ or not? $\endgroup$
    – whuber
    Apr 23, 2017 at 16:41

1 Answer 1


Only use zero inflation in case you have a reasonable explanation behind the inflation process! Generally your problem sounds like a use case for the logit transformation: You do not provide the detailed requirements on the model, but a logit transformation on the right part would ensure the response to be between 0 and 1:

$\hat{Y_i} = \frac{exp(\sum_i a_i f_i(X_i))}{1+exp(\sum_i a_i f_i(X_i))}$

  • $\begingroup$ And this naturally leads to a appliction of gams with a binomial family and a logit-link. I would suggest to use the mgcv package in R and to something like: gam($Y$~s($x_1$)+s($x_2$)+...,family=binomial(link = "logit")). If you are interested in a varying coefficent model of the style $Y=x_1b(z_1)+x_2b(z_2)+...$ the mgcv package also provides some nice implementations. $\endgroup$
    – Michael L.
    May 4, 2017 at 14:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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