Skip to content

s3mitt/Weather_forecast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Weather Forecasting & Temperature Trend Analysis using Machine Learning

Project Overview: This project analyzes historical weather data to study long-term temperature trends and seasonal patterns using Machine Learning concepts, time-series analysis, and interactive visualizations. The primary objective is to understand how temperature varies over years and across different seasons, and to prepare the data for future forecasting models.

Objectives: Analyze long-term temperature trends Perform seasonal aggregation (Winter, Summer, Monsoon, Autumn) Visualize trends using interactive plots Apply statistical trend analysis (OLS regression) Build a clean, interview-ready ML workflow

Dataset: Source: Historical weather dataset (Weather.csv)

Features: YEAR Monthly average temperatures: JAN to DEC

Target Variable: Temperature (continuous)

Machine Learning Concepts Used: Supervised Learning Regression Analysis Time-Series Data Handling Feature Engineering Seasonality Analysis Trend Analysis using OLS (Ordinary Least Squares)

Technologies & Libraries: Python Pandas – data manipulation NumPy – numerical computations Plotly (Express & Graph Objects) – interactive visualization Statsmodels – statistical trend analysis Jupyter Notebook

Project Workflow: 1️⃣ Data Loading & Cleaning Loaded dataset using Pandas Verified data types and structure Ensured chronological ordering of time-series data

2️⃣ Feature Engineering Created seasonal temperature features: Winter: December, January, February Summer: March, April, May Monsoon: June, July, August, September Autumn: October, November Seasonal aggregation helps reduce noise and capture meaningful climatic patterns.

3️⃣ Data Reshaping Converted wide-format data into long-format using pd.melt() Enabled grouped analysis and faceted visualizations

4️⃣ Visualization Interactive time-series plots using Plotly Seasonal faceted scatter plots Trend visualization using OLS regression

5️⃣ Trend Analysis Applied Ordinary Least Squares (OLS) regression Observed long-term warming/cooling trends Compared seasonal trends across years

Sample Visualizations: Temperature trend over time Seasonal mean temperature comparison Interactive zoom & range selection (Plots are generated dynamically in the notebook)

Evaluation Approach: Since the focus is trend analysis and exploratory forecasting: Visual trend inspection Statistical regression (OLS) Prepared dataset for future ML models

Challenges Faced: Jupyter kernel resets and environment issues Handling datetime and time-series sorting Data reshaping errors after melting Column mismatches during feature engineering (These challenges improved debugging and data engineering skills)

Future Enhancements: Apply forecasting models (Linear Regression, ARIMA, SARIMA) Add more weather features (humidity, rainfall, pressure) Implement rolling averages Build an interactive dashboard Extend to deep learning models (LSTM)

How to Run the Project: pip install pandas numpy plotly statsmodels

Open and run: jupyter notebook weather_forecasting.ipynb

-Sumit Sinha | Undergraduate | Project created for learning, analysis, and interview preparation.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors