Thursday, November 21, 2019

Proposed Model: Ensemble Learning


As our first step, we plan to remove outliers/noise from our dataset which diverges our forecasting from the actual trend. We observed that the algorithms performed better on a particular type of time-series data. Like for time series with more seasonal component prophet approach would give better results. Classical methods like ETS and ARIMA give better results with short term dependencies in time series whereas complex models like RNN/LSTM gave better results when there was long term correlation in time series.
 Thus we plan to do Ensemble learning for web traffic prediction. Ensemble learning combines multiple predictions (forecasts) from one or multiple methods to overcome the accuracy of simple prediction and to avoid possible overfit. The models that we would be working with are as follows –
1)     Ensembles of classical models-
·        Autoregressive (AR),
·        Moving Average (MA),
·        Autoregressive Moving Average (ARMA),
·        Autoregressive Integrated Moving Average (ARIMA), and
·        Seasonal Autoregressive Integrated Moving Average (SARIMA) models.
2)     Ensembles of LSTM models
3)     Ensembles of Prophet
Learn More Abot ensemble Learning: https://towardsdatascience.com/ensemble-methods-in-machine-learning-what-are-they-and-why-use-them-68ec3f9fef5f

Previous Work 3: Prophet


Prophet is a procedure for forecasting time series data based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality, plus holiday effects. It works best with time series that have strong seasonal effects and several seasons of historical data. Prophet is robust to missing data and shifts in the trend, and typically handles outliers well.


Reference: https://www.kaggle.com/headsortails/wiki-traffic-forecast-exploration-wtf-eda
Learn more about Prophet:  https://facebook.github.io/prophet/

Previous Work 2: RNN Model


The model was rebuilt from the RNN seq2seq model, using the encoder-decoder architecture where cuDNN GRU was used to encode and TensorFlow GRUBlockCell as decoder with the output of the decoder passed on to the next step until the end of the sequence.

Previous Work 1: Arima Model

ARIMA, short for ‘AutoRegressive Integrated Moving Average’, is a forecasting algorithm based on the idea that the information in the past values of the time series can alone be used to predict future values. ARIMA models are used because they can reduce a non-stationary series to a stationary series using a sequence of differencing steps. 

Thursday, October 24, 2019

Literature Review!!

Link: Literature Review

Have a look at our literature review!

Our Data


Look at the data visualization above, it's quite evident that the number of hits for the English language is more than the rest. We can use this information to predict peak values in the time-series which is our goal. We want to optimize the use of servers. Here we can say that if the language of the webpage we are predicting for is not English then the numbers of servers required to host the website is less.

Other classifications:


PACF and ACF cutoff for tunable Parmeters in ARIMA model

We look at the cutoff points of PACF for Autoregressive and ACF for Moving Average models must be accounted for optimal results.
Here we can't go on to look at each time-series thus we have taken a random page and we try to visualize what actually is happening.
As we move forward preparing our model we plan to tune p,d,q parameters in the ARIMA model by minimizing the error in the whole dataset.
Here's a link you can refer to for more information:-
https://people.duke.edu/~rnau/411arim3.htm

Working Progress 8: Random Forest

Random Forest: It technically is an ensemble method (based on the divide-and-conquer approach) of decision trees generated on a randomly ...