This project is part of DataSynthis ML Job Task.
The goal is to forecast stock prices using traditional statistical methods (ARIMA) and machine learning / deep learning models (Prophet and LSTM).
We compare the performance of these models using rolling evaluation metrics.
📊 Models Implemented
ARIMA(1,1,0) – A statistical baseline model for time series forecasting.
Prophet (Rolling) – A machine learning approach that captures seasonality and trend.
LSTM – A deep learning recurrent neural network for sequential prediction.
🛠️ Workflow
Data Preprocessing
Load daily closing stock prices
Normalize data for deep learning models
Create rolling windows for evaluation
Model Training
Train ARIMA on historical data
Train Prophet on rolling windows
Train LSTM with look-back sequences
Model Evaluation
Metrics: RMSE, MAE, MAPE
Rolling evaluation ensures fair comparison
Visualization
Actual vs Predicted plots
Comparison table of metrics
📊 Performance Comparison
Model
RMSE
MAE
MAPE (%)
Naïve
42.76
31.11
1.17
Moving Average (5)
61.15
46.22
1.74
ARIMA(1,1,0)
42.95
31.29
1.18
Prophet (Rolling)
129.33
98.60
3.60
LSTM
82.51
64.73
2.48
🚀 Deployment
This project is deployed on Hugging Face Spaces under the name: