Skip to content

A PyTorch ensemble neural network model used for time series analysis.

License

Notifications You must be signed in to change notification settings

ColleenKeegan/FilterNet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FilterNet

FilterNet is a ensemble neural network model used for time series analysis. It is comprised of a 1D convolutional neural network and fast.ai's MixedInputModel. An example of the network implemented in PyTorch is located in filternet.py and provides the model class along with its corresponding dataset class. Links to the abstract, slides, and video of our presentation at PyData Los Angeles 2018 will be provided below.

This 1D convolutional neural network (CNN) was inspired by the traditional use of filters in discrete time signal processing. While developed independently, it closely resembles the findings described in the WaveNet paper by Borovykh et al. While the 1D CNN performed well on its own, datasets can have a lot of context associated with them (hour of day, day of week, etc.) which the 1D CNN alone is unable to handle. We utilized fastai's MixedInputModel, which has been used successfully for tabular data, to include learnings on the context portion of our datasets. The two neural networks are combined using a final regression layer and were found to compliment each other. In testing, the resulting ensemble model outperformed one of our current best production time series models (TBATS).

Our hope is by open sourcing our approach it will help generate further ideas on how to improve time series modeling using neural networks.

PyData Los Angeles 2018 presentation:

Contributing authors:

  • Jeff Roach (Data Scientist at System1)
  • Nathan Janos (Chief Data Officer at System1)

For more information about System1, please visit: www.system1.com

About

A PyTorch ensemble neural network model used for time series analysis.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%