Home-Electricity-Manager / Power-Forecasting

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:Jupyter Notebook 98.6%Language:Python 1.4%