Lost when trying to get good time series prediction results (regression problem) even after trying many things

I’m not able to get good results after a long time testing when using TensorFlow to predict time series data (regression problem). I don’t know if the problem is with the data (little quantity and/or low quality) or with the model (or if there is a problem with both) (although I have tried several and tested various combinations of hyperparameters). I’m really tired and I don’t know what else to do. What would you do if you were in my place? Where could I find someone who can help me with this problem? Thanks in advance for any help you can give me.

Time series data is always tricky. There can be many factors for poor performance.

  1. Data Quality and Quantity: How good is the data (are there lot of missing values, outliers, consistency of time-related data). If you have a time stamp as a column then do check for any overlapping timestamps as each time stamp should be unique (try to group it w.r.t mode). If quantity is less try to use different techniques to increase the data but make sure not to lose the balance between the labels.
  2. Model Architecture: Depends on the model you use, hyperparameters used as well as regularization techniques used. If you have less data use simple models.
  3. Choosing appropriate evaluation metrics: As it is a regression task, use MSE, MAE and RMSE as your evaluation metrics. Try to take the confusion matrix to access the accuracy, precision, F1 score, sensitivity and specificity.
  4. Use cross validation to avoid overfitting (depends on the data and usecase, will not help always but helps to generalize better).
  5. Use Ensemble methods: I prefer XGboost and random forest. Random forest has this cool feature to extract feature importance and you can calculate the features that are most affecting or least affecting the model performance. Try removing the least 5 features to improve the results. Try to avoid features having same data. Even if you have less features don’t hesitate to remove least performing features as they are the main culprits of poor performance.
  6. Splitting the dataset: Do not split the dataset in percentages, as it is time series data try to split the data with respect to time (align your data w.r.t time and split accordingly, do not randomly split the data) this will avoid lot of errors and model can generalize better on the data.

I have worked on a lot of time series data and would love to help you out with more details.

Start with telling us what model u use, What lags and targets and how many timesteps.
Probably also a df.info() to see if u did a good or poor job in the feature engineering will help.