This repository contains the research implementation and findings for AI-based surveillance of Tuberculosis in South Africa using Google Trends data, completed as part of an Honours research project at the University of the Witwatersrand.
# AI-Based TB Surveillance in South Africa using Google Trends 🔬
## 📋 Table of Contents
- Overview
- Key Findings
- Repository Structure
- Data Sources
- Getting Started
- Model Performance
- Future Work
- Contributors
## 🔍 Overview
Tuberculosis (TB) remains a critical public health issue globally, with the WHO Global TB Report 2024 confirming TB as the world's deadliest infectious disease. South Africa has one of the highest TB burdens globally, reporting an estimated 56,000 TB-related deaths in 2023.
### 🎯 Research Objectives
This research investigates the potential of integrating Google Trends data with Machine Learning approaches to enhance TB surveillance in South Africa, addressing key limitations of traditional surveillance:
- Reporting delays
- Incomplete case capture
- Poor data quality
### 🤖 Models Implemented
- Partial Least Squares (PLS) regression
- LASSO regression
- Support Vector Machine (SVM)
- Long Short-Term Memory (LSTM) networks
## 📊 Key Findings
The PLS model demonstrated superior performance:
R² Value
RMSE
MAE
0.889
7.173
5.704
> 💡 **Key Insight**: Simpler linear models outperformed complex deep learning approaches for TB surveillance in South Africa.
## 📁 Repository Structure
```
├── LICENSE
├── README.md
├── .gitignore
├── requirements.txt
├── data/
│ ├── merged_tb_data.csv # Merged surveillance data
│ └── README.md # Data documentation
├── notebooks/
│ └── tb_final_models.ipynb # Main analysis notebook
└── results/ # Generated visualizations
```
## 📚 Data Sources
| Source | Description | Time Period |
|--------|-------------|-------------|
| NICD | TB Incidence Data | 2012-2021 |
| Google Trends | 27 TB-related search terms | 2012-2021 (40 quarters) |
## 🚀 Getting Started
### Prerequisites
- Python 3.8+
- Required packages from `requirements.txt`
### Installation
1. Clone the repository
```bash
git clone
github.com
c …