Zaman serilerinin analizi ve tahmini

İçindekiler:

Zaman serilerinin analizi ve tahmini
Zaman serilerinin analizi ve tahmini
Anonim

Uzun yıllar boyunca insanlar hava koşullarını, ekonomik ve politik olayları ve spor sonuçlarını tahmin ettiler, son zamanlarda bu kapsamlı liste kripto para birimleriyle dolduruldu. Çok yönlü olayları tahmin etmek için tahmin geliştirmenin birçok yolu vardır. Örneğin, sezgi, uzman görüşleri, geleneksel istatistiklerle karşılaştırmak için geçmiş sonuçları kullanma ve zaman serisi tahmini bunlardan sadece biri iken, geniş bir uygulama yelpazesine sahip en modern ve doğru tahmin türü.

Zaman serisi yöntemi

zaman serisi yöntemi
zaman serisi yöntemi

Zaman serisi (TS) yöntemi, belirli bir süre boyunca bilgi toplayan bir veri kümesidir. Bu türü ayıklamak için özel yöntemler vardır:

  • doğrusal ve doğrusal olmayan;
  • parametrik ve parametrik olmayan;
  • tek boyutlu ve çok boyutlu.

Tahmin süresiserisi, günümüzün zorluklarını karşılamak için benzersiz bir dizi yetenek getiriyor. Modelleme, veri değişiminin arkasındaki itici gücü oluşturmayı öğrenmeye dayanır. Süreç, TS'nin özelliği olan ve diğer analiz türlerinde görülmeyen uzun vadeli eğilimlerden, mevsimsel etkilerden veya düzensiz dalgalanmalardan kaynaklanır.

Makine öğrenimi, algoritmaların verilerden derlendiği ve yapay sinir ağları, derin öğrenme, birliktelik kuralları, karar ağaçları, pekiştirmeli öğrenme ve Bayes ağlarını içeren bir bilgisayar bilimi dalıdır. Çeşitli algoritmalar, sorunları çözmek için seçenekler sunar ve her birinin veri girişi, hızı ve sonuçların doğruluğu açısından kendi gereksinimleri ve ödünleşimleri vardır. Bunlar, nihai tahminlerin doğruluğu ile birlikte, kullanıcı, incelenen durum için hangi algoritmanın en iyi şekilde çalışacağına karar verdiğinde ağırlıklandırılacaktır.

Zaman serisi tahmini, istatistik alanından ödünç alır, ancak problem modellemeye yeni yaklaşımlar sunar. Makine öğrenimi ve zaman serileri için temel sorun aynıdır - önceden bilinen verilere dayalı yeni sonuçları tahmin etmek.

Tahmini modelin hedefi

Tahmine dayalı modelin amacı
Tahmine dayalı modelin amacı

TS, düzenli aralıklarla toplanan bir dizi veri noktasıdır. Uzun vadeli bir eğilim belirlemek, geleceği tahmin etmek veya başka bir tür analiz yapmak için analiz edilirler. TS'yi normal bir regresyon probleminden farklı kılan 2 şey vardır:

  1. Zamana bağlıdırlar. Böylegözlemlerin bağımsız olduğu bir doğrusal regresyon modelinin temel varsayımı bu durumda geçerli değildir.
  2. Artan veya azalan bir eğilimle birlikte, çoğu TS'nin bir tür mevsimselliği vardır, yani belirli bir zaman dilimine özgü değişiklikler.

Zaman serisi tahmin modelinin amacı, talep üzerine doğru bir tahmin vermektir. Zaman serisinde bağımsız değişken olarak zamana (t) ve hedef bağımlı değişkene sahiptir. Çoğu durumda, tahmin belirli bir sonuçtur, örneğin bir evin satış fiyatı, rekabetin spor sonucu, borsadaki ticaretin sonuçları. Tahmin, medyanı ve ortalamayı temsil eder ve %80-95 aralığında bir güven seviyesini ifade eden bir güven aralığı içerir. Düzenli aralıklarla kaydedildiklerinde süreçlere zaman serisi denir ve iki şekilde ifade edilir:

  • kapalı bir düzen oluşturan bir zaman indeksi ile tek boyutlu;
  • iki boyutlu bir küme: bağımsız değişkenli ve başka bir bağımlı değişkenli zaman.

Özellikler oluşturmak, uygulamalı makine öğrenimindeki en önemli ve zaman alan görevlerden biridir. Bununla birlikte, zaman serisi tahmini, en azından geleneksel anlamda, özellikler oluşturmaz. Bu, özellikle bir sonraki değeri değil, birkaç adım ilerideki sonucu tahmin etmek istediğinizde geçerlidir.

Bu, özelliklerin tamamen devre dışı bırakıldığı anlamına gelmez. Yalnızca aşağıdaki nedenlerle dikkatli kullanılmalıdırlar:

  1. Geleceğin ne olduğu belli değildeğerler bu özellikler için olacaktır.
  2. Nesneler tahmin edilebilirse ve bazı kalıpları varsa, her biri için tahmine dayalı bir model oluşturabilirsiniz.

Ancak, tahmine dayalı değerlerin özellik olarak kullanılmasının hatayı hedef değişkene yayacağını ve hatalara veya taraflı tahminlere yol açacağını unutmayın.

Zaman serisi bileşenleri

Zaman serisi bileşenleri
Zaman serisi bileşenleri

Trend, seri zamanla arttığında, azaldığında veya sabit bir seviyede kaldığında var olur, bu nedenle bir fonksiyon olarak alınır. Mevsimsellik, sabit bir frekansta (m) yinelenen periyodik kalıpları görüntüleyen bir zaman serisinin bir özelliğini ifade eder; örneğin, m=12, kalıbın on iki ayda bir tekrarlandığı anlamına gelir.

Mevsimselliğe benzer kukla değişkenler ikili fonksiyon olarak eklenebilir. Örneğin tatilleri, özel etkinlikleri, pazarlama kampanyalarını, değerin yabancı olup olmadığına bakmaksızın dikkate alabilirsiniz. Ancak, bu değişkenlerin belirli kalıplara sahip olması gerektiğini hatırlamanız gerekir. Ancak gün sayısı gelecek dönemler için bile kolayca hesaplanabilir ve özellikle finansal alanda zaman serisi tahminlerini etkileyebilir.

Döngüler, sabit bir hızda gerçekleşmeyen mevsimlerdir. Örneğin, Kanada vaşağının yıllık üreme özellikleri, mevsimsel ve döngüsel kalıpları yansıtır. Düzenli aralıklarla tekrarlanmazlar ve frekans 1 (m=1) olsa bile oluşabilir.

Gecikmeli değerler -Bir değişkenin gecikmeli değerleri tahmin edici olarak dahil edilebilir. ARIMA, Vektör Otoregresyon (VAR) veya Otoregresif Sinir Ağları (NNAR) gibi bazı modeller bu şekilde çalışır.

İlgilenen değişkenin bileşenleri, zaman serileri analizi ve tahmini, davranışlarını, kalıplarını anlamak ve uygun modeli seçebilmek için çok önemlidir.

Veri kümesi özellikleri

Veri Kümesi Nitelikleri
Veri Kümesi Nitelikleri

Makine öğrenimi modellerine binlerce, milyonlarca ve milyarlarca veri noktası girmeye alışmış olabilirsiniz, ancak bu zaman serileri için gerekli değildir. Aslında değişkenin frekansına ve türüne bağlı olarak küçük ve orta TS ile çalışmak mümkündür ve bu yöntemin bir dezavantajı değildir. Ayrıca, bu yaklaşımın aslında bir takım avantajları vardır:

  1. Bu tür bilgi kümeleri, bir ev bilgisayarının özelliklerine karşılık gelir.
  2. Bazı durumlarda, yalnızca bir örneği değil, tüm veri kümesini kullanarak zaman serisi analizi ve tahmin gerçekleştirin.
  3. TS uzunluğu, analiz edilebilecek grafikler oluşturmak için kullanışlıdır. Bu çok önemli bir nokta çünkü programcılar analiz aşamasında grafiklere güveniyorlar. Bu, büyük zaman serileriyle çalışmadıkları anlamına gelmez, ancak başlangıçta daha küçük TS'leri işleyebilmeleri gerekir.
  4. Zamanla ilgili bir alan içeren herhangi bir veri kümesi, zaman serisi analizi ve tahmininden yararlanabilir. Ancak, programcının daha büyük bir veri seti varsa, DB (TSDB)daha uygun olabilir.

Bu kümelerden bazıları zaman damgası, sistem günlükleri ve finansal verilerle kaydedilen olaylardan gelir. TSDB, zaman serileriyle yerel olarak çalıştığından, bu tekniği büyük ölçekli veri kümelerine uygulamak için harika bir fırsat.

Makine öğrenimi

Makine öğrenimi (ML), geleneksel zaman serisi tahmin yöntemlerinden daha iyi performans gösterebilir. TS verileri üzerinde makine öğrenimi yöntemlerini daha klasik istatistiksel yöntemlerle karşılaştıran bir sürü çalışma var. Sinir ağları, yaygın olarak araştırılan ve TS yaklaşımlarını uygulayan teknolojilerden biridir. Makine öğrenimi yöntemleri, zaman serilerine dayalı veri toplama sıralamasında başı çekiyor. Bu setlerin etkili olduğu kanıtlanmıştır ve M3 veya Kaggle'a karşı saf TS setlerinden daha iyi performans gösterir.

MO'nun kendine özgü sorunları vardır. Bir veri kümesinden özellikler geliştirmek veya yeni tahminciler oluşturmak onun için önemli bir adımdır ve performans üzerinde büyük bir etkisi olabilir ve TS verilerinin eğilim ve mevsimsellik sorunlarını ele almanın gerekli bir yolu olabilir. Ayrıca, bazı modellerin verilere ne kadar iyi uyduklarıyla ilgili sorunları vardır ve uymuyorlarsa ana eğilimi kaçırabilirler.

Zaman serileri ve makine öğrenimi yaklaşımları birbirinden ayrı olarak var olmamalıdır. Her bir yaklaşımın faydalarını sağlamak için birlikte birleştirilebilirler. Tahmin yöntemleri ve zaman serisi analizi, verileri trend ve mevsimsel verilere ayrıştırmada iyidir.elementler. Bu analiz daha sonra algoritmasında trend ve mevsimsellik bilgilerine sahip bir ML modeline girdi olarak kullanılabilir ve her iki dünyanın da en iyisini verir.

Sorun ifadesini anlama

Örnek olarak, yeni bir yüksek hızlı demiryolu hizmetindeki yolcu sayısını tahmin etmekle ilgili TS'yi düşünün. Örneğin elinizde 2 yıllık (Ağustos 2016 - Eylül 2018) verileriniz var ve bu verilerle saat bazında 2 yıllık (2016-2018) veriye sahip olarak önümüzdeki 7 ay için yolcu sayısını tahmin etmeniz gerekiyor. seyahat eden yolcu sayısı ve gelecekte bunların sayısını tahmin etmek gerekiyor.

Zaman serileriyle tahmin için veri kümesinin alt kümesi:

  1. Simülasyon için bir tren ve test dosyası oluşturma.
  2. İlk 14 ay (Ağustos 2016 - Ekim 2017) eğitim verisi olarak, sonraki 2 ay (Kasım 2017 - Aralık 2017) ise test verisidir.
  3. Veri kümesini günlük olarak toplayın.
Veri kümesi toplama
Veri kümesi toplama

Belirli bir süre içinde nasıl değiştiğini görmek için veri görselleştirme gerçekleştirin.

Veri goruntuleme
Veri goruntuleme

Naif Yaklaşım oluşturma yöntemi

Bu durumda TS tahmini için kullanılan kitaplık istatistik modelleridir. Bu yaklaşımlardan herhangi biri uygulanmadan önce kurulmalıdır. Belki istatistik modelleri Python ortamında zaten kuruludur, ancak yöntemleri desteklemiyortahmin, bu yüzden onu depodan klonlamanız ve kaynaktan yüklemeniz gerekecek.

sıralama
sıralama

Bu örnek için, jetonla seyahat fiyatlarının en başından itibaren ve tüm zaman dilimi boyunca sabit olduğu anlamına gelir. Bu yöntem, bir sonraki beklenen noktanın son gözlemlenen noktaya eşit olduğunu varsayar ve Naive Yaklaşım olarak adlandırılır.

Naif Yöntem
Naif Yöntem

Şimdi modelin doğruluğunu test veri kümesinde test etmek için standart sapmayı hesaplayın. RMSE değerinden ve yukarıdaki grafikten, Naive'in yüksek oynaklıklı seçenekler için uygun olmadığı, kararlı olanlar için kullanıldığı sonucuna varabiliriz.

Basit orta stil

Yöntemi göstermek için, Y ekseninin fiyatı ve X ekseninin zamanı (günleri) temsil ettiği varsayılarak bir grafik çizilir.

Basit Orta Stil
Basit Orta Stil

Bundan, ortalama değerin sabit kalması için fiyatın küçük bir marjla rastgele arttığı ve azaldığı sonucuna varabiliriz. Bu durumda, geçmiş tüm günlerin ortalamasına benzer şekilde bir sonraki dönemin fiyatını tahmin edebilirsiniz.

Önceden gözlemlenen noktaların beklenen ortalaması ile bu tahmin yöntemine basit ortalama yöntemi denir.

Bu durumda önceden bilinen değerler alınır, ortalama hesaplanır ve sonraki değer olarak alınır. Elbette bu kesin olmayacak ama oldukça yakın ve bu yöntemin en iyi çalıştığı durumlar var.

Basit Ortayöntem
Basit Ortayöntem

Grafikte görüntülenen sonuçlara göre, bu yöntem en iyi sonucu, her zaman periyodundaki ortalama değer sabit kaldığında verir. Saf yöntem ortalamadan daha iyi olmasına rağmen, ancak tüm veri kümeleri için değil. Her modeli adım adım denemeniz ve sonucu iyileştirip iyileştirmediğini görmeniz önerilir.

Hareketli Ortalama Model

Hareketli ortalama modeli
Hareketli ortalama modeli

Bu grafiğe dayanarak, fiyatların geçmişte birkaç kez geniş bir farkla arttığını ancak şu anda istikrarlı olduğu sonucuna varabiliriz. Önceki ortalama alma yöntemini kullanmak için önceki tüm verilerin ortalamasını almanız gerekir. İlk dönemin fiyatları, bir sonraki dönemin tahminini güçlü bir şekilde etkileyecektir. Bu nedenle, basit ortalamanın üzerinde bir gelişme olarak, yalnızca son birkaç dönem için fiyatların ortalamasını alın.

Bu tahmin tekniğine hareketli ortalama tekniği denir ve bazen "n" boyutunda "hareketli pencere" olarak adlandırılır. Basit bir model kullanılarak, yöntemin doğruluğunu kontrol etmek için TS'deki bir sonraki değer tahmin edilir. Açıkça Naif, bu veri seti için hem Ortalama hem de Hareketli Ortalamadan daha iyi performans gösteriyor.

Basit üstel yumuşatma yöntemiyle tahminin bir çeşidi vardır. Hareketli ortalama yönteminde, geçmiş "n" gözlemler eşit ağırlıktadır. Bu durumda, geçmiş 'n' her birinin tahmini kendi yolunda etkilediği durumlarla karşılaşabilirsiniz. Geçmiş gözlemleri farklı şekilde ağırlıklandıran bu varyasyona yöntem denir.ağırlıklı hareketli ortalama.

Desenlerin ekstrapolasyonu

Zaman serisi tahmin algoritmalarını dikkate almak için gereken en önemli özelliklerden biri, eğitim verisi alanının dışında kalıpları tahmin etme yeteneğidir. Çoğu ML algoritması, eğitim verileri tarafından tanımlanan bir bölgeyle sınırlı olma eğiliminde olduklarından bu yeteneğe sahip değildir. Bu nedenle, amacı geleceğe yansıtmak olan TS için uygun değildirler.

TS algoritmasının bir diğer önemli özelliği de güven aralıkları elde etme olasılığıdır. Bu, TS modelleri için varsayılan özellik olsa da, çoğu ML modeli, tümü istatistiksel dağılımlara dayalı olmadığı için bu yeteneğe sahip değildir.

TS'yi tahmin etmek için yalnızca basit istatistiksel yöntemlerin kullanıldığını düşünmeyin. Hiç de öyle değil. Özel durumlarda çok faydalı olabilecek birçok karmaşık yaklaşım vardır. Genelleştirilmiş Otoregresif Koşullu Değişken Varyans (GARCH), Bayesian ve VAR bunlardan sadece birkaçıdır.

Gecikmeli tahmin edicileri kullanan ve sinir ağı otoregresyonu (NNAR) gibi özellikleri işleyebilen zaman serilerine uygulanabilen sinir ağı modelleri de vardır. Özellikle LSTM ve GRU ağları gibi tekrarlayan sinir ağı ailesinde, karmaşık öğrenmeden ödünç alınan zaman serisi modelleri bile vardır.

Tahmin Metrikleri ve Artık Tanılama

En yaygın tahmin metrikleri şunlardır:rms, birçok kişinin regresyon problemlerini çözerken kullandığı anlamına gelir:

  • MAPE çünkü ölçekten bağımsızdır ve hatanın gerçek değerlere oranını yüzde olarak temsil eder;
  • MASE, tahminin saf ortalama tahmine kıyasla ne kadar iyi performans gösterdiğini gösterir.

Bir tahmin yöntemi uyarlandıktan sonra, modelleri ne kadar iyi yakalayabildiğini değerlendirmek önemlidir. Değerlendirme metrikleri, değerlerin gerçek değerlere ne kadar yakın olduğunu belirlemeye yardımcı olsa da, modelin TS'ye uyup uymadığını değerlendirmez. Artıklar bunu değerlendirmenin iyi bir yoludur. Programcı TS kalıplarını uygulamaya çalıştığından, model tarafından yakalanamayan bir şeyi temsil ettikleri için hataların "beyaz gürültü" gibi davranmasını bekleyebilir.

"Beyaz gürültü" aşağıdaki özelliklere sahip olmalıdır:

  1. Artık ilişkisiz (Acf=0)
  2. Kalıntılar sıfır ortalamalı (tarafsız) ve sabit varyanslı normal bir dağılım izler.
  3. İki özellikten biri eksikse, modelde iyileştirme için yer vardır.
  4. Sıfır ortalama özelliği, T-testi kullanılarak kolayca test edilebilir.
  5. Normallik ve sabit varyans özellikleri, artıkların histogramı veya uygun bir tek değişkenli normallik testi kullanılarak görsel olarak kontrol edilir.

ARIMA Modeli

ARIMA - AutoRegressive Integrated Moving-Average modeli, temel olarak TS tahmininde kullanılan en popüler yöntemlerden biridir.yüksek kaliteli modeller oluşturmak için veri otokorelasyonu yoluyla.

ARIMA katsayılarını değerlendirirken, ana varsayım verilerin durağan olduğudur. Bu, trendin ve mevsimselliğin varyansı etkileyemeyeceği anlamına gelir. Modelin kalitesi, gerçek değerlerin zaman grafiği ile tahmin edilen değerler karşılaştırılarak değerlendirilebilir. Her iki eğri de yakınsa, modelin analiz edilen duruma uyduğu varsayılabilir. Varsa eğilimleri ve mevsimselliği açıklamalıdır.

Artık analizi, modelin uyup uymadığını göstermelidir: Rastgele artıklar, onun doğru olduğu anlamına gelir. ARIMA'yı (0, 1, 1) parametreleriyle yerleştirmek, üstel yumuşatma ile aynı sonuçları verecektir ve parametreleri (0, 2, 2) kullanmak çift üstel yumuşatma sonuçları verecektir.

SQL Server'da Zaman Serisi Algoritmaları
SQL Server'da Zaman Serisi Algoritmaları

ARIMA ayarlarına Excel'de erişebilirsiniz:

  1. Excel'i başlatın.
  2. Araç çubuğunda XL MINER'ı bulun.
  3. Şeritte, açılır menüden ARIMA'yı seçin.

ARIMA Model Özelliklerinin Özeti:

  1. ARIMA - Otoregresif Entegre Hareketli Ortalama.
  2. Zaman serisi analizinde kullanılan tahmin modeli.
  3. ARIMA parametre sözdizimi: ARIMA (p, d, q) burada p=otoregresif terim sayısı, d=mevsimsel fark sayısı ve q=hareketli ortalama terim sayısı.

SQL Server'da Algoritmalar

Çapraz tahmin gerçekleştirmek önemlifinansal görevleri tahmin etmede zaman serilerinin özellikleri. Birbiriyle ilişkili iki seri kullanılıyorsa, elde edilen model diğerlerinin davranışına dayalı olarak bir serinin sonuçlarını tahmin etmek için kullanılabilir.

SQL Server 2008, öğrenmek ve kullanmak için güçlü yeni zaman serisi özelliklerine sahiptir. Araç, kolayca erişilebilen TS verilerine, algoritma işlevlerini simüle etmek ve yeniden oluşturmak için kullanımı kolay bir arayüze ve içeride neler olduğunu anlayabilmeniz için sunucu tarafı DMX sorgularına bağlantı içeren bir açıklama penceresine sahiptir.

Piyasa zaman serisi, derin öğrenme modellerinin ve algoritmalarının uygulanabileceği geniş bir alandır. Bankalar, brokerler ve fonlar artık endeksler, döviz kurları, vadeli işlemler, kripto para fiyatları, devlet hisseleri ve daha fazlası için analiz ve tahminlerin konuşlandırılmasını deniyorlar.

Zaman serisi tahmininde, sinir ağı piyasaların yapılarını ve eğilimlerini inceleyerek tahmin edilebilir modeller bulur ve tüccarlara tavsiyelerde bulunur. Bu ağlar ayrıca beklenmedik zirveler, düşüşler, trend değişiklikleri ve seviye kaymaları gibi anormallikleri tespit etmeye yardımcı olabilir. Finansal tahminler için birçok yapay zeka modeli kullanılıyor.

Önerilen: