nnet-ts
nnet-ts copied to clipboard
Neural network architecture for time series forecasting.
trafficstars
nnet-ts
Neural network architecture for time series forecasting.
Requirements and installation
This packages relies heavily on numpy, scipy, pandas, theano and keras. Check on their repositories how to install them first.
Then, simply fetch the package from PyPI.
sudo pip install nnet-ts
Usage
Using Box & Jenkins classical air passenger data.
from nnet_ts import *
time_series = np.array(pd.read_csv("AirPassengers.csv")["x"])
Create a TimeSeriesNnet object and specify each layer size and activation function.
neural_net = TimeSeriesNnet(hidden_layers = [20, 15, 5], activation_functions = ['sigmoid', 'sigmoid', 'sigmoid'])
Then just fit the data and predict values:
neural_net.fit(time_series, lag = 40, epochs = 10000)
neural_net.predict_ahead(n_ahead = 30)
Did we get it right? Let's check
import matplotlib.pyplot as plt
plt.plot(range(len(neural_net.timeseries)), neural_net.timeseries, '-r', label='Predictions', linewidth=1)
plt.plot(range(len(time_series)), time_series, '-g', label='Original series')
plt.title("Box & Jenkins AirPassenger data")
plt.xlabel("Observation ordered index")
plt.ylabel("No. of passengers")
plt.legend()
plt.show()
