← Ana Sayfaya Dön
AI & otomasyon

İzmir Hava Kalitesi Tahmini

Bornova'daki bir ölçüm istasyonu için PM10, NO2 ve SO2 tahmini ve kendi modelimizin denetimi

Dokuz Eylül Üniversitesi, Uygulamalarla Yapay Zeka dersi · 4 kişilik grup projesi, Ocak 2026 · Eylül 2026'da yeniden denetlendi

PythonpandasXGBoostscikit-learnSHAPStreamlit

Ekran Görüntüleri & Şemalar

Ders sürümündeki modelin skoru test yöntemine göre: satırlar karıştırılınca 0,90, hiç görülmemiş günlerde 0,31, geleceği tahmin ederken -0,55
Ders sürümündeki modelin skoru test yöntemine göre: satırlar karıştırılınca 0,90, hiç görülmemiş günlerde 0,31, geleceği tahmin ederken -0,55

Problem & İhtiyaç

Ölçüm istasyonları kirliliği ancak oluştuktan sonra bildiriyor; önceden uyarmak için tahmin gerekiyor. İkinci sorun bizimdi: yüksek bir test skoru, modelin gerçekten tahmin ettiğini göstermiyordu.

Nasıl Çalışıyor?

01

Çevre, Şehircilik ve İklim Değişikliği Bakanlığı'nın Bornova Eğitim istasyonundan bir yıllık saatlik PM10, NO2 ve SO2 ölçümleri, Meteostat'tan sıcaklık, rüzgâr, basınç ve yağış verisi alınır.

02

Düzeltilmiş sürümde her saat tek satır; UTC gelen hava durumu Türkiye saatine çevrilir, istasyonun ölçmediği saatler puana katılmaz.

03

Model, üç kirleticinin son 24 saatlik geçmişine ve hedef saatin hava durumuna bakarak 1 ve 24 saat sonrasını tahmin eder.

04

Aralık 2024 – Ekim 2025 ile eğitilir, hiç görmediği Ekim – Aralık 2025 döneminde test edilir; her skor "şimdiki değer aynen kalır" tahminiyle karşılaştırılır.

05

Sonuç: 1 saat sonrası için R² 0,79–0,85; 24 saat sonrası için 0,20–0,33, basit tahminden yaklaşık %20 daha az hata.

Mimari & Teknik Kararlar

Python, pandas, XGBoost ve scikit-learn; ders sürümünde SHAP ile açıklanabilirlik analizi ve Streamlit arayüzü.

Ders projesi olarak Bornova Eğitim istasyonunun bir yıllık saatlik ölçümlerini Meteostat hava durumu verileriyle birleştirip XGBoost ile PM10, NO2 ve SO2 tahmin eden bir model ve Streamlit arayüzü kurduk; teslim edilen model R² 0,90 aldı. Sonradan modeli yeniden denetledim. Veri birleştirilirken her saat kazara iki satıra bölünmüştü; satırlar karıştırılarak eğitim ve test diye ayrıldığı için model, test ettiği saatlerin neredeyse aynısını eğitimde görmüştü. Hiç görmediği günlerde skor 0,31'e düşüyordu. Düzeltilmiş sürüm son saatlerin ölçümlerini kullanıyor, hiç görmediği bir dönemde test ediliyor ve 24 saat sonrası için basit tahmine göre yaklaşık %20 daha az hata yapıyor.