{"id":22197860,"url":"https://github.com/onmax/bachelor-thesis-code","last_synced_at":"2025-03-24T23:34:56.754Z","repository":{"id":114513846,"uuid":"320876849","full_name":"onmax/bachelor-thesis-code","owner":"onmax","description":"Bachelor's thesis about comparing different models using RNN for forecasting bike demand in Chicago","archived":false,"fork":false,"pushed_at":"2021-02-12T18:49:45.000Z","size":862930,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-23T22:21:22.539Z","etag":null,"topics":["bikesharing","forecasting","neural-networks","recurrent-neural-networks"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onmax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-12-12T16:44:07.000Z","updated_at":"2021-02-12T18:49:47.000Z","dependencies_parsed_at":"2023-05-17T10:00:22.613Z","dependency_job_id":null,"html_url":"https://github.com/onmax/bachelor-thesis-code","commit_stats":{"total_commits":32,"total_committers":2,"mean_commits":16.0,"dds":0.15625,"last_synced_commit":"505d0f1cde0738a7f02ac36f1e17b7c4fcc45914"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onmax%2Fbachelor-thesis-code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onmax%2Fbachelor-thesis-code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onmax%2Fbachelor-thesis-code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onmax%2Fbachelor-thesis-code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onmax","download_url":"https://codeload.github.com/onmax/bachelor-thesis-code/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245372221,"owners_count":20604488,"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":["bikesharing","forecasting","neural-networks","recurrent-neural-networks"],"created_at":"2024-12-02T14:24:25.859Z","updated_at":"2025-03-24T23:34:56.726Z","avatar_url":"https://github.com/onmax.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Forecasting bike demand\n\nThis projects aims to create differente neural networks that predict the bike usage in a given set of intervals. The code uses datasets with each row as interval and each column with different data about that interval. This data can be: `hour`, `day_of_month` or `month` with the real data about the stations that are about to be predicted of the previous intervals. It also uses a sliding windows which a generator similar to the one that you can see in [this tutorial](https://www.tensorflow.org/tutorials/structured_data/time_series#data_windowing).\n\n\n## Paper\n\nThe final paper can be viewed in [this repository](https://github.com/onmax/bachelor-thesis-paper/tree/main/data) where it shows more info, the results and some theory about neural networks and RNN.\n\n\n## Models created\n\nIn this project 5 models have been developed:\n\n- Baseline: It just return the prediction with the same data as one week before\n- Dense: It is just two layers of dense units\n- SimpleRNN: A SimpleRNN layer with a dense one\n- LSTM: A LSTM layer with a dense one\n- Autoregressive: A model that uses its own prediction as input. Also it relays heavily on [this tutorial](https://www.tensorflow.org/tutorials/structured_data/time_series#advanced_autoregressive_model).\n\n## WindowGenerator\n\nIt follows the same logic as in the [tutorial of Tensorflow](https://www.tensorflow.org/tutorials/structured_data/time_series#data_windowing).\n\nIt can create subdatasets given a dataset. Given a dataset of 7 intervals, and the window configuration as 3 inputs and 1 output will generate 4 windows. Graphically:\n\n![Sliding windos](docs-images/sliding-windows.png \"Sliding windows\")\n\n## Original dataset\n\nThe original dataset is from the company [Divvy in Chicago](https://divvy-tripdata.s3.amazonaws.com/index.html). Some modifications have been developed and part of the data is being saved in this repository as [byte files](./data/parts).\n\n## Library used\n\nThis project depends mainly on:\n\n- Tensorflow and Keras as Machine Learning library\n- Pandas and Numpy as data structures libraries\n- Matplotlib for plotting with SciencePlot theme\n\n----------\n#### This project has been my bachelor's thesis.\n\nThe paper written for this paper can be seen at: [onmax/bachelor-thesis-paper](https://github.com/onmax/bachelor-thesis-paper).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonmax%2Fbachelor-thesis-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonmax%2Fbachelor-thesis-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonmax%2Fbachelor-thesis-code/lists"}