I am trying to model the z-scores for stunting and underweight (nutrition indicators for less-than-5 years old children) and explain them with some household characteristics (e.g., number of years of education of the household head, or how the household gets the water they drink, to mention just a couple of them). In doing so, I want to build a regression model with the z-score as a dependent variable and household characteristics as the independent variables. The problem is that the z-scores are by definition bounded between -4.99 and 4.99 in my database. My question then is: how could I build a model in which I force the predictions to be only between 'x1' and 'x2' (in my specific case, between -4.99 and 4.99)? I appreciate any suggestion regarding it.
Standardize your target variable to bring it between 0-1 range. Then you can apply negative binomial to model them. Also you can try decision tree based methods like random forest and gradient boosting. We had implemented similar solution using neural network, which beat all the other model. So you can implement the methods whichever you have access to or maybe build all of them and compare the performance.