/iot_temp_pred

Multi-step Hourly Temperature Prediction Using Vehicle-IoT and ML

Primary LanguageJupyter Notebook

Hourly Temperature Prediction in Python

  • This project has been validated here with a detailed tutorial for experiment duplication.
  • Check out the slides AAG 2021 Presentation for more project details.

Preparing your dataset:

Dataset can be downloaded here. Please contact the author Jingchao Yang (jyang43@gmu.edu) for direct access if link expires.

  • Place the dataset in the data folder to avoid additional path setup 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.

Requirements:

  • Python 3.7
  • PyTorch 1.7.0 (code has GPU support, but can run without)
  • Pandas 1.0.1
  • scikit-learn
  • scipy
  • numpy
  • matplotlib
  • tqdm
  • pmdarima
  • xgboost

Category of models:

- LSTM:

To run our LSTM model for regional training, 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 store in the data/output folder

- Other models

Creat result folder under multistep_others for model output. ARIMA and XGBoost are for model comparison and were not developed for transfer learning

- ARIMA:

To use our ARIMA model, go to multistep_others and use the command

python auto_arima_run.py

- XGBoost:

To use our XGBoost model, go to multistep_others and use the command

python xgboost_run.py

Useful links