0

I have a time series like 4, 6, 10, 12, 2, 23, 4,... It is not a stationary time series so I do not want to use arima algorithm. I perfer neural networks. There is some algorithm in R package such as forecast. But that function (nnetar in forecast) is simple. It only has single hidden layer.

I want to use deep learning that includes more layers to do time series. h2o or mxnet seems good because they not only have multiple layers, but also can customize the number of the nodes in every layer. But I am not sure if h2o or mxnet can be used for time series prediction. my h2o version is 3.16.0.2 and my mxnet version is 0.10.1

Could anyone please let me know if h2o or mxnet can do this? If so, how to use these packages?

Feng Chen
  • 119
  • 1
  • 5

2 Answers2

2

Deep Learning - The Straight Dope is a book using Jupyter notebooks that uses MXNet. It has chapters on RNNs and even on time series.

H2O has this in documentation on neural networks:

The H2O Deep Water project supports CNNs and RNNs though third-party integrations of other deep learning libraries such as TensorFlow, Caffe and MXNet.

Jakub Bartczuk
  • 5,526
  • 1
  • 14
  • 36
1

You can use deep neural networks for time series prediction, specifically a type of deep net called LSTM. I've seen it with done with LSTM in Tensorflow, but I'm sure you can do it with h2o as well (see also here).

Whether this actually performs better than ARIMA or not is an open question and will likely depend on the data.

One problem with using neural nets is that they are a black box, while ARIMA models can be interpreted by a forecaster to some extent.

You say that you can't use ARIMA because the time series is not stationary, but you seem to be misunderstanding the nature of ARIMA.

It is ARMA models which require stationarity. The "I" in the middle of ARIMA stands for "Integrated" and refers to the process of differencing whose purpose is to transform non-stationary data into stationary data, so that an ARMA model then can be applied to it.

Basically, the whole point of ARIMA is that it is a modification of ARMA so that it can be used for non-stationary series.

So if your only problem is non-stationarity, then you can still use ARIMA.

Moreover, you can use exponential smoothing and state space models for non-stationary data.

These models are much more established and better understood than LSTM and RNN when it comes to times series forecasting.

Skander H.
  • 10,602
  • 2
  • 33
  • 81
  • Thanks a lot! Big help! I used ARIMA and neural networks like nnetar before. Usually, nnetar performs better than ARIMA, based on my experiences. Yeah, this is based on the data very much. – Feng Chen Jan 11 '18 at 06:33