- Python 3.7 or above
- PyTorch 1.7.0 (code has GPU support, but can run without)
- Pandas 1.0.1
- scikit-learn
- scipy
- numpy
- matplotlib
- tqdm
- pmdarima
- xgboost
- Clone the project by clicking on the download button
- Open the project folder with your choice of python IDE
- Execute below comment to install required python packages.
pip install -r requirements.txt
- Dataset can be downloaded here.
Note: Please contact the author Jingchao Yang ([email protected]) for direct access if link expires.
- Place the dataset in the data folder before running the code
Note: All data has been preprocessed to csv format, raw data can be accessed from weather underground and GeoTab. Toolset for preprocessing raw data can be accessed upon request.
- multistep_lstm indludes python files for LSTM model building and training
- multistep_others includes comparison model ARIMA and XGBoost
To run our LSTM model, go to the directory and use the command:
python run_auto.py
LSTM was also developed to support transfer learning with command
python run_auto.py --transLearn
Note: Model training can take much longer time without GPU support. LA Dataset already includes trained models and ready for transfer learning, user can delete the content inside the LA/output to retrain.
Model output will be stored in the data/output folder.
Creat result folder under multistep_others for model output. ARIMA and XGBoost are for model comparison and were not developed for transfer learning.
To run our ARIMA model, go to multistep_others and use the command
python auto_arima_run.py
Note: ARIMA does not support any parallelization and can take a long time to finish. To help with the process, a Fast Mode has set to True as default here, and will only produce a result on randomly selected 3 stations. Change to False to test on the full dataset.
To run our XGBoost model, go to multistep_others and use the command
python xgboost_run.py
- Check out the slides AAG 2021 Presentation for more project details.
- Tutorial for LSTM using pytorch
- Tutorial for ARIMA
- Tutorial for XGBoost
Jingchao Yang
Email: [email protected]
Anusha Srirenganathan
Email: [email protected]