This project explores time-series machine learning methods for forecasting the next day's maximum temperature in Montreal using historical weather station records. The goal is to build a clear preprocessing and modeling pipeline, compare several supervised learning approaches, and evaluate which methods are most useful for short-term temperature prediction.
Accurate short-term temperature forecasts can support planning for energy demand, grid management, and weather-sensitive operations. In this project, I worked with multi-year weather station data and built a machine learning workflow for daily high-temperature prediction.
The project includes:
- Data cleaning and daily aggregation of weather station records
- Feature engineering for time-series weather prediction
- Missing value handling and outlier treatment
- Model comparison across classical and neural approaches
- Hyperparameter tuning and performance evaluation
The analysis uses weather records from 42 stations over 9 years, covering 2016-2025. The raw records were transformed into daily features suitable for supervised learning.
Main preprocessing steps included:
- Daily aggregation of station-level weather records
- Three-pass missing value imputation
- Percentile-based outlier clipping
- Feature preparation for next-day maximum temperature prediction
The project evaluated multiple regression models:
- Linear Regression
- Support Vector Regression
- Neural Network models
- Random Forest Regression
The strongest tuned model in this project was Support Vector Regression. After hyperparameter tuning with GridSearchCV, the SVR test mean squared error improved from 77.06 to 42.94.
This result suggests that model selection and tuning can substantially improve short-term weather forecasting performance, but the project remains an exploratory machine learning study rather than an operational forecasting system.
Forecasting_Daily_High_Temperature_v2.ipynb- main forecasting notebookCopy_of_Jiemin_Liang_v3.ipynb- earlier notebook versionWeatherStationRecordsAnalysisandTemperatur...- supporting notebook or analysis file
- Python-based data analysis
- Time-series preprocessing
- Regression modeling
- Hyperparameter tuning with GridSearchCV
- Model evaluation and comparison
- Working with multi-station weather data
This project was developed as a machine learning course/research-style project. Future improvements could include:
- Cleaner repository structure and notebook naming
- More explicit train/validation/test split documentation
- Additional time-series baselines
- Feature importance analysis
- Exported figures and reproducible environment files
Jiemin Liang
Honours Computer Science student, Concordia University
Interested in medical AI, vision-language model interpretability, and applied machine learning