Gamification
The main objective of the project is the creation of a module with the help of Web Scraping, Machine Learning and Artificial Intelligence techniques capable of recommending the recommended light intensity for the next day of the public lights of a city in a given context. The objective when giving intensity recommendations is to reduce it in those moments that the context allows it and thus achieve energy and CO2 savings.
The repository contains the entire process, from the extraction of the context (weather data, electricity prices, events) to the calculation of recommendations and graphs of energy and CO2 savings. The code has excellent comments at each step, ensuring a clear understanding of each module.
The recommender will take as input information about the weather from the last 3 days (to determine, for example, whether the ground will be covered in snow), as contextual data for the next day. These contextual data are made up of: meteorological data (weather, rain, clouds, moon phase, lunar and solar lighting), electricity price and events in the city on the day to be recommended. The results of the recommender are: recommended intensity, energy savings and CO2 savings.
This is the repository for the implementation of the predictive maintenance project for INNERGY.
Description of the project:
The main objective of the project is the creation of a module with the help of Web Scraping, Machine Learning and Artificial Intelligence techniques capable of recommending the recommended light intensity for the next day of the public lights of a city in a given context. The objective when giving intensity recommendations is to reduce it in those moments that the context allows it and thus achieve energy and CO2 savings. The repository contains the entire process, from the extraction of the context (weather data, electricity prices, events) to the calculation of recommendations and graphs of energy and CO2 savings. The code has excellent comments at each step, ensuring a clear understanding of each module.
The recommender will take as input information about the weather from the last 3 days (to determine, for example, whether the ground will be covered in snow), as contextual data for the next day. These contextual data are made up of: meteorological data (weather, rain, clouds, moon phase, lunar and solar lighting), electricity price and events in the city on the day to be recommended. The results of the recommender are: recommended intensity, energy savings and CO2 savings.
-
Contextual Data Extractor
-
Sky Info Web scraping: The extraction of data related to the sky is carried out from various Web Scrapers
- Meteo web scraping: Gather the meteorological information from a certain municipality over a specified time period using web scraping.
- Moon phases web scraping: Gather the information on the lunar phases to find out if the moon is going to improve the city's nighttime lighting.
- Moonrise and moonset web scraping: Obtain data related to the time of moonrise and moonset to know which time ranges it will affect and we have to consider the characteristics of the moon.
- Sunrise and sunset web scraping: Obtain data related to the time of sunrise and sunset to know in which time ranges there will be natural light and it is not necessary to use artificial light in the city.
-
Events Extractor: It is used to obtain the list of events scheduled in the city. There are currently two ways to obtain these events:
- Google Events web scraping: Extracts city events that have been published on Google and have been collected by the Google Events tool (engine).
- Events Generator: False event generator using artificial intelligence (ChatGPT). It is important to carry out tests in cities where, due to their small size, not many events are held.
-
Light Prices Web scraping: Gather the price of electricity over a specified time period using web scraping.
-
-
Node Classifier: The Node Classifier module is an essential part of our project that is used for classifying nodes in a municipality based on their geographical location. This allows identifying in which specific zone of the municipality each node is located, which is essential for the management and control of lighting systems, event monitoring and other related applications.
-
Data preprocessing: Pipeline to do the necessary data preprocessing of the raw breakdown data, the raw nodes data and the scrapped contextual data.
-
Light Intensity Recommender: Recommend light intensity levels based on contextual factors and calculate energy and CO2 savings.
-
Visualizer: Chart creator to visualize the intensity recommender results.
Let's explain step-by-step how each one of the modules works:
"It is important to note that although the modules can be executed separately, the idea is to execute the main program, which executes all the modules sequentially and is designed to be able to configure the recommender by introducing input arguments. After explaining how the modules work separately, you will be able to find out how the main module works and how it can be executed."
- User mistrust:
Action: The user is informed about the level of automatization and can decide to accept or not accept the recommendations of the AI
- Posible low accuracy:
Action: We gathered more historical data from multiple cities and we changed the column to predict from a continuous variable to categorical
- Integrity loss:
Action: The is no personal data at all used in the project
- Inability to contest a decision, fake expectations, untransparent decisions, excessive trust in the AI system
Action: We have added strong documentation with extremely detailed information about the models and the development process.
- Hinder the realization of UN SDG's
Action: The models used for this project are Ada Boost with no more than 1GB of data so the carbon emissions of using this models is negligible
- Inability to ensure both the ability to report on the actions or decisions that constribute to a particular system outcome and to respond to the consequences of that outcome
Action: We have conducted multiple internal audits