Skip to content

nipunbatra/nilm-actionable

Repository files navigation

If you can measure, can you save it? Exploring The Value of Energy Disaggregation

This is the github repository corresponding to our Buildsys 2015 paper.

Please use the following bib for citing our work:

@inproceedings{batra_buildsys_2015,
	title={
	If You Measure It, Can You Improve It? Exploring The Value of Energy Disaggregation},
	author={Batra, Nipun and Singh, Amarjeet and Whitehouse, Kamin},
	booktitle={Proceedings of the second ACM International Conference on Embedded Systems For Energy-Efficient Built Environments},
	year={2015},
	organization={ACM}
}

Data downloads

You'll need to request me (nipunb@iiitd.ac.in) for getting access to binary data. Once done, you can download the following:

Sno Data Location in local machine Description
1 Rice hall fridge data ~\Documents Contains data for controlled experiments
2 Wiki-temp.h5 ~\Downloads Contains data newer version of dataport
3 wikienergy-2.h5 ~\ Contains data for old version of data port
4 wikinergy-2013.h5 ~\ Contains data for 2013, needed since our HVAC survey is from the same time

Code for generating figures

Please download all the data dependencies before running the following code.

  • Figure 1: code/fridge/fridge_demo.py

  • Figure 2: code/fridge/rice_hall_precision_recall_energy.py All the required code is already contained in the Github repo

  • Figure 3: code/hvac/model_setpoint_accuracy.py. This requires data/hvac/top_k_2013.json which is generated using code/hvac/find_top_k_hvac.py. The data/hvac/minutes_GT.csv is created by calling code/hvac/create_hvac_feature_csvs.py

  • Figure 4: code/fridge/fridge_usage_energy_usage_ratio_outlier.py It is dependent on usage_defrost_cycles.csv which is already there in the Github repository. This CSV can be generated by calling code/fridge/fridge_compressor_durations_optimised_jul_7.py. It must be noted that d_new.to_csv("../../data/fridge/usage_defrost_cycles.csv", index_label="home") should be uncommented! The function is generic.

  • Figure 5: code/fridge/fridge_defrost_num_cycles_ratio_outlier.py It is dependent on usage_defrost_cycles.csv which is already there in the Github repository. Remaining instructions same as that for Figure 4.

  • Figure 6: code/fridge/fridge_malfunction.py Remaining things were edited in Preview.

  • Figure 7: code/hvac/model_accuracy_nilm_gt_confusion_only_gt.py It is dependent on data/hvac/minutes_GT.csv; this is generated as mentioned in the instructions for Figure 3.

  • Figure 8: code/havc/disag_optimal_fridge_usage_energy_usage_ratio_outlier_only_disag.py It is dependent on data/hvac/minutes_N2....csv. This is generated using code/hvac/nilm_create_features.py. This requires as inputs the folder code/bash_runs_hvac/N2.... which is generated using code/bash_scripts/hvac/disaggregate_sweep_hvac.sh which calls code/hvac/disaggregate_hvac.py with the required parameters. No changes needed if executed on UVa cluster. If run otherwise, slurm needs to be changed and all the individual bash scripts will need to be serially executed.

  • Figure 9: code/hvac/fridge_low_accuracy_nilm_baseline.py. Prerequisites are the same as that for Figure 8.

  • Figure 10: code/fridge/plot_power_level.py. Prerequisites are the same as that for Figure 8.

  • Figure 11: code/hvac/model_accuracy_nilm_gt_confusion_only_nilm.py It is dependent on:

    1. minutes_*.csv: which is generated as mentioned in Figure 8.
    2. rf_hvac.pkl: code/hvac/model_accuracy.py
  • Figure 12: code/hvac/hvac_feedback_low_accuracy_reason.py

Contact information:

Nipun Batra nipunb@iiitd.ac.in

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published