time series: LSTM cannot predict well when the basic truth is close to zero


While training the LSTM model, I ran into a problem that I couldn't solve. To start, let me describe my model: I used a Pytorch stacked LSTM model with 3 layers, 256 hidden units in each layer to predict human joint angles and pairs from EMG features. After training, the model can predict well when the fundamental truth is far from 0, but when the fundamental truth is near zero, there is always a shift between the predicted value and the fundamental truth. I suppose the reason would be that the great value of basic truth will have more impact during the training process to reduce the loss function. You can see the result here

I have tried different loss functions but the situation did not improve. Since I am a beginner in this field, I hope someone can point out the problem in my method and how to solve it. Thank you!