This project is an end-to-end pipeline for time-series forecasting using real-world data retrieved via a REST API. The solution includes data extraction, cleaning, exploratory data analysis (EDA), model building, and deployment as an interactive web application using Streamlit.
Time-series forecasting plays a vital role in domains such as finance, weather, sales, and healthcare. This project focuses on creating a model that can generalize to any time-series dataset and predict future values. It handles the entire workflow, from API data retrieval to the deployment of a forecasting solution.
- Data Retrieval: Fetch time-series data using REST API.
- Data Cleaning & Preprocessing: Handle missing values, duplicates, and time zone inconsistencies.
- Exploratory Data Analysis:
- Plot trends, seasonality, and cyclic patterns.
- Identify stationarity using the Augmented Dickey-Fuller test.
- Analyze patterns using heatmaps and autocorrelation.
- Model Building:
- Train ARIMA and XGBoost models.
- Model Evaluation:
- Evaluate models using MAE, RMSE, and MAPE metrics.
- Generate confidence intervals and provide insights.
- Deployment: Deploy the solution using Streamlit for an interactive web interface.
- Fetch data from a REST API using API key.
- Handle authentication, rate limits, and errors.
- Handle missing and duplicate data.
- Convert timestamps to a consistent format (e.g.,
YYYY-MM-DD HH:MM:SS).
- Visualize data trends and patterns.
- Identify recurring cycles and stationarity.
- Train and fine-tune forecasting models.
- Predict future values for specific timeframes (e.g., next day, week, or month).
- Generate visualizations with confidence intervals.
- Build and deploy an interactive web app using Streamlit.
- Provide users with an intuitive interface to upload datasets and view predictions.
- Programming Language: Python
- Libraries:
pandas,numpy,matplotlib,seaborn,statsmodels,scikit-learn,Streamlit
- Clone the repository:
git clone <repository-url>
- Install dependencies:: pip install -r requirements.txt
- Run the app::
- streamlit run app.py
- Link : https://hackathon-25-zv14fu41um.streamlit.app/
- Open the web interface in your browser and interact with the deployed solution: