Skip to content

Time Series Analysis and User Behaviour Learning to forecast power usage in a household

License

Notifications You must be signed in to change notification settings

RachitBansal/Power-Forecasting

Repository files navigation

Power_Forecasting

Time Series Analysis and User Behaviour Learning to forecast power usage in a household.

Dataset

The Dataset used to test the performance of various models for the task at hand are GreenD and UkDale. The resampled files of these datasets are present in the Data folder. The models can be used for any new data, provided they are available in the given format.

Using

Initialisation

  • Clone the repository
git clone https://github.com/Home-Electricity-Manager/Power_Forecasting.git
  • Install the dependencies
pip install --r requirements.txt

Prepare Data

  • Preprocess the data to equipment-wise usable format
python Data/preprocess.py --src_dir <path-to-directory-containing-data> --src_file_name \
       <common-prefix-for-all-equipments> --tar_dir <target-directory-to-place-preprocessed-data>\
       --num_equips <number-of-equipments> --n_steps <number-of-timesteps, default=128> 

Run the Models

  • ARIMA
python Models/ARIMA.py --src_dir <path-to-directory-containing-preprocessed-data> --tar_dir \
      <path-where-the-outputs-need-to-be-placed> --eq_num <equipment-number-to-be-tested> \
      --num_preds <number-of-predictions-to-be-made> --draw_graphs <bool-variable-whether-to-draw-graphs-or-not>
  • CNN_LSTM
python Models/CNN_LSTM.py --src_dir <path-to-directory-containing-preprocessed-data> --tgt_dir \
       <path-where-the-outputs-need-to-be-placed> --eq_num <equipment-number-to-be-tested> --n_test \
       <number-of-predictions-to-be-made> --n_models <numer-of-CNN_LSTM-models-to-be-made> \
       --draw_graphs <bool-variable--whether-to-draw-graphs-or-not>
  • Ensemble
python Models/Ensemble.py --src_dir <path-to-directory-containing-preprocessed-data> --tgt_dir \
       <path-where-the-outputs-need-to-be-placed> --eq_num <equipment-number-to-be-tested> \
       --n_test <number-of-predictions-to-be-made> --n_models <numer-of-CNN_LSTM-models-to-be-made>\
       --draw_graphs <bool-variable--whether-to-draw-graphs-or-not>

Finding Start-End Time

python Models/StartFinish.py --data_path <path-to-directory-containing-data-to-apply-on> --target_path <path-where-the-outputs-need-to-be-placed> --num_preds <number-of-predictions-to-be-worked-on>

About

Time Series Analysis and User Behaviour Learning to forecast power usage in a household

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •