Geleceğe Dönüş – Predictive Analytics Notları

İş Zekası projelerinde gelecek tahminleri yapılması ihtiyacı gün geçtikçe artıyor.

Predictive Analytics konusunu ilk olarak Analysis Services 2005 ile Microsoft teknolojileri içerisinde yer almaya başladı. Analysis Services ürününde Data Mining (Veri Madenciliği) modelleri yaratarak kullanıcılar kendi verileri üzerinde gelecek tahminleri yapmaya başladılar. Data Mining özelliği Analysis Services 2005’den günümüze kadar fazla değişikliklere uğramadan devam etmektedir.

SQL Server ürününe yardımcı olarak Office Excel’de Data Mining’e katkıda bulunması için geliştirildi. Excel’e özel Data Mining Add-In’leri sayesinde veri madenciliğinde çok fazla bilgisi olmayan kullanıcılar bile kolaylıkla analiz yapabilecek yetiye sahip olabilirler.

Bütün bu araçların yanında son 2-3 yıldır yükselmekte olan bulut teknolojileride bize Predictive Analytics konusunda yardımcı olmaya başladı. Bulut teknolojileri sayesinde SQL Server lisansı olmadan bir kaç günlük çalışma ile oldukça iyi sonuçlar almak mümkün oluyor. Microsoft’un son zamanlarda çıkarttığı Microsoft Azure Machine Learning ürünü bu iş için biçilmiş kaftan.

Geçen kar yağışında ofiste buna ayıracak biraz zaman bulabildim ve küçük bir çalışma yaptım. Çalışmamı Azure Machine Learning’de hazırlanmış temel modeller üzerinden yaptım. Bu modelleri kendimizde geliştirebildiğimiz gibi Azure Marketplace’den de üye olup hazır olanları da kullanabiliyoruz. Ben hazırı varken niye kendim yapıyım dedim ve Marketplace’deki servisleri kullandım.

Marketplace’in linki: https://datamarket.azure.com/home

Azure Marketplace içerisinde zamana bağlı tahmin yapma modelleri 3 adet. Bunlar;

1. Autoregressive Integrated Moving Average (ARIMA)

2. Exponential Smoothing (ETS)

3. Exponential Smoothing and Seasonal Trend decomposition Model (ETS + STL)

Ben bu 3 modellede aynı veriyi vererek gerçekleşen veri ile sapmalarını hesapladım ve sonuçlarını değerlendirdim.

Örnek bir veri kümem olarak, firmada aylık 2004’den 2014’e kadara olan stok miktarı. Genel olarak modelleri karşılaştırırken 2004’den 2013’e kadar olan veriyi veriyorum ve modelden benim için 2014 aylık bazda stok miktarlarını tahmin etmesini istiyorum. Sonuç olarakta gerçekleşen 2014 verisi ile modelin tahminini karşılaştırıyorum.

Verimi Excel ile şu şekilde formatladım, bu veri Excel’de 2014’e kadar gidiyor:

Ekran Alıntısı
Bu veriyi yukarıdaki modellerde kolaylıkla kullanabilmek için yatay ve “;” ayrılmış şekilde getirmem gerekiyordu. Sonuç olarak iki ayrı yatay listem oldu:

İlk listem ayları gösteren liste:

01/01/2004;02/01/2004;03/01/2004;04/01/2004;05/01/2004;06/01/2004;07/01/2004 …. 2013’ün sonuna kadar gidiyor.

İkinci listem ise ayların karşısına düşün veriler:

671;1242;14551;26763;9917;6634;7434;8134;8343;10169 …. 2013’ün son ayına kadar gidiyor.

Bu verileri bu şekilde formatlamamın nedeni ise Azure Marketplace’deki bu hazır modeller belirli bir formatta veri alıyor. Burada dikkat etmeniz gereken kısım ilk listede tarihler AY/GÜN/YIL olarak olmak zorunda ve aralarında “/” olmalı.

Verilerimiz artık hazır olduğuna göre testimize başlayabiliriz. Bütün modellerde

1.Model: Autoregressive Integrated Moving Average (ARIMA)

Modelin Ana Sayfası: https://datamarket.azure.com/dataset/aml_labs/arima

Web Servis Test Sayfası: http://microsoftazuremachinelearning.azurewebsites.net/ArimaForecasting.aspx

Sonuçlar: Ortalama Sapma % 19

Ekran Alıntısı

2. Model: Exponential Smoothing (ETS)

Modelin Ana Sayfası: https://datamarket.azure.com/dataset/aml_labs/ets

Web Servis Test Sayfası: http://microsoftazuremachinelearning.azurewebsites.net/etsForecasting.aspx

Sonuçlar: Ortalama Sapma % 5

Ekran Alıntısı

3. Model: Exponential Smoothing and Seasonal Trend decomposition Model (ETS + STL)

Modelin Ana Sayfası: https://datamarket.azure.com/dataset/aml_labs/demand_forecast

Web Servis Test Sayfası: http://microsoftazuremachinelearning.azurewebsites.net/StlEtsForecasting.aspx

Sonuçlar: Ortalama Sapma % 13

Ekran Alıntısı

Karar anı: 3 modeli aynı veri kümesi ile karşılaştırdığımda sizin de gördüğünüz gibi 2. Model ETS en iyi sonuçları verdi. Gelecek senenin verilerini % 5 sapma ile tahmin etmek bence çok kötü bir sonuç değil. Ama tabi ki farklı veri kümlerinde farklı modeller iyi sonuç verebilir. Veri Madenciliğinde öğrendiğim bir kural her model verinin tipine göre iyi veya kötü, bu sebeple benim veri kümemde iyi sonuç veren bir model sizinkinde iyi verecek diye bir kural yok. Kendi veri kümenize uygun olan modeli araştırıp karar vermeniz gerekiyor.

Karar verdikten sonra bu modellerin hepsinin dışarıya bedava olarak açılmış web servisleri var, kolay bir c# kodu ile bu web servisleri kullanarak kendi uygulamalarınızın içerisine bu modelleri entegre edebilirsiniz.

Referanslar:

Forecasting with the Microsoft Time Series Data Mining Algorithm: https://www.youtube.com/watch?v=grIVP-Mh6dg

 

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s