Jakarta Air Quality Analysis & Predictive Modeling (PySpark)
Proyek big data analytics dan machine learning terdistribusi untuk menganalisis tren polusi udara DKI Jakarta dan memprediksi kategori ISPU menggunakan PySpark SQL dan Spark MLlib.
Inisialisasi SparkSession dan pemuatan dataset ISPU DKI Jakarta pada Google Colab
Gambaran & Masalah
Tingkat polusi udara di DKI Jakarta merupakan isu lingkungan kritis yang berdampak langsung pada kesehatan publik. Data sensor pemantau kualitas udara dikumpulkan dari berbagai stasiun di seluruh wilayah Jakarta dengan volume ribuan baris data historis. Namun, data mentah tersebut memiliki tantangan berupa inkonsistensi tipe data, anomali pencatatan, dan kekosongan data (missing values) yang tinggi pada parameter partikulat halus ($PM_2.5$).
Pendekatan pengolahan data konvensional pada satu mesin (single-node processing) rentan mengalami kendala skalabilitas saat volume sensor bertambah besar. Di samping itu, penentuan kategori Indeks Standar Pencemar Udara (ISPU) memerlukan otomasi cerdas agar status kualitas udara harian dapat diprediksi secara instan berdasarkan parameter polutan yang terpantau.
Tantangan proyek ini adalah merancang pipeline pengolahan data terdistribusi menggunakan ekosistem PySpark untuk membersihkan dataset secara efisien, melakukan analisis eksploratif untuk menemukan tren polutan dominan, serta melatih model machine learning klasifikasi yang akurat untuk memprediksi kategori ISPU.
Fitur & Implementasi Teknis
- Pemrosesan Data Terdistribusi (PySpark SQL): Menginisialisasi
SparkSessionuntuk membaca dan memproses dataset historis ISPU DKI Jakarta (>5.000 baris). Menerapkan pembersihan data secara terstruktur: menangani missing values pada parameter $PM_2.5$, menyesuaikan tipe data numerik (pm10,so2,co,o3,no2), serta menyaring baris data yang valid untuk analisis lanjutan. - Analisis Eksploratif (EDA) & Polutan Dominan: Menganalisis sebaran kategori kualitas udara (Baik, Sedang, Tidak Sehat, Sangat Tidak Sehat, Berbahaya). Mengidentifikasi bahwa stasiun DKI2 (Kelapa Gading) dan DKI5 (Kebon Jeruk) mencatatkan rata-rata tingkat polusi tertinggi, dengan gas Ozon ($O_3$) dan partikulat $PM_2.5$ sebagai polutan dominan penyebab penurunan mutu udara.
- Visualisasi Tren Historis Dekade (Matplotlib & Pandas): Mengonversi agregasi data tahunan dari PySpark DataFrame ke Pandas (
toPandas()) untuk memetakan visualisasi grafik tren kualitas udara dari tahun 2010 hingga awal 2025 menggunakan pustaka Matplotlib. - Pipeline Rekayasa Fitur (PySpark MLlib): Membangun pipa transformasi fitur terintegrasi: menggunakan
StringIndexeruntuk mengonversi label kategori teks menjadi representasi indeks numerik, sertaVectorAssembleruntuk merangkum seluruh parameter polutan numerik ke dalam satu vektor fitur fitur pembelajaran mesin. - Pemodelan Prediktif & Evaluasi (Decision Tree Classifier): Melatih model klasifikasi menggunakan algoritma Decision Tree Classifier pada Spark MLlib untuk memprediksi kategori ISPU secara otomatis. Evaluasi model dilakukan menggunakan
MulticlassClassificationEvaluatoryang menghasilkan tingkat akurasi mencapai 89,3%.
Hasil & Status Proyek
Proyek ini membuktikan implementasi komputasi terdistribusi PySpark dalam menangani dataset lingkungan perkotaan secara efisien, menghasilkan wawasan polusi historis yang terperinci, serta menyediakan model klasifikasi prediktif dengan tingkat akurasi 89,3% untuk otomasi pemantauan ISPU.