predicted value is more conentrated than actual with DNN I have created an Deep Neural Network model with keras.
def nopitid_model(optimizer,loss='mean_squared_error',epochs=50):
model = Sequential()
model.add(Dense(24, input_dim=24, kernel_initializer='normal', activation='relu'))
model.add(Dense(15, activation='relu'))
model.add(Dense(10, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(5, activation='relu'))
model.add(Dense(1,))
# # Compile model
model.compile(loss=loss, optimizer=optimizer)
prediction = model.fit(x=X_norm,y=Y,batch_size=int(X_norm.shape[0]/5),
          verbose=0,
          epochs=epochs,
          validation_split=0.3)
return model,prediction

The MAE is about 5%, which is acceptable. However, after plot the predicted value vs actual value, I have noticed that the predicted value scattered between 1260 - 1290, whereas actual data range from 800-1600. More interesting, some predicted values also can be observed at 1230. I can't figure out what has caused this.
Looking for all suggestions.
It seems like your model hasn't learnt much and may almost always be predicting the mean of the target distribution. Please check if the mean of the actual target variable resides in the 1260-90 range.
This may happen if your features are not correlated to the target.
Also, by looking at your graph, the MAE is certainly larger than 5%.
You want to collect more informative features for tour model.