Python & Poisson Olasılık Dağılımı ile İBB Açık Veri Portalındaki 1 gün içerisindeki Trafik İndeks olasılık dağılımı(Poisson Distribution using İBB API)
Gün geçtikçe artmakta olan kentsel büyüme ve ulaşım birbirleriyle etkileşim içerisinde bulunan insan faaliyetlerinden birisidir..Nüfus’un orantılı/orantısız artışı ile birlikte, büyük çaplı göçlerin etkisiyle beraber ortaya çıkmakta olan kentsel büyüme çevresel, ekonomik ve sosyal yaşamla sınırlı kalmayıp; ulaşım alanında da günlük yaşamı etkileyen bazı değişimleri de beraberinde getirmektedir.
Kentleşme’nin 1950'lerden bu yana hızla dünya üzerinde artmasıyla, yetersiz ulaşım altyapısına bağlı olarak meydana gelen trafik yoğunluğu kırdan kente göç sebeplerinin başında yer almaktadır.
Motorlu Araç Trafik yoğunluğunun günden güne artmasıyla, sürdürülebilir ulaşım planlarının ortaya atılmasında ve ihtiyaç duyulan ideal ulaşım planlarının analiz edilmesini ortaya çıkarmıştır…
Bu yazıda İstanbul Büyükşehir Belediyesi’nin akıllı şehircilik kapsamında, Aralık 2019 itibari ile yayına aldığı ‘Açık Veri Portalı’na erişim sağlayıp Poisson Dağılımı ile beraber Python’da ‘Trafik İndeks Raporu’na erişip, 2020 Şubat Ayının ilk günündeki trafik yoğunluğunu ele almaya çalışacağız…
NOT:Hatırlayacağınız üzere bir önceki yazımda İBB Açık Veri Portalı’na erişim sağlamaya çalışmıştık…İBB Açık Veri Portalı’na erişim sağlamak için buraya tıklayıp adım adım erişim sağlayabilirsiniz..
Poisson Distribution Nedir ?(Poisson Dağılımı)
Poisson dağılımı, (okunuşu: puason dağılımı) olasılık kuramı ve istatistik bilim kollarında bir ayrık olasılık dağılımı olup belli bir sabit zaman birim aralığında meydana gelme sayısının olasılığını ifade eder. Bu zaman aralığında ortalama olay meydana gelme sayısının bilindiği ve herhangi bir olayla onu hemen takip eden olay arasındaki zaman farkının, önceki zaman farklarından bağımsız oluştuğu kabul edilir.
Poisson dağılımı çok kere belirli sabit zaman aralığı birimleri bulunan problemlere uygulanmakla beraber, diğer birimsel aralıklı problemlere de (yani birim uzaklık, alan veya hacim içeren problemlere de) başarı ile uygulanabilir.Poisson dağılımı Poisson süreci ile birlikte ortaya çıkar. Poisson süreci aralıklı karakterde olan (yani 0, 1, 2, 3 .. kere meydana çıkan) bazı olgularin bir birim zaman, alan, mekân veya hacimde sabit bir olasılıkla oluşması şeklini alır.Poisson dağılımının genel odaklandığı rassal değişken bir sayılabilen olaydır; bu olay belli bir sabit uzunlukta olan (genellikle zaman) aralıkta ayrık olarak ortaya çıkar ve bu aralıkta gözlenen olayların sayısı Poisson dağılım için rassal değişkendir. Bu sabit aralıkta ortaya çıkan olaylar sayısının beklenen değeri (ortaya çıkmanın ortalama sayısı) λ olarak sabittir ve bu ortalama değer aralık uzunluğuna orantılıdır.
İlk Adım: İBB Açık Veri Portalındaki ‘Trafik İndeks’ adlı Rapora erişim sağlayıp Pandas DataFrame ile Tablo haline getirmek
import pandas as pd
import matplotlib.pyplot as plt
from scipy.stats import poisson
import numpy as np
url=”https://data.ibb.gov.tr/dataset/807be791-bc23-4f25-afeb-35ee9a4df43c/resource/e0a9dfd3-1579-4412-ab46-e54fb78e5b4d/download/trafik-indeks-raporu.xlsx"
data = pd.read_excel(url,sheet_name=”Trafik İndeks Raporu”,index=False)
Yukarıdaki kütüphaneleri import edip, data adlı objemizi koşturduğumuzda bizi hali hazırda elimizde bulunan 101 bin 506 satırlık bir DataFrame karşılıyor olacaktır.
2020 Şubat ayının ilk verilerine erişebilmek ve elimizde bulunan 101 bin 506 satırlık DataFrame’i her seferinde tekrar ve tekrar kullanmamak amacıyla 1 Şubat ve 2 Şubat tarihlerini içeren satırları DataFrame’de kısıtlayıp newData adlı objemize assign edeceğiz..
Yukarıdaki gibi newData objemizi çağırdığımızda halihazırda 1 Şubat içerisindeki 288 farklı zaman diliminde gerçekleşen kayıtlar bize dönmüş olacaktır.
Elimizde bulunan 1 Şubat 2020'ye ait Trafik İndeks değerlerinin istatiksel detaylarını görebilmek için newData adlı DataFrame objemizi DataFrame kütüphanesinde yer alan describe() methodu ile çağırıyoruz..
describe() methodunu çağırdığımızda yukarıdaki gibi ortalaması, standart sapması, maksimum ve minimum gibi istatiksel detayları görebiliyor olacağız…
Stokastik Süreçlerin bir parçası olan Poisson dağılımını kullanabilmek amacıyla describe() methodu ile çağırdığımız DataFrame’in mean değerine bakarak 1 gün içerisindeki ortalama “Trafik İndeks” değerine ulaşıyor olacağız…(1 Şubat 2020 ile ilgili verileri referans almaya çalıştım…İstenilirse farklı zaman dilimindeki 24 saatlik veriler ile de çalışılabilir…)
Poisson Kütle Dağılım Fonksiyonu ile ilgili bir örnek için:
1 günde ortalama olarak 30.5 Trafik İndeks’ine sahip olan İstanbul’un 1 gün içerisinde ortalama 34 Trafik İndeks değerine sahip olma olasılığı nedir ?
NOT:Örneklemimizin maksimum değeri 56 olduğundan dolayı n değerini 56 olarak aldım
Kümülatif Olasılık Fonksiyonu(Cumulative Distribution Function CDF) ile dağılım
Poisson Kümülatif Olasılık Dağılım Fonksiyonu ile ilgili bir örnek için:
1 günde ortalama olarak 30.5 Trafik İndeks’ine sahip olan İstanbul’un 1 gün içerisinde ortalama 21.5 Trafik İndeks değerinden az değere sahip olma olasılığı nedir ?
Keyifli olabilmesi dileği ile…Takipte Kalın
Arda Batuhan Demir