I am new to machine learning and trying to use Random Forest to predict a bounded dependent variables (percentage from 0 - 100). The majority of the training data points (~80%) are at the limits of these bounds, so either 0 or 100.
What I am finding is that my predictions never reach these limits. For example, instead of predicting 100 it will predict say 80% (see actual vs predicted plot below). For other dependent variables I have, the majority of the data points are at 100 exactly (but don't go down as low as 0), however as with the other example this never is able to predict the limit, instead giving values of around 96% max. This small difference unfortunately has major implications for my work and cannot be used.
Can anyone help explain why this might be the case and suggest some tips to solve?
I am using the R package "MultivariateRandomForest" and have so far tried to systematically vary the number of trees, features and leaves used in the model, but without seeing any real improvement. I have also tried splitting the dependent variable into two halves (0-50 & 50-100). Whilst this improved predictions for the top half, the same issue persisted and the limits not reached.
I have read this paper https://arxiv.org/pdf/1901.06211.pdf which talks about using a beta distribution but as I am new to this, I am not sure how to implement this or if it is actually a viable solution.
Many Thanks, Josh