Is it possible and what's meaning if model residuals were to have mean zero on training data but non-zero mean of residuals on test data? Is it possible and what's meaning if model residuals with mean zero on training data but non-zero mean residuals on test data?
My guess is that the model produces biased estimates.

Zero-bias estimators have zero mean residuals on the training data, but the residuals will have some non-zero standard deviation. We can then expect the mean of the residuals on the test data to be on the order of that standard deviation, divided by the square root of the sample size of the test data. If the mean is significantly smaller than that, then that implies that the test data was unusually similar to the training data in this respect. This can be due to chance, but it can also be due to things like data leakage, so you might want to investigate further in such a case. If the test data mean residual is significantly larger than this, then this implies that the test data was different from the test data. This can again be by chance, but the larger the discrepancy, the less likely this is. Another possibility is that the training data is not representative of the test data, and you should look for training data that is more representative. If you split the training and test data from the same dataset, this suggests that something went wrong in your splitting process.
