Implementation of Electric Load Forecasting Based on LSTM(BiLSTM). Including Univariate-SingleStep forecasting, Multivariate-SingleStep forecasting and Multivariate-MultiStep forecasting.
pytorch==1.10.1+cu111
numpy==1.18.5
pandas==1.2.3
.
│ args.py
│ data_process.py
│ LICENSE
│ models.py
│ README.md
│ tree.txt
│ util.py
│
├─data
│ data.csv
│
├─LSTMs
│ multivariate_multi_step.py
│ multivariate_single_step.py
│ univariate_single_step.py
│
└─models
multivariate_multi_step.pkl
multivariate_single_step.pkl
univariate_single_step.pkl
- args.py is a parameter configuration file, where you can set model parameters and training parameters.
- data_process.py is the data processing file. If you need to use your own data, then you can modify the load_data function in data_process.py.
- Two models are defined in models.py, including LSTM and bidirectional LSTM.
- util.py defines the training and testing functions of the models in the three prediction methods.
- The trained model is saved in the models folder, which can be used directly for testing.
- Data files in csv format are saved under the data file.
First switch the working path:
cd LSTMs/
Then, execute in sequence:
python multivariate_multi_step.py --epochs 50 --batch_size 30
python multivariate_single_step.py --epochs 30 --batch_size 30
python univariate_single_step.py --epochs 30 --batch_size 30
If you need to change the parameters, please modify them manually in args.py.