MingjunZhong / NeuralNetNilm

Sequence-to-point learning for non-intrusive load monitoring (energy disaggregation)
71 stars 21 forks source link

How to reproduce the results on REDD? #3

Open hellowangqian opened 4 years ago

hellowangqian commented 4 years ago

Thanks for sharing the code. I follow the instructions and am able to run the data pre-processing, training and testing code successfully. But the results I get for REDD are quite different from your reported results. I'm wondering if I missed something, anyone can advise? Here is my experimental settings: I keep the parameters as they are in the code, and use all house 2 and 3 for training (last 10% for validation) and test on house 1. The results I can get are something like: Microwave (my results vs reported results): MAE 21.4 vs 28.2; SAE: 0.500 vs 0.059 Fridge (my results vs reported results): MAE 37.3 vs 28.1; SAE: 0.157 vs 0.180 Dishwasher (my results vs reported results): MAE 24.8 vs 20.0; SAE: 0.281 vs 0.567 Washingmachine (my results vs reported results): MAE 12.0 vs 18.4; SAE: 0.127 vs 0.277

These are the results from one of my trials and the variations among multiple trials are insignificant. My question is if these results are expected out of the randomness of training a deep learning model? Any advice/comment will be much appreciated!

Hessen525 commented 4 years ago

Hi, Dr.Zhong I am confused about the date range chose for train and test. In paper, said 'for redd, houses 2 to 6 for training, and house 1 for testing'. Does it means use all of data in house 2-6 for training, all of data in for testing 1?

MingjunZhong commented 4 years ago

@Hessen525 @hellowangqian If you want to use REDD data, you can follow the steps shown at https://github.com/MingjunZhong/transferNILM.git where you will see how the data were prepared for training and testing using seq2point learning. Hope it helps.