/IoT-Trend-Prediction

IoT time series forecasting (Trend Prediction) using ARIMA model in JS

Primary LanguageJavaScriptOtherNOASSERTION

IoT Trend Prediction Using ARIMA Model

ARIMA: stands for Auto Regression Integrated Moving Average. Wiki Link

Here is a JavaScript implementation for the following models from ARIMA family:

  • AR(p).
  • MA(q).
  • ARMA(p,q).
  • ARIMA(p, d, q)

In two different ways of implementation:

It provides ARIMA model APIs. The full equation for the non-seasonal arima model is:

$$ \Phi(B)(y_t'-\mu)=\Theta(B)\varepsilon_t $$

where,

  • $B$ is the backshift operator: $By_t=y_{t-1};B\varepsilon_t=\varepsilon_{t-1};B\phi=\phi;B^dy_t=y_{t-d}$.
  • $y_t'$ is the differenced series: $y_t'=y_t-y_{t-1}$
  • $\mu$ is the mean of the differenced series: $\mu=\frac{1}{T}\sum_{t=0}^Ty_t'$.
  • $\varepsilon_t$ is the residual: $\varepsilon_t=y_t-\hat{y_t}$.
  • $\Phi$ are the auto regression weights: $\Phi(B)=(1-B\phi_1-...-B^p\phi_p)$.
  • $\Theta$ are the moving average weights: $\Theta(B)=(1+B\theta_t+...+B^q\theta_q)$.

It supports working on Master of Things (MoT) platform for serving IoT solutions.


Credits

This project was carried out under the supervision of:

ITI Logo SpimeSenseLabs Logo

, as a graduation project from 9-month professional training program in Artificial Intelligence powerded by the Egyptian Ministry of Communications and Information Technology (MCIT) in cooperation with EPITA in France.

EPITA Logo

Team