{"id":19892,"name":"load_forecasting","description":"Load forecasting on Delhi area electric power load using ARIMA, RNN, LSTM and GRU models.","url":"https://github.com/pyaf/load_forecasting","last_synced_at":"2026-04-22T22:02:46.209Z","repository":{"id":28322572,"uuid":"118086285","full_name":"pyaf/load_forecasting","owner":"pyaf","description":"Forecasting electric power load of Delhi using ARIMA, RNN, LSTM, and GRU models","archived":false,"fork":false,"pushed_at":"2026-01-23T18:39:16.000Z","size":21274,"stargazers_count":616,"open_issues_count":9,"forks_count":161,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-01-25T21:37:33.898Z","etag":null,"topics":["arima","electric-load-forecasting","gru","lstm","machine-learning","rnn","ses","sma","time-series-forecasting","wma"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/pyaf.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-01-19T06:26:42.000Z","updated_at":"2026-01-21T13:55:59.000Z","dependencies_parsed_at":"2025-04-17T08:56:39.136Z","dependency_job_id":"d988a160-e520-44f7-963e-4886eba4738a","html_url":"https://github.com/pyaf/load_forecasting","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pyaf/load_forecasting","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyaf%2Fload_forecasting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyaf%2Fload_forecasting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyaf%2Fload_forecasting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyaf%2Fload_forecasting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyaf","download_url":"https://codeload.github.com/pyaf/load_forecasting/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyaf%2Fload_forecasting/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30393559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T16:28:32.059Z","status":"ssl_error","status_checked_at":"2026-03-11T16:28:30.024Z","response_time":84,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"}},"owner":{"login":"pyaf","name":"Rishabh Agrahari","uuid":"17473589","kind":"user","description":"Head of AI Delivery @tvarit-foggy ","email":"","website":"https://pyaf.medium.com/","location":"Pune, India","twitter":"pyags","company":"Tvarit GmbH","icon_url":"https://avatars.githubusercontent.com/u/17473589?u=76e09d33a7786f804b084917a22eb2a26634db91\u0026v=4","repositories_count":69,"last_synced_at":"2024-06-11T15:42:57.763Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/pyaf","funding_links":[],"total_stars":868,"followers":237,"following":13,"created_at":"2022-11-11T17:38:44.129Z","updated_at":"2024-06-11T15:42:59.884Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyaf","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyaf/repositories"},"packages":[],"commits":{"id":1253969,"full_name":"pyaf/load_forecasting","default_branch":"master","total_commits":64,"total_committers":4,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":16.0,"dds":0.40625,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-03-03T03:00:57.642Z","last_synced_commit":"6525815ff162e4551f59febe8bc9b94c695e9222","created_at":"2023-03-27T10:49:11.578Z","updated_at":"2026-03-03T03:00:31.218Z","committers":[{"name":"Rishabh Agrahari","email":"rishabh.agrahari.eee15@iitbhu.ac.in","login":"pyaf","count":38},{"name":"Ayush Goyal","email":"36241930+agl29","login":"agl29","count":24},{"name":"Ubuntu","email":"ubuntu@ip-172-31-18-80.ap-south-1.compute.internal","login":null,"count":1},{"name":"Rishabh Agrahari","email":"rishabh.agrahari@tvarit.com","login":null,"count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyaf%2Fload_forecasting/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-21T00:00:06.680Z","repositories_count":6201763,"commits_count":935901880,"contributors_count":36155213,"owners_count":1145752,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"pyaf/load_forecasting","html_url":"https://github.com/pyaf/load_forecasting","last_synced_at":"2026-03-06T02:00:14.954Z","status":null,"issues_count":7,"pull_requests_count":52,"avg_time_to_close_issue":377823.5,"avg_time_to_close_pull_request":32777127.692307692,"issues_closed_count":2,"pull_requests_closed_count":52,"pull_request_authors_count":2,"issue_authors_count":7,"avg_comments_per_issue":0.8571428571428571,"avg_comments_per_pull_request":0.5192307692307693,"merged_pull_requests_count":24,"bot_issues_count":0,"bot_pull_requests_count":27,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":1.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:34:54.375Z","updated_at":"2026-03-06T02:00:14.983Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyaf%2Fload_forecasting","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyaf%2Fload_forecasting/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":27},"issue_author_associations_count":{"NONE":7},"pull_request_author_associations_count":{"NONE":27,"COLLABORATOR":25},"issue_authors":{"d-rorschach":1,"my-hub30":1,"xykun1997":1,"debottam123":1,"disdorqin":1,"A1berttt":1,"sherpahu":1},"pull_request_authors":{"dependabot[bot]":27,"agl29":25},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-21T00:00:06.750Z","repositories_count":13837930,"issues_count":34767421,"pull_requests_count":113513031,"authors_count":11207947,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{"disdorqin":1},"past_year_pull_request_authors":{},"maintainers":[{"login":"agl29","count":25,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agl29"}],"active_maintainers":[]},"events":{"total":{"DeleteEvent":1,"PullRequestEvent":7,"ForkEvent":8,"IssuesEvent":1,"WatchEvent":94,"PushEvent":1,"CreateEvent":3},"last_year":{"DeleteEvent":1,"PullRequestEvent":7,"ForkEvent":4,"IssuesEvent":1,"WatchEvent":52,"CreateEvent":3}},"keywords":["arima","electric-load-forecasting","gru","lstm","machine-learning","rnn","ses","sma","time-series-forecasting","wma"],"dependencies":[{"ecosystem":"pypi","filepath":"models/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-31T23:27:59.081Z","updated_at":"2022-07-31T23:27:59.081Z","repository_link":"https://github.com/pyaf/load_forecasting/blob/master/models/requirements.txt","dependencies":[{"id":531252372,"package_name":"absl-py","ecosystem":"pypi","requirements":"==0.6.1","direct":true,"kind":"runtime","optional":false},{"id":531252373,"package_name":"astor","ecosystem":"pypi","requirements":"==0.7.1","direct":true,"kind":"runtime","optional":false},{"id":531252374,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.6.3","direct":true,"kind":"runtime","optional":false},{"id":531252375,"package_name":"certifi","ecosystem":"pypi","requirements":"==2018.11.29","direct":true,"kind":"runtime","optional":false},{"id":531252376,"package_name":"chardet","ecosystem":"pypi","requirements":"==3.0.4","direct":true,"kind":"runtime","optional":false},{"id":531252377,"package_name":"gast","ecosystem":"pypi","requirements":"==0.2.0","direct":true,"kind":"runtime","optional":false},{"id":531252378,"package_name":"grpcio","ecosystem":"pypi","requirements":"==1.17.1","direct":true,"kind":"runtime","optional":false},{"id":531252379,"package_name":"h5py","ecosystem":"pypi","requirements":"==2.8.0","direct":true,"kind":"runtime","optional":false},{"id":531252380,"package_name":"idna","ecosystem":"pypi","requirements":"==2.8","direct":true,"kind":"runtime","optional":false},{"id":531252381,"package_name":"Keras","ecosystem":"pypi","requirements":"==2.2.4","direct":true,"kind":"runtime","optional":false},{"id":531252382,"package_name":"Keras-Applications","ecosystem":"pypi","requirements":"==1.0.6","direct":true,"kind":"runtime","optional":false},{"id":531252383,"package_name":"Keras-Preprocessing","ecosystem":"pypi","requirements":"==1.0.5","direct":true,"kind":"runtime","optional":false},{"id":531252384,"package_name":"lxml","ecosystem":"pypi","requirements":"==4.2.5","direct":true,"kind":"runtime","optional":false},{"id":531252385,"package_name":"Markdown","ecosystem":"pypi","requirements":"==3.0.1","direct":true,"kind":"runtime","optional":false},{"id":531252386,"package_name":"numpy","ecosystem":"pypi","requirements":"==1.15.4","direct":true,"kind":"runtime","optional":false},{"id":531252387,"package_name":"pandas","ecosystem":"pypi","requirements":"==0.23.4","direct":true,"kind":"runtime","optional":false},{"id":531252388,"package_name":"patsy","ecosystem":"pypi","requirements":"==0.5.1","direct":true,"kind":"runtime","optional":false},{"id":531252389,"package_name":"protobuf","ecosystem":"pypi","requirements":"==3.6.1","direct":true,"kind":"runtime","optional":false},{"id":531252390,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"==2.7.5","direct":true,"kind":"runtime","optional":false},{"id":531252391,"package_name":"pytz","ecosystem":"pypi","requirements":"==2018.7","direct":true,"kind":"runtime","optional":false},{"id":531252392,"package_name":"PyYAML","ecosystem":"pypi","requirements":"==3.13","direct":true,"kind":"runtime","optional":false},{"id":531252393,"package_name":"requests","ecosystem":"pypi","requirements":"==2.21.0","direct":true,"kind":"runtime","optional":false},{"id":531252394,"package_name":"schedule","ecosystem":"pypi","requirements":"==0.5.0","direct":true,"kind":"runtime","optional":false},{"id":531252395,"package_name":"scikit-learn","ecosystem":"pypi","requirements":"==0.20.1","direct":true,"kind":"runtime","optional":false},{"id":531252396,"package_name":"scipy","ecosystem":"pypi","requirements":"==1.2.0","direct":true,"kind":"runtime","optional":false},{"id":531252397,"package_name":"six","ecosystem":"pypi","requirements":"==1.12.0","direct":true,"kind":"runtime","optional":false},{"id":531252398,"package_name":"sklearn","ecosystem":"pypi","requirements":"==0.0","direct":true,"kind":"runtime","optional":false},{"id":531252399,"package_name":"statsmodels","ecosystem":"pypi","requirements":"==0.9.0","direct":true,"kind":"runtime","optional":false},{"id":531252400,"package_name":"tensorboard","ecosystem":"pypi","requirements":"==1.12.1","direct":true,"kind":"runtime","optional":false},{"id":531252401,"package_name":"tensorflow","ecosystem":"pypi","requirements":"==1.12.0","direct":true,"kind":"runtime","optional":false},{"id":531252402,"package_name":"termcolor","ecosystem":"pypi","requirements":"==1.1.0","direct":true,"kind":"runtime","optional":false},{"id":531252403,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.24.1","direct":true,"kind":"runtime","optional":false},{"id":531252404,"package_name":"Werkzeug","ecosystem":"pypi","requirements":"==0.14.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"server/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-07-31T23:27:59.424Z","updated_at":"2022-07-31T23:27:59.424Z","repository_link":"https://github.com/pyaf/load_forecasting/blob/master/server/requirements.txt","dependencies":[{"id":531256091,"package_name":"Django","ecosystem":"pypi","requirements":"==2.0.2","direct":true,"kind":"runtime","optional":false},{"id":531256083,"package_name":"amqp","ecosystem":"pypi","requirements":"==1.4.9","direct":true,"kind":"runtime","optional":false},{"id":531256084,"package_name":"anyjson","ecosystem":"pypi","requirements":"==0.3.3","direct":true,"kind":"runtime","optional":false},{"id":531256085,"package_name":"beautifulsoup4","ecosystem":"pypi","requirements":"==4.6.0","direct":true,"kind":"runtime","optional":false},{"id":531256086,"package_name":"billiard","ecosystem":"pypi","requirements":"==3.3.0.23","direct":true,"kind":"runtime","optional":false},{"id":531256087,"package_name":"bs4","ecosystem":"pypi","requirements":"==0.0.1","direct":true,"kind":"runtime","optional":false},{"id":531256088,"package_name":"celery","ecosystem":"pypi","requirements":"==3.1.18","direct":true,"kind":"runtime","optional":false},{"id":531256089,"package_name":"certifi","ecosystem":"pypi","requirements":"==2018.1.18","direct":true,"kind":"runtime","optional":false},{"id":531256090,"package_name":"chardet","ecosystem":"pypi","requirements":"==3.0.4","direct":true,"kind":"runtime","optional":false},{"id":531256092,"package_name":"idna","ecosystem":"pypi","requirements":"==2.6","direct":true,"kind":"runtime","optional":false},{"id":531256093,"package_name":"kombu","ecosystem":"pypi","requirements":"==3.0.37","direct":true,"kind":"runtime","optional":false},{"id":531256094,"package_name":"lxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":531256095,"package_name":"mysqlclient","ecosystem":"pypi","requirements":"==1.3.12","direct":true,"kind":"runtime","optional":false},{"id":531256096,"package_name":"pytz","ecosystem":"pypi","requirements":"==2018.3","direct":true,"kind":"runtime","optional":false},{"id":531256097,"package_name":"redis","ecosystem":"pypi","requirements":"==2.10.3","direct":true,"kind":"runtime","optional":false},{"id":531256098,"package_name":"requests","ecosystem":"pypi","requirements":"==2.18.4","direct":true,"kind":"runtime","optional":false},{"id":531256099,"package_name":"urllib3","ecosystem":"pypi","requirements":"==1.22","direct":true,"kind":"runtime","optional":false}]}],"score":7.824046010856292,"created_at":"2023-09-11T14:52:07.885Z","updated_at":"2026-04-22T22:02:46.217Z","avatar_url":"https://github.com/pyaf.png","language":"Jupyter Notebook","category":"Energy Systems","sub_category":"Load and Demand Forecasting","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Electric Load Forecasting\n\nUnder graduate project on short term electric load forecasting. Data was taken from [State Load Despatch Center, Delhi](www.delhisldc.org/) website and multiple time series algorithms were implemented during the course of the project.\n\n### Models implemented:\n\n`models` folder contains all the algorithms/models implemented during the course of the project:\n\n* Feed forward Neural Network [FFNN.ipynb](models/FFNN.ipynb)\n* Simple Moving Average [SMA.ipynb](models/SMA.ipynb)\n* Weighted Moving Average [WMA.ipynb](models/WMA.ipynb)\n* Simple Exponential Smoothing [SES.ipynb](models/SES.ipynb)\n* Holts Winters [HW.ipynb](models/HW.ipynb)\n* Autoregressive Integrated Moving Average [ARIMA.ipynb](models/ARIMA.ipynb)\n* Recurrent Neural Networks [RNN.ipynb](models/RNN.ipynb)\n* Long Short Term Memory cells [LSTM.ipynb](models/LSTM.ipynb)\n* Gated Recurrent Unit cells [GRU.ipynb](models/GRU.ipynb)\n\nscripts:\n\n* `aws_arima.py` fits ARIMA model on last one month's data and forecasts load for each day.\n* `aws_rnn.py` fits RNN, LSTM, GRU on last 2 month's data and forecasts load for each day.\n* `aws_smoothing.py` fits SES, SMA, WMA on last one month's data and forecasts load for each day.\n* `aws.py` a scheduler to run all above three scripts everyday 00:30 IST.\n* `pdq_search.py` for grid search of hyperparameters of ARIMA model on last one month's data.\n* `load_scrap.py` scraps day wise load data of Delhi from [SLDC](https://www.delhisldc.org/Loaddata.aspx?mode=17/01/2018) site and stores it in csv format.\n* `wheather_scrap.py` scraps day wise whether data of Delhi from [wunderground](https://www.wunderground.com/history/airport/VIDP/2017/8/1/DailyHistory.html) site and stores it in csv format.\n\n`server` folder contains django webserver code, developed to show the implemented algorithms and compare their performance. All the implemented algorithms are being used to forecast today's Delhi electricity load [here](http://forecast.energyandsystems.com) [now deprecated]. Project report can be found in [Report](Report) folder. \n\n![A screenshot of the website](screenshots/website.png \"A screenshot of the website\")\n\n\n### Team Members:\n\n* Ayush Kumar Goyal\n* Boragapu Sunil Kumar\n* Srimukha Paturi\n* Rishabh Agrahari\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=pyaf/load_forecasting\u0026type=Date)](https://star-history.com/#pyaf/load_forecasting\u0026Date)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/19892","html_url":"https://ost.ecosyste.ms/projects/19892"}