oneday88 / deepTCN

149 stars 48 forks source link

standardizing #6

Closed vje010 closed 3 years ago

vje010 commented 3 years ago

Hi, tried to recreate the results of DeepTCN probabilistic for the electricity data set.

I changed the pre-processing code to standardize both train/test X and Y, but now the network predicts constant values for all 24 hours... any idea why? Why do you only standardize X and not Y?

oneday88 commented 3 years ago

Why did you try to standardize the true predictive label Y? It do't make sense

vje010 commented 3 years ago

https://machinelearningmastery.com/how-to-improve-neural-network-stability-and-modeling-performance-with-data-scaling/

This post states that it is important to standardize both inputs and targets to make the learning process more stable.

Also, I have another question about the pre-processing; When using the standard scaler function to standardize the input, the function is applied to trainX_dt and trainX2, not trainX2_dt. Should't one use trainX2_dt instead of train X2, since trainX2_dt is the one that is used as input to the network?

oneday88 commented 3 years ago

I think you can try some preprocessing method, e.g., dividing them with the historical mean of each series to make all the data in the same scalar level (then transform back after prediction), which may improve prediction accuracy.