odysseaskr / online-nilm Goto Github PK
View Code? Open in Web Editor NEWCode for the experiments in "Sliding Window Approach for Online Energy Disaggregation Using Artificial Neural Networks"
Code for the experiments in "Sliding Window Approach for Online Energy Disaggregation Using Artificial Neural Networks"
Hello, I used the code in GRUWithWindow (unchanged) to train on the UK-DALE data set for 20 epochs. The results on the test set and train set are as follows. Could you guide me what went wrong? If there have parameters need to be changed in the origin codes?
test set result(house1):
============================== fridge ===============================
Recall: 0.7859230869169807
Precision: 0.41266457466402895
Accuracy: 0.5248407643312102
F1 Score: 0.5411746287350153
Relative error in total energy: 0.3398331663195207
Mean absolute error(in Watts): 52.944642146264606
============================== microwave ===============================
Recall: 0.0
Precision: nan
Accuracy: 0.9981933989577302
F1 Score: nan
Relative error in total energy: 0.9001037868715199
Mean absolute error(in Watts): 46.835767427785726
============================== dish_washer ===============================
Recall: 0.3579124579124579
Precision: 0.6814102564102564
Accuracy: 0.9721598147075854
F1 Score: 0.4693156732891832
Relative error in total energy: 0.24204084224869085
Mean absolute error(in Watts): 28.23636657077036
============================== kettle ===============================
Recall: 1.0
Precision: 0.003705848291835553
Accuracy: 0.003705848291835553
F1 Score: 0.007384331371870313
Relative error in total energy: nan
Mean absolute error(in Watts): nan
============================== washing_machine ===============================
Recall: 1.0
Precision: 0.014002820426241881
Accuracy: 0.014002820426241881
F1 Score: 0.027618898378124264
Relative error in total energy: 0.6725896530269214
Mean absolute error(in Watts): 45.197667568786486
train set result:
============================== fridge ===============================
Recall: 0.8107537507860929
Precision: 0.5566469799071689
Accuracy: 0.6309938560184221
F1 Score: 0.6600897844989165
Relative error in total energy: 0.22799071020177508
Mean absolute error(in Watts): 36.82874306859891
============================== microwave ===============================
Recall: 0.0
Precision: nan
Accuracy: 0.9844665012406948
F1 Score: nan
Relative error in total energy: 0.7793909745233287
Mean absolute error(in Watts): 26.616165471268648
============================== dish_washer ===============================
Recall: 0.28264518294729774
Precision: 0.34144363341443634
Accuracy: 0.9626699751861042
F1 Score: 0.3092745638200184
Relative error in total energy: 0.38819056995915857
Mean absolute error(in Watts): 28.17884941190762
============================== kettle ===============================
Recall: 1.0
Precision: 0.011702349402971742
Accuracy: 0.011702349402971742
F1 Score: 0.023133976924888156
Relative error in total energy: nan
Mean absolute error(in Watts): nan
============================== washing_machine ===============================
Recall: 1.0
Precision: 0.07855014895729891
Accuracy: 0.07855014895729891
F1 Score: 0.14565877911794495
Relative error in total energy: 0.2351688162192659
Mean absolute error(in Watts): 86.13717623592251
Hi, @OdysseasKr
Thanks for your nice paper and reply, it make me learn a lot! I have some question as following:
Thanks again, any reply and advice will be much appreciated!
Hi!
How is the code set for online data collection?.
Regards.
Hi, @OdysseasKr
Thanks for your work. gen_batch(chunk.iloc[:,1], chunk.iloc[:,0], chunk.shape[0]-window_size, 0, window_size) in gen.py. Why not chunk.shape[0]-window_size+1?
ex: batch size: 5, window_size = 2, the number of sliding windows should be 5-2+1=4 if I understand correctly,
Thanks.
Hi @OdysseasKr ,
Thank you for your paper so that I learned a lot of interesting things, I encountered a problem when the experiment was restored:
set up the project
meter = elec[conf["nilmtk_key"].encode("ascii")]
File "E:\pycharms\ANACONDA\envs\neural\lib\site-packages\nilmtk\metergroup.py", line 296, in getitem
raise TypeError()
I don't understand what this code means.
Thanks again, any reply and advice will be much appreciated!
Hello,
Thanks for your repo, it give me so much help.
but when I call python gen.py ukdale.h5, it occured some errors. ( your neural-disaggregator is work well. ) Could you please post the requirement if possible?
Thanks!
Hello @OdysseasKr ,
-Does the choice of the window_size allow us to talk about real time disaggregation?
-Can we say, more the size of the window is small, more we are close to the real time disaggregation phenomenon?
-And if you have an idea, what's the shortest window size that we can use it in ShortSeq2Point model, to have a significant predictions?
Thanks
Hi @OdysseasKr
The precision and F1 Score of Kettle is keep nan all the time. result as following:
============ Recall: 0.0
============ Precision: nan
============ Accuracy: 0.9962920046349942
============ F1 Score: nan
============ Relative error in total energy: 0.2103923186958998
============ Mean absolute error(in Watts): 24.667154793280716
Hi,
In your project, You download test data from
http://jack-kelly.com/files/neuralnilm/NeuralNILM_data.zip
comment with "''' dataset of synthetic data from Neural NILM.
Could you please give more detail about this dataset if possible? For example data_windows, and is that data with data augment described in Neural NILM?
Hello, I used the code in GRUWithWindow (unchanged) to train on the UK-DALE data set for 20 epochs. The results on the test set and train set are as follows. Could you guide me what went wrong? If there have parameters need to be changed in the origin codes? My email is [email protected]. Thank you!
test set result(house1):
============================== fridge ===============================
Recall: 0.7859230869169807
Precision: 0.41266457466402895
Accuracy: 0.5248407643312102
F1 Score: 0.5411746287350153
Relative error in total energy: 0.3398331663195207
Mean absolute error(in Watts): 52.944642146264606
============================== microwave ===============================
Recall: 0.0
Precision: nan
Accuracy: 0.9981933989577302
F1 Score: nan
Relative error in total energy: 0.9001037868715199
Mean absolute error(in Watts): 46.835767427785726
============================== dish_washer ===============================
Recall: 0.3579124579124579
Precision: 0.6814102564102564
Accuracy: 0.9721598147075854
F1 Score: 0.4693156732891832
Relative error in total energy: 0.24204084224869085
Mean absolute error(in Watts): 28.23636657077036
============================== kettle ===============================
Recall: 1.0
Precision: 0.003705848291835553
Accuracy: 0.003705848291835553
F1 Score: 0.007384331371870313
Relative error in total energy: nan
Mean absolute error(in Watts): nan
============================== washing_machine ===============================
Recall: 1.0
Precision: 0.014002820426241881
Accuracy: 0.014002820426241881
F1 Score: 0.027618898378124264
Relative error in total energy: 0.6725896530269214
Mean absolute error(in Watts): 45.197667568786486
train set result:
============================== fridge ===============================
Recall: 0.8107537507860929
Precision: 0.5566469799071689
Accuracy: 0.6309938560184221
F1 Score: 0.6600897844989165
Relative error in total energy: 0.22799071020177508
Mean absolute error(in Watts): 36.82874306859891
============================== microwave ===============================
Recall: 0.0
Precision: nan
Accuracy: 0.9844665012406948
F1 Score: nan
Relative error in total energy: 0.7793909745233287
Mean absolute error(in Watts): 26.616165471268648
============================== dish_washer ===============================
Recall: 0.28264518294729774
Precision: 0.34144363341443634
Accuracy: 0.9626699751861042
F1 Score: 0.3092745638200184
Relative error in total energy: 0.38819056995915857
Mean absolute error(in Watts): 28.17884941190762
============================== kettle ===============================
Recall: 1.0
Precision: 0.011702349402971742
Accuracy: 0.011702349402971742
F1 Score: 0.023133976924888156
Relative error in total energy: nan
Mean absolute error(in Watts): nan
============================== washing_machine ===============================
Recall: 1.0
Precision: 0.07855014895729891
Accuracy: 0.07855014895729891
F1 Score: 0.14565877911794495
Relative error in total energy: 0.2351688162192659
Mean absolute error(in Watts): 86.13717623592251
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.