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 Preparation
- EDA
- Model Selection + Cross Validation
- Model Result
- Time Series Model Development
- Statsmodels
- Pandas
- Numpy
- Neural Prophet
- sklearn
- xgboost
- Time Series Model Development
- Using LSTM, GRU, another complex model.
- Statistical Model like VAR
- Statspace Models : Kalman Filter, Hidden Markov Model
- Clone the repo
#clone the repository first
git clone https://github.com/fakhrirobi/airtraffic_forecast.git
- change directory
#change directory
pip install .
- Data Preparation
cd airtraffic_forecast/data/prepare_data
python generate_modified_data.py
- Begin Modelling
cd airtraffic_forecast/modelling
# --method : statistical, nn, ML
python start_modelling.py --method
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 :
-
Statsmodels SARIMAX syntax is not similar to sklearn .fit(data) but instead the data is defined when defining the model
..