Seaborn ile Türkiye Deprem Verilerini Görselleştirme

Şu Kaggle yazısını okuduktan sonra basit bir şekilde Türkiye’de olan deprem verileri ile görselleştirme yapmaya çalıştım.

AFAD’a bağlı bu web sitesinden harita üzerinde bir coğrafi alan seçerek o bölgede kayıt edilmiş sismik hareketleri bir kaç filtre ile almak mümkün. Fakat veri sayısı çoğalınca harita üzerinde işaretlemeye çalışması zorlaşıyor ve tarayıcıyı kilitleyebiliyor. Ya tarayıcının ağ isteklerine bakıp istekten dönen JSON dosyasını kullanabilirsiniz ya da istekten sonra adres çubuğunun sonuna csv ekleyerek verileri CSV formatında elde edebilirsiniz. Bu arada verileri aldığımız bu web sitesinde kaynak gösterilmesi uyarısı var dikkatinize.

Bazı kolon isimlerinde karakter kodlaması sorunu olduğu için inen dosya kullanılabilir bir CSV olmayabilir. Ben dosyayı bir metin editörü ile açarak kolon isimlerindeki bozulan ‘ı’ harflerini düzelttim. Büyük veri için bu uygulanabilir değil tabi ama bu dosya için hızlı bir çözüm.

Spyder‘ı açarak veri dosyasının olduğu klasörü “Working Directory” olarak seçiyoruz. Şu anki sürümde sağ üstteki adres çubuğuna klasör yolunu girince yanında beliren onay işaretine basarak yapabilirsiniz.

Sol üst kısımdaki New butonuna basarak yeni bir python dosyası oluşturuyoruz.

%matplotlib inline; çizdiğimiz grafikleri/görselleri bize konsolda gösterecek komut.
#%%; Spyder üzerinde kodumuzu hücrelere bölerek çalışmamızı sağlar. Bu hücreyi bu oturum boyunca bir kez çalıştırmamız yetecektir.

Hücremizde bir yere tıklayıp CTRL ve Enter tuşlarına basarak hücreyi çalıştırıyoruz. Eksik olan bir paketiniz varsa konsol üzerinde hata alacaksınız bunları kurmanız gerekli. Yoksa devam;

Bir pandas veri setinde sütun isimlerini columns özelliğine kolon sayısı kadar elemanı olan bir liste atayarak kolaylıkla yapabiliyoruz.
Veri setimizdeki Zaman verisi string türündeydi bunu datetime türüne pandas yardımı ile çeviriyoruz. Çevirimden sonra yıl ve ay bilgilerini ayrı kolonlara koyarak daha rahat kullanabiliriz.

Bir şeyler çizmeye başlayabiliriz.

figsize; çizilecek görselin boyutunu belirtir.

Yıllara göre toplam deprem sayısı

Yıl ve aylara göre toplam deprem sayıları

Aylara göre toplam deprem sayıları

Klasik çizgi grafiklerimiz bu şekilde. Searborn’un içinde bulunan heatmap görselleştirmesine deneyelim şimdi de.

reset_index(); grupladığımızda dönen veri setinin index değerleri gruplama kriterlerimiz oluyor ve bu kolonları kaybediyoruz. reset_index metoduyla bu kolonları geri alıyoruz.

Çıkan sonuç burada uzunca bir görsel. Baktığımızda son yıllar sayılarda artış olduğu göze çarpıyor. Bu ölçüm kalitesini artmasından mı yoksa gerçekten gün geçtikçe sismik hareketlilik artıyor mu?

Son olarak da bir pairplot çizerek parametreler arasındaki bağlantılara göz atalım.

Pairplot; vars olarak verdiğimiz kolon isimlerimizi çapraz olarak çiftleyecek ve her çift için bir nokta grafik(scatter plot) çıkaracak bize. Hue parametresi ise bu noktaları renklendirmemiz için kullanabileceğimiz bir parametre, noktanın verilerine ait satırdaki Buyukluk bilgisine göre bir renk atanacak.

Bir istatistikçi olmasak da grafiği yorumlamaya çalışalım.

1. Enlem-Boylam kesişimdeki grafiğin bu kadar kalabalık olması ülkemizde hemen her yerde deprem riski olduğunu gösteriyor. Boşluk görünen enlem:37 boylam:39 civarı ise Şanlıurfa merkezine yakın bir bölgeye denk geliyor ve fay hattı etkisinin az olduğu bir bölge.

2. Derinlik-Buyukluk çiftinde ise şiddetli depremlerin yüzeye daha yakın bölgelerde olduğu görülüyor ama sayıları çok az olduğu için genelleme yapmak doğru olmaz sanırım.

Esinlendiğim yazıda güneş ve ayın konumları gibi daha farklı bilgiler de var, bu da çok farklı görselleştirmeler yaparak daha yoruma açık grafikler sunmuş göz atmanızı tavsiye ederim.

Bir Cevap Yazın