LSTM multivariate time series prediction is performancing very poor I have been working on Multivariate time series in Python. The method I have used is LSTM. But the prediction is looking very bad. even my RMSE and MAE value is so high. RMSE=18.089, MAE=14.907. It is no good for prediction. I want to predict such a way that the error should remain in 0 to 1. The model I have applied to predict is-
from keras.models import Sequential
from keras.layers import Dense,LSTM,Lambda
from keras.layers import Dropout
#create LSTM model
model=keras.models.Sequential([
    
    keras.layers.LSTM(75,return_sequences=True,input_shape=(xtrain.shape[1],xtrain.shape[2])),
    keras.layers.LSTM(30,return_sequences=True),
    keras.layers.LSTM(10,return_sequences=True),
    keras.layers.LSTM(10),
    keras.layers.Dropout(0.25),
    keras.layers.Dense(1)
    
])

model.compile(loss='mae',optimizer='adam')
history=model.fit(xtrain, ytrain,epochs=100,validation_data=(xtest, ytest),batch_size=64)

But the overall prediction is not good. I have split the train and test data for 60% and 40% respectively.

How I can improve my prediction?
Several things you can do here:

try normalizing the time series
try using another loss: loss='mse'
maybe do a 80-20 split (make sure that your test data comes chronologically after the training data to avoid forward looking bias)