This project used Airport passenger of San Fransisco Airport from 2005 to 2016
This Project was created to aim these following objectives :
- Create Time Series Model for Forecasting Purpose.
- Create Business Intelligence Dashboard .
- Create API for forecasting number of passenger of given period
- Dataset Exploration
- Chart Exploration
- Dashboard Layouting
- Creating Dashboard
- Deploy both on heroku
-
Dashboard Development :
- Dash
- Dash Bootstrap Component
- Dash Extention -> for lottie sticker
- Plotly -> creating figure
-
Deployment :
- Heroku
-
Time Series Model Development
- Use Deep Learning, Supervised ML,
- Pandas
- Numpy
-
API Development :
- Generate API Key
- Create DB (Using PostgreSQL) for API Key and Request
-
Deployment :
- Deploy on GCP / AWS
-
Other Devs :
- Create workflow to fetch API Data with Apache Airflow
- Create Package using Pip
- Use cookiecutter
- Implement Testing
You can access the webapp in : https://dashboardpassenger.herokuapp.com/
#clone the repository first
git clone https://github.com/fakhrirobi/forecast_passenger_BI.git
#change directory
cd forecast_passenger_BI
#run index.py
python index.py
RMSE Score | MAE Score | MAPE Score | model_name | |
---|---|---|---|---|
1 | 2.9332e+10 | 120793 | 0.028163 | RandomForestRegressor |
2 | 3.94132e+10 | 160227 | 0.0383572 | XGBRegressor |
3 | 8.33301e+11 | 823894 | 0.195214 | SVRegressor |
4 | 1.98349e+11 | 364297 | 0.0889501 | KNeighborsRegressor |
5 | 1.51227e+11 | 323093 | 0.0806871 | LinearRegression |
6 | 3.45687e+11 | 484491 | 0.11898 | PassiveAggressiveRegressor |
7 | 4.29552e+09 | 52562.4 | 0.0160444 | NeuralProphet_hidden_layer3_epoch_3_weekly_seasonality12 |
8 | 0.00879809 | 0.0750631 | 0.00494308 | SARIMA_1,0,1_1,0,1,12_ts_log |
9 | 0.000148183 | 0.00870418 | 0.0005716 | SARIMA_1,0,1_1,0,1,12_ts_log_moving_avg |
10 | 3.51627e+10 | 127422 | 0.0310854 | SARIMA_1,0,1_1,0,1,12_ts_moving_avg |
11 | 0.000148428 | 0.00895553 | 0.000589953 | SARIMA_1,0,1_1,0,1,12_ts_log_ewma |
12 | 0.00758013 | 0.0672904 | 0.977108 | SARIMA_1,0,1_1,0,1,12_ts_log_ewma_diff |
13 | 7724.52 | 69.9086 | 0.0352462 | SARIMA_1,0,1_1,0,1,12_sqrt_ts |
14 | 308.334 | 10.7121 | 0.00528588 | SARIMA_1,0,1_1,0,1,12_moving_avg_sqrt |
..
Dashboard Development :
-
Dash Syntax is challenging, since its require callback compared to streamlit which only needs like storing as variable to update value. However dash create more stunning dashboard.
..