{"id":26183816,"url":"https://github.com/mikata-project/filternet","last_synced_at":"2025-07-07T01:38:41.757Z","repository":{"id":129105004,"uuid":"155749417","full_name":"Mikata-Project/FilterNet","owner":"Mikata-Project","description":"A PyTorch ensemble neural network model used for time series analysis.","archived":false,"fork":false,"pushed_at":"2019-03-05T18:53:08.000Z","size":16,"stargazers_count":59,"open_issues_count":0,"forks_count":24,"subscribers_count":65,"default_branch":"master","last_synced_at":"2025-04-14T23:41:26.307Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mikata.dev/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mikata-Project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-11-01T17:13:21.000Z","updated_at":"2025-01-15T08:43:01.000Z","dependencies_parsed_at":"2023-06-26T16:34:04.704Z","dependency_job_id":null,"html_url":"https://github.com/Mikata-Project/FilterNet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Mikata-Project/FilterNet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mikata-Project%2FFilterNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mikata-Project%2FFilterNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mikata-Project%2FFilterNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mikata-Project%2FFilterNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mikata-Project","download_url":"https://codeload.github.com/Mikata-Project/FilterNet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mikata-Project%2FFilterNet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263999347,"owners_count":23542022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-11T22:49:21.696Z","updated_at":"2025-07-07T01:38:41.740Z","avatar_url":"https://github.com/Mikata-Project.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## FilterNet\nFilterNet is a ensemble neural network model used for time series analysis. It is comprised of a 1D convolutional neural\nnetwork and fast.ai's MixedInputModel. An example of the network implemented in PyTorch is located in filternet.py and \nprovides the model class along with its corresponding dataset class. Links to the abstract, slides, and video of our\npresentation at PyData Los Angeles 2018 will be provided below.\n\nThis 1D convolutional neural network (CNN) was inspired by the traditional use of filters in discrete time signal \nprocessing. While developed independently, it closely resembles the findings described in the \n[WaveNet paper by Borovykh et al](https://arxiv.org/pdf/1703.04691.pdf). While the 1D CNN performed well on its own, \ndatasets can have a lot of context associated with them (hour of day, day of week, etc.) which the 1D CNN alone is \nunable to handle. We utilized [fastai's MixedInputModel](https://github.com/fastai/fastai), which has been used \nsuccessfully for tabular data, to include learnings on the context portion of our datasets. The two neural networks are \ncombined using a final regression layer and were found to compliment each other. In testing, the resulting ensemble \nmodel outperformed one of our current best production time series models ([TBATS](https://robjhyndman.com/hyndsight/forecasting-weekly-data/)).\n\nOur hope is by open sourcing our approach it will help generate further ideas on how to improve time series modeling \nusing neural networks.\n\nPyData Los Angeles 2018 presentation:\n- [Abstract](https://pydata.org/la2018/schedule/presentation/14)\n- [Slides](https://docs.google.com/presentation/d/e/2PACX-1vR6eea4L_Z_hyz24kgch3Lt5eEQ9PmmI2gUys_DcQrWY0EbG5CfOy4suqeLejXEql3x-nYT2NshrQRc/pub?start=false\u0026loop=false\u0026delayms=3000)\n- [Video](https://www.youtube.com/watch?v=nMkqWxMjWzg)\n\nContributing authors:\n- Jeff Roach (Data Scientist at System1)\n- Nathan Janos (Chief Data Officer at System1)\n\nFor more information about System1, please visit: www.system1.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikata-project%2Ffilternet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikata-project%2Ffilternet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikata-project%2Ffilternet/lists"}