You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/tr/7-TimeSeries/1-Introduction/README.md

13 KiB

Zaman Serisi Tahminine Giriş

Zaman serilerinin bir özetini içeren sketchnote

Sketchnote: Tomomi Imura

Bu derste ve sonraki derste, zaman serisi tahmini hakkında biraz bilgi edineceksiniz. Bu, bir makine öğrenimi bilim insanının repertuarında ilginç ve değerli bir alan olup, diğer konular kadar yaygın bilinmeyebilir. Zaman serisi tahmini, bir tür 'kristal küre' gibidir: fiyat gibi bir değişkenin geçmiş performansına dayanarak, gelecekteki potansiyel değerini tahmin edebilirsiniz.

Zaman serisi tahminine giriş

🎥 Zaman serisi tahmini hakkında bir video için yukarıdaki görsele tıklayın

Ders Öncesi Test

Zaman serisi tahmini, fiyatlandırma, envanter ve tedarik zinciri sorunlarına doğrudan uygulanabilirliği nedeniyle iş dünyası için gerçek bir değer taşıyan faydalı ve ilginç bir alandır. Derin öğrenme teknikleri, gelecekteki performansı daha iyi tahmin etmek için daha fazla içgörü elde etmek amacıyla kullanılmaya başlanmış olsa da, zaman serisi tahmini hala klasik makine öğrenimi teknikleriyle büyük ölçüde şekillenmektedir.

Penn State'in faydalı zaman serisi müfredatına buradan ulaşabilirsiniz.

Giriş

Diyelim ki, zaman içinde ne sıklıkla ve ne kadar süreyle kullanıldıklarına dair veri sağlayan bir dizi akıllı parkmetreyi yönetiyorsunuz.

Parkmetrenin geçmiş performansına dayanarak, arz ve talep yasalarına göre gelecekteki değerini tahmin edebileceğinizi hayal edin.

Hedefinize ulaşmak için ne zaman harekete geçmeniz gerektiğini doğru bir şekilde tahmin etmek, zaman serisi tahmini ile ele alınabilecek bir zorluktur. Yoğun zamanlarda park yeri arayan insanlardan daha fazla ücret almak onları mutlu etmeyebilir, ancak sokakları temizlemek için gelir elde etmenin kesin bir yolu olurdu!

Şimdi bazı zaman serisi algoritmalarını inceleyelim ve veri temizleme ve hazırlama işlemlerine başlamak için bir notebook oluşturalım. Analiz edeceğiniz veri, GEFCom2014 tahmin yarışmasından alınmıştır. Bu veri, 2012 ile 2014 yılları arasında 3 yıl boyunca saatlik elektrik yükü ve sıcaklık değerlerini içermektedir. Elektrik yükü ve sıcaklık verilerinin geçmişteki kalıplarına dayanarak, elektrik yükünün gelecekteki değerlerini tahmin edebilirsiniz.

Bu örnekte, yalnızca geçmiş yük verilerini kullanarak bir zaman adımını ileriye tahmin etmeyi öğreneceksiniz. Ancak başlamadan önce, perde arkasında neler olduğunu anlamak faydalı olacaktır.

Bazı Tanımlar

'Zaman serisi' terimiyle karşılaştığınızda, bunun birkaç farklı bağlamda nasıl kullanıldığını anlamanız gerekir.

🎓 Zaman Serisi

Matematikte, "zaman serisi, zaman sırasına göre dizilmiş (veya listelenmiş veya grafiğe dökülmüş) veri noktalarının bir serisidir. En yaygın olarak, zaman serisi, ardışık olarak eşit aralıklarla alınan bir dizidir." Zaman serisine bir örnek, Dow Jones Sanayi Ortalaması'nın günlük kapanış değeridir. Zaman serisi grafikleri ve istatistiksel modelleme, sinyal işleme, hava tahmini, deprem tahmini ve olayların meydana geldiği ve veri noktalarının zaman içinde grafiğe dökülebileceği diğer alanlarda sıkça karşılaşılan bir yöntemdir.

🎓 Zaman Serisi Analizi

Zaman serisi analizi, yukarıda bahsedilen zaman serisi verilerinin analizidir. Zaman serisi verileri, bir kesintili zaman serisi gibi farklı biçimler alabilir; bu, bir kesinti olayından önce ve sonra bir zaman serisinin evrimindeki kalıpları tespit eder. Zaman serisi için gereken analiz türü, verinin doğasına bağlıdır. Zaman serisi verileri, sayı veya karakter dizileri biçiminde olabilir.

Yapılacak analiz, frekans alanı ve zaman alanı, doğrusal ve doğrusal olmayan gibi çeşitli yöntemler kullanır. Bu tür verileri analiz etmenin birçok yolu hakkında buradan daha fazla bilgi edinin.

🎓 Zaman Serisi Tahmini

Zaman serisi tahmini, geçmişte toplanan verilerin gösterdiği kalıplara dayanarak gelecekteki değerleri tahmin etmek için bir modelin kullanılmasıdır. Zaman serisi verilerini keşfetmek için regresyon modelleri kullanmak mümkün olsa da, zaman serisi verileri en iyi şekilde özel türde modeller kullanılarak analiz edilir.

Zaman serisi verileri, sıralı gözlemler listesidir ve doğrusal regresyonla analiz edilebilecek verilerden farklıdır. En yaygın olanı ARIMA'dır; bu, "Oto-Regresif Entegre Hareketli Ortalama" anlamına gelen bir kısaltmadır.

ARIMA modelleri, "bir serinin mevcut değerini geçmiş değerler ve geçmiş tahmin hatalarıyla ilişkilendirir." Bu modeller, verilerin zaman içinde sıralandığı zaman alanı verilerini analiz etmek için en uygundur.

ARIMA modellerinin birkaç türü vardır. Bunlar hakkında buradan daha fazla bilgi edinebilir ve bir sonraki derste bu modellere değinebilirsiniz.

Bir sonraki derste, zaman içinde değerini değiştiren bir değişkene odaklanan Tek Değişkenli Zaman Serisi kullanarak bir ARIMA modeli oluşturacaksınız. Bu tür verilere bir örnek, Mauna Loa Gözlemevi'nde aylık CO2 konsantrasyonunu kaydeden bu veri setidir:

CO2 YearMonth Year Month
330.62 1975.04 1975 1
331.40 1975.13 1975 2
331.87 1975.21 1975 3
333.18 1975.29 1975 4
333.92 1975.38 1975 5
333.43 1975.46 1975 6
331.85 1975.54 1975 7
330.01 1975.63 1975 8
328.51 1975.71 1975 9
328.41 1975.79 1975 10
329.25 1975.88 1975 11
330.97 1975.96 1975 12

Bu veri setinde zaman içinde değişen değişkeni belirleyin.

Zaman Serisi Verilerinde Dikkate Alınması Gereken Özellikler

Zaman serisi verilerine baktığınızda, bu verilerin belirli özelliklere sahip olduğunu fark edebilirsiniz. Bu özellikleri daha iyi anlamak ve kalıplarını analiz etmek için bazı istatistiksel teknikler kullanarak bu 'gürültüyü' azaltmanız gerekebilir.

Zaman serisi verilerini analiz etmek istediğiniz bir 'sinyal' olarak düşünürseniz, bu özellikler 'gürültü' olarak değerlendirilebilir. İşte zaman serisi ile çalışabilmek için bilmeniz gereken bazı kavramlar:

🎓 Trendler

Trendler, zaman içinde ölçülebilir artışlar ve azalmalar olarak tanımlanır. Daha fazla bilgi edinin. Zaman serisi bağlamında, trendleri nasıl kullanacağınız ve gerekirse zaman serinizden nasıl çıkaracağınız hakkında bilgi edinebilirsiniz.

🎓 Mevsimsellik

Mevsimsellik, örneğin tatil dönemlerinde satışları etkileyebilecek periyodik dalgalanmalar olarak tanımlanır. Buradan farklı türde grafiklerin verilerdeki mevsimselliği nasıl gösterdiğine göz atabilirsiniz.

🎓 Aykırı Değerler

Aykırı değerler, standart veri varyansından oldukça uzak olan değerlerdir.

🎓 Uzun Dönem Döngü

Mevsimsellikten bağımsız olarak, veriler bir yıldan uzun süren ekonomik durgunluk gibi uzun dönemli bir döngü gösterebilir.

🎓 Sabit Varyans

Zaman içinde bazı veriler, örneğin günlük ve gece enerji kullanımı gibi sabit dalgalanmalar gösterebilir.

🎓 Ani Değişiklikler

Veriler, daha fazla analize ihtiyaç duyabilecek ani bir değişiklik gösterebilir. Örneğin, COVID nedeniyle işletmelerin ani kapanması verilerde değişikliklere neden olmuştur.

İşte birkaç yıl boyunca günlük oyun içi para harcamasını gösteren bir örnek zaman serisi grafiği. Bu verilerde yukarıda listelenen özelliklerden herhangi birini belirleyebilir misiniz?

Oyun içi para harcaması

Egzersiz - Elektrik Kullanımı Verileriyle Başlamak

Geçmiş kullanım verilerine dayanarak gelecekteki elektrik kullanımını tahmin etmek için bir zaman serisi modeli oluşturmaya başlayalım.

Bu örnekteki veriler, GEFCom2014 tahmin yarışmasından alınmıştır. 2012 ile 2014 yılları arasında 3 yıl boyunca saatlik elektrik yükü ve sıcaklık değerlerini içermektedir.

Tao Hong, Pierre Pinson, Shu Fan, Hamidreza Zareipour, Alberto Troccoli ve Rob J. Hyndman, "Olasılıksal enerji tahmini: Küresel Enerji Tahmin Yarışması 2014 ve sonrası", Uluslararası Tahmin Dergisi, cilt 32, sayı 3, s. 896-913, Temmuz-Eylül, 2016.

  1. Bu dersin working klasöründe notebook.ipynb dosyasınıın. Verileri yüklemenize ve görselleştirmenize yardımcı olacak kütüphaneleri ekleyerek başlayın:

    import os
    import matplotlib.pyplot as plt
    from common.utils import load_data
    %matplotlib inline
    

    Not: Ortamınızı ayarlayan ve verileri indirme işlemini gerçekleştiren common klasöründeki dosyaları kullanıyorsunuz.

  2. Ardından, load_data() ve head() çağrısı yaparak veriyi bir dataframe olarak inceleyin:

    data_dir = './data'
    energy = load_data(data_dir)[['load']]
    energy.head()
    

    İki sütunun tarih ve yükü temsil ettiğini görebilirsiniz:

    load
    2012-01-01 00:00:00 2698.0
    2012-01-01 01:00:00 2558.0
    2012-01-01 02:00:00 2444.0
    2012-01-01 03:00:00 2402.0
    2012-01-01 04:00:00 2403.0
  3. Şimdi, plot() çağrısı yaparak veriyi görselleştirin:

    energy.plot(y='load', subplots=True, figsize=(15, 8), fontsize=12)
    plt.xlabel('timestamp', fontsize=12)
    plt.ylabel('load', fontsize=12)
    plt.show()
    

    enerji grafiği

  4. Şimdi, 2014 Temmuz ayının ilk haftasını [başlangıç tarihi]:[bitiş tarihi] deseniyle energy girdisi olarak sağlayarak görselleştirin:

    energy['2014-07-01':'2014-07-07'].plot(y='load', subplots=True, figsize=(15, 8), fontsize=12)
    plt.xlabel('timestamp', fontsize=12)
    plt.ylabel('load', fontsize=12)
    plt.show()
    

    temmuz

    Harika bir grafik! Bu grafiklere bakın ve yukarıda listelenen özelliklerden herhangi birini belirleyebilir misiniz? Veriyi görselleştirerek ne çıkarımlar yapabiliriz?

Bir sonraki derste, bazı tahminler oluşturmak için bir ARIMA modeli oluşturacaksınız.


🚀Meydan Okuma

Zaman serisi tahmininden fayda sağlayabilecek tüm endüstriler ve araştırma alanlarının bir listesini yapın. Bu tekniklerin sanatlarda bir uygulamasını düşünebilir misiniz? Ekonometrik? Ekoloji? Perakende? Endüstri? Finans? Başka nerelerde?

Ders Sonrası Test

Gözden Geçirme ve Kendi Kendine Çalışma

Burada ele alınmayacak olsa da, sinir ağları bazen zaman serisi tahmininin klasik yöntemlerini geliştirmek için kullanılır. Bu konuda bu makalede daha fazla bilgi edinin.

Ödev

Daha fazla zaman serisi görselleştirin


Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz.