This code pattern is part of a series that explores telecom call-drop predictions using IBM Cloud Pak for Data, Data Virtualization, Watson OpenScale, and Cognos Analyics. Other assets included in the series include:
A call drop is a situation where a call on a wireless network is disconnected before the caller ends the call. Some of the main reasons for call drops are:
Inadequate coverage, which can be due to multiple reasons:
- Lack of tower infrastructure
- Improper network planning
- Non-optimization of network
Overloaded cell towers – the number of subscribers grow each day and most of them are on smartphones. The network capacity is simply not being ramped up at the same pace, which results in overloaded networks.
Cityscape changes – there have been instances where newly-built multi-storied buildings cause adjacent building’s subscribers to lose cell reception. Such instances are very common with rapidly changing cityscapes and calls for routine network data analysis from service providers.
Switching between towers – this situation occurs when a person is traveling or moving around while talking. Chances of a dropped call increaase if a call handover takes place (transfer from one base transceiver station (BTS) to another), especially in the case of overloaded networks.
Technical failures – this is beyond anyone’s control and operators generally monitor down-times through well-equipped network operation centers.
This code pattern aims to create a model to predict call drops, trained on the above mentioned failures. With the help of an interactive dashboard, we use a time series model to better understand call drops. As a benefit to telecom providers and their customers, it can be used to identify issues at an earlier stage, allowing more time to take the necessary measures to mitigate problems. The main features of the solution include:
- Built on IBM Cloud Pak for Data.
- Data can come from multiple db sources, for example an internal Db2 Warehouse (SMP) within the Cloud Pak for Data instance, or other external sources like Db2 on Cloud, Oracle db, Postgres Db and so on. Data Virtualization will be used to integrate them all into one db source.
- Using a built-in notebook service, a time-series model that predicts call-drops in the the next 24 hours.
- A call-drop prediction model for each cell tower. These models will be monitored for quality and fairness using AI OpenScale.
- A Cognos Analytics dashboard that provides the user with an overall region-wise view of the call-drop scenarios. With the help of Watson OpenScale, the time-series model will be output in a graph, along with the models performance improvements.
After completing this code pattern, you’ll learn how to:
- Use Data Virtualization
- Create connections from Dbs hosted on multiple Cloud (AWS, Azure or IBM Cloud) or on-premise environments
- Create views from joins and publish data to your current Project
- Store custom models using open source technology on Watson Machine Learning
- Deploy a model and connect the model deployment to Watson OpenScale on Cloud Pak for Data and IBM Cloud
- Setup Model Fairness and Model Quality montiors in Watson OpenScale on Cloud Pak for Data, and on IBM Cloud, using a python notebook
- Create a project and setup a python notebook on Cloud Pak for Data
- Data stored across various sources, like AWS Cloud and IBM Cloud, are virtualized and joined as needed by the AI Models.
- The joined data is stored back to the Internal Db of Cloud Pak for Data and assigned to the current working project.
- Create machine learning models using Jupyter Python Notebooks to predict call-drops per tower, and also a time-series model that projects a call-drop percentage based on real-time conditions.
- Model trained and/or stored in Watson Machine Learning, which is also connected to the Watson OpenScale.
- Visualize and analyse insights from the trained models and the data using Cognos Analytics dasboards.
- Configure fairness, quality and explainability montiors for each tower’s model.
Find the detailed steps for this pattern in the README. The steps show you how to:
- Clone the repository.
- Obtain your data from Data Virtualisation.
- Create a new project in IBM Cloud Pak for Data.
- Upload the dataset to IBM Cloud Pak for Data.
- Import notebook to IBM Cloud Pak for Data.
- Follow the steps in the notebook.
- Setup your notebook for call-drop monitoring.
- Setup Cognos Analytics Dashboard on your IBM Cloud Pak for Data instance for visualizations.
Smruthi Raj Mohan
Manjula G Hosurmath