/Time-Series-Analysis-and-Forecast-using-ARIMA-Prophet

Project showcasing Time-Series data Analysis, and Machine Learning algorithms built for Time-Series Forecast

Primary LanguageJupyter Notebook

Time Series Analysis & Forecast of geological water data using ARIMA and Prophet

Image Preview for git


Disclaimer

  • Please open all .ipynb notebooks in google.colab , because github has problems with showing visualization packages.

Project Overview


  • Build both ARIMA / Prophet models for predicting depth to groundwater by using only univariate and multivariate dataframe in the modelling (features such as temperature, volume, hydrometry).
  • Conducted Time Series analysis including decomposition of time series data, and checking for stationarity, while finally making dataset stationary.

How will this project help?

  • This project helps how to navigate and working with timeseries data that is not stationary and data that required detailed analysis before transforming it. Talking about, predictions this model could be used later on by geologists in order to help them to determine depth to groundwater using previous timeseries knowledge and other feature such as volume, hydrometry.

Resources Used

  • packages: pandas, numpy, matplotlib, seaborn, statsmodels, missingno, pmdarima, fbprophet, sklearn.metrics
  • Data: Acea Smart Water Analytics - Link for Data

Steps in Analysis & Forecast

  1. Installation & Import of required libraries
  2. Structure Investigation
  • Check chronological order of dataframe
  • Interpolating missing values
  1. Visualization of target time series data
  2. Resampling/Smoothing
  3. Time Series EDA
  4. Stationarity
  • Augmented Dickey-Fulle test
  • Visual test of stationarity
  1. Making data Stationary
  2. ACF/PACF
  3. Modelling
  4. Train/test split
  5. Auto-Arima
  6. Prophet (Univariate)
  7. Prophet (Multivariate)

Reference

[1] https://towardsdatascience.com/how-to-color-a-pandas-dataframe-41ee45db04f6

[2] https://machinelearningmastery.com/time-series-forecasting-with-prophet-in-python/#:~:text=To%20use%20Prophet%20for%20forecasting,type%20of%20seasonality%2C%20and%20more

[3] https://towardsdatascience.com/significance-of-acf-and-pacf-plots-in-time-series-analysis-2fa11a5d10a8