Overestimating the lower values and underestimating the higher values in Regression I've tried many different models from Linear to non-linear and flexible models like random forest to solve a regression problem. But all of them apparently overestimate the lower values of the response variable and underestimate the higher values. Below you can see the "observed versus fitted" plot of the random forest model:

Question: What are the possible reasons behind this issue and how it be fixed?

I suspect that there is not a very strong "signal" in your data, meaning that for a given place in x-space there is a big variance in $y$, and therefore $y$ cannot be predicted very precisely. The implication is then that where big values of $y$ ("observed") occur, this is often not because the corresponding x-values that you use to "explain" the $y$ enforce a large $y$, but rather it can happen all over the place because of noise/variation. So it is not possible to predict/fit the biggest values well, and neither the smallest.
If you have already tried out much and this happens all the time, chances are this is how it is and you have to accept it. In some problems the x-values do not work very well as predictors.
