Nipun_Batra:

I see your point. However, my only concern is: this way, don’t we have a much smaller number of samples? Though, effectively the data we use to train the model remains the same!


I consider every timestep to be a data sample for the RNN, because for each timestep the rnn takes an input, combines it with its memory of the previous inputs, and produces an output. How we organise the samples into short or long sequences is largely irrelevant from that point of view. That said, if seasonality or trends in the input history is at all useful in predicting the output, then longer sequences will be useful.



 Nipun_Batra:

jpeg729: Another approach that might make more sense would be to average the data per hour over all the homes.
I don’t quite understand this. Is this a baseline you’re suggesting?


No. I didn’t think it through, averaging the data wouldn’t make much sense except as a baseline. A useful baseline for the model loss could be produced by calculating the loss that you would get if you used averaged output values as predictions.
Concerning the incorporation of the sine and cosine you might have forgotten a comma in this line



 Nipun_Batra:

train_inp_time[sample :, :] = temp.values


but I don’t think it changes the way the code works.
I can’t see any other issues related to the sine and cosine features.
Day of week might be another useful feature to consider.