Zaman Serilerinde Tahmin Modelleri

Ata Özarslan
İstanbul Data Science Academy
9 min readMar 6, 2024

--

Zaman serileri, belirli bir zaman aralığı içinde gözlemlenen verilerin düzenli bir şekilde kaydedildiği istatistiksel bir konsepti ifade eder. Bu veriler genellikle zamanla değişen bir değişkenin ölçümlerini içerir ve geniş bir uygulama yelpazesi bulunmaktadır.

İş, ekonomi, meteoroloji, finans, sağlık, endüstriyel üretim ve birçok diğer alan, zaman serileri analizinden yararlanarak gelecekteki eğilimleri tahmin etmeye çalışır.

Zaman serileri, trendleri, mevsimsel etkileri ve rastgele değişkenleri içeren karmaşık yapıları ortaya çıkarabilir. Bu nedenle, verileri anlamak, modellemek ve gelecekteki olayları öngörmek için zaman serileri analizi, istatistik ve makine öğrenmesi alanlarında önemli bir araştırma ve uygulama konusudur.

https://www.wallstreetmojo.com/wp-content/uploads/2023/05/Time-series-analysis.png

Zaman serisi analizi, verilerden anlamlı istatistiksel bilgiler çıkarmak amacıyla zaman serisi verilerini analiz etmek için kullanılan bir yöntemdir. Ancak zaman serisi tahmini, zaman içinde daha önce gözlemlenen değerlere dayanarak gelecekteki değerleri tahmin etmekle ilgilidir.

Zaman serisi tahmininde kullanılan çeşitli istatistiksel, matematiksel, makine öğrenmesi ve derin öğrenme tabanlı yöntemler vardır. Bu yöntemler arasında AR, MA, ARIMA, SARIMA, SARIMAX, Cointegration, XGBoost, LSTM gibi birçok farklı yaklaşım bulunmaktadır.

https://www.researchgate.net/publication/320032800_Feature-based_time-series_analysis

Şimdi bu yöntemleri inceleyerek modellemedeki davranış tarzlarını anlamaya çalışalım.

1. AR (AutoRegressive) Model

AR modeli, bir zaman serisinin geçmiş gözlem değerlerine dayanarak gelecekteki değerleri tahmin etmeye çalışan temel bir istatistiksel modeldir. AR modeli, serinin geçmiş değerlerine dayanarak bir trendi veya deseni modelleyebilir. Modelin belirlenen parametreleri, genellikle veri setinin en uygun şekilde uyarlanması için istatistiksel yöntemler kullanılarak tahmin edilir.

AR modelinin çeşitli varyasyonları bulunur. Örneğin,

  • 1. Dereceden AR Modeli: AR(1)
  • 2. Dereceden AR Modeli: AR(2)
  • p. Dereceden AR Modeli: AR(p)

olarak isimlendirilir. Buradaki p değeri o anki gözlem değerini tahmin edebilmek için sondan itibaren kaç tane geçmiş gözleme bakılacağını ifade eder.

p. Dereceden Bir AR(p) Modelinin Yapısı
  • Yt = Tahmin Edilen Değer
  • ϕ1 = AR Model Katsayısı
  • Yt-1 = Serinin Önceki Değerleri
  • εt = White-Noise (Hata Terimi)
  • c = Sabit Terim

2. MA (Moving Average) Model

MA (Moving Average) modeli, geçmiş veri noktalarının belirli bir zaman dilimindeki ortalamalarını ve hata terimlerinin ağırlıklı ortalamasını kullanarak gelecekteki değerleri tahmin etmeye çalışan temel bir istatistiksel modeldir.

Aynı AR modelinde olduğu gibi, MA modelininin de çeşitli varyasyonları bulunur. Örneğin,

  • 1. Dereceden MA Modeli: MA(1)
  • 2. Dereceden MA Modeli: MA(2)
  • q. Dereceden MA Modeli: MA(q)

olarak isimlendirilir. Buradaki q değeri o anki gözlem değerini tahmin edebilmek için sondan itibaren kaç tane hata terimlerinin ağırlıklı ortalamasının kullanılacağını ifade eder.

q. Dereceden Bir MA(q) Modelinin Yapısı
  • Yt = Tahmin Edilen Değer
  • µ = Seri Ortalaması
  • θ1 = MA Model Katsayısı
  • εt = White-Noise (Hata Terimi)
  • c = Sabit Terim

3. ARIMA (AutoRegressive Integrated Moving Average) Model

ARMA (AutoRegressive Moving Average) modelleri, AR ve MA modeli ile birlikte kullanılarak oluşturulan bir zaman serisi modelidir. Ancak ARMA modeli günümüzde güncelliğini yitirmiştir. Onun yerine aynı işlemleri yanında getirdiği ek faydalarla birlikte daha güçlü bir şekilde uygulayabilen ARIMA (AutoRegressive Integrated Moving Average) modeli kullanılır.

Buradaki Integrated (I) bileşeni, zaman serilerinde görülen trend ve mevsimsellik gibi durağan olmayan durumları ortadan kaldırmak için kullanılan fark alma işlemini temsil eder.

ARIMA modelinin de çeşitli varyasyonları bulunur. Örneğin,

  • 1. Dereceden AR, 1. Dereceden MA Modeli: ARIMA(1,0,1)
  • 2. Dereceden AR, 1. Dereceden MA Modeli: ARIMA(2,0,1)
  • 1. Dereceden AR, 2. Dereceden MA Modeli: ARIMA(1,0,2)
  • 2. Dereceden AR, 1. Fark, 2. Dereceden MA Modeli: ARIMA(2,1,2)
  • p. Dereceden AR, d. Fark, q. Dereceden MA Modeli: ARIMA(p, d, q)

olarak isimlendirilir. Buradaki p değeri o anki gözlem değerini tahmin edebilmek için sondan itibaren kaç tane geçmiş gözleme bakılacağını, d değeri serinin durağanlaştırılması için kaçıncı farkın alınacağını, q değeri ise sondan itibaren kaç tane hata terimlerinin ağırlıklı ortalamasının kullanılacağını ifade eder.

p. Dereceden AR, q. Dereceden MA İçeren ARIMA(p,0,q) Modelinin Yapısı
  • Yt = Tahmin Edilen Değer
  • µ = Seri Ortalaması
  • ϕ1 = AR Model Katsayısı
  • θ1 = MA Model Katsayısı
  • Yt-1 = Serinin Önceki Değerleri
  • εt = White-Noise (Hata Terimi)
  • c = Sabit Terim

4. SARIMA (Seasonal Autoregressive Integrated Moving Average) Modelleri

Mevsimsel zaman serileri, belirli periyotlar veya dönemler içinde tekrarlanan, belirgin desenlere sahip olan zaman serileridir. Bu desenler genellikle belirli bir mevsim, ay, hafta veya gün gibi düzenli aralıklarda gözlemlenir. Mevsimsel desenler, bir zaman serisinin belirli bir zaman diliminde gösterdiği tipik ve tekrarlanabilir davranışları ifade eder.

https://media.cheggcdn.com/media/297/29768b2b-4768-419c-a1c2-488c794ac4e1/php7g61Mw

SARIMA (Seasonal Autoregressive Integrated Moving Average) modeli, zaman serileri analizi ve tahmini için kullanılan bir istatistiksel modeldir. SARIMA, hem AR hem de MA bileşenlerini içermenin yanında ayrıca mevsimsel bir bileşen de içerir.

Buradaki Seasonal (S) bileşeni, modelde kullanılan mevsimsellik periyodunu temsil eder.

SARIMA modelinin de çeşitli varyasyonları bulunur. Örneğin,

  • Mevsimsel Periyodu 5 Olan ARIMA(1,0,1): SARIMA(1,0,1)(0,0,0)
  • Mevsimsellik Periyodu 7 Olan ARIMA(2,0,1): SARIMA(2,0,1)(0,0,0)
  • Mevsimsellik Periyodu S Olan ARIMA(2,0,1): SARIMA(2,0,1)(0,0,0)s
  • S Periyodunda P. Dereceden AR ve Q. Dereceden MA Modeli: SARIMA(p, d, q)(P, D, Q)s

olarak isimlendirilir. Buradaki P değeri o anki gözlem değerini tahmin edebilmek için sondan itibaren S periyodunda geriye dönerek kaç tane geçmiş gözleme bakılacağını, D değeri serinin durağanlaştırılması için S periyodunda kaçıncı farkın alınacağını, Q değeri ise sondan itibaren S periyodunda geriye dönerek kaç tane hata terimlerinin ağırlıklı ortalamasının kullanılacağını ifade eder.

NOT: Zaman serisi modellerinde p, d, q mevsimsel olmayan parametreleri temsil ederken, P, D, Q geçerli olan mevsimsellik periyodundaki parametreleri temsil eder.

Herhangi bir mevsimsellik bileşeni içermeyen AR(1) ve MA(2) olan bir ARIMA modeli aşağıdaki gibi temsil edilirken,

ARIMA (1,0,2) Modelinin Yapısı

7 periyotluk bir mevsimsellik bileşeni içeren AR(1) ve MA(2) olan bir SARIMA modeli aşağıdaki gibi temsil edilir.

SARIMA(0,0,0)(1,0,2)₇ Modelinin Yapısı

SARIMA modellerinde AR ve MA parametreleri mevsimsel bileşen için ayrı, orijinal bileşen için ayrı bir şekilde kullanılabilir. Yani modellerde hem normal hem de mevsimsel bileşenler aynı anda bulunabilir.

SARIMA(1,0,0)(1,0,2)₇ Modelinin Yapısı
  • Yt = Tahmin Edilen Değer
  • µ = Seri Ortalaması
  • ϕ1 = AR Model Katsayısı
  • θ1 = MA Model Katsayısı
  • Yt-7 = Serinin 7 Periyot Önceki Değerleri
  • εt-7 = Serideki 7 Periyot Önceki White-Noise (Hata Terimi)
  • c = Sabit Terim

NOT: Kullanılan mevsimsellik periyodu veri setine bağlı olarak herhangi bir periyot aralığı olabilir. Saatlik, Günlük, Haftalık, Aylık gibi…

5. SARIMAX (Seasonal Autoregressive Integrated Moving Average Exogenous) Modelleri

SARIMAX (Seasonal Autoregressive Integrated Moving Average Exogenous) modeli, hem otoregresif (AR) hem hareketli ortalama (MA) hem de mevsimsel bileşenleri içermenin yanında ayrıca dışsal bir faktörü temsil eden eksojen (exogenous) bileşeni de içerir. Başka bir deyişle, oluşturduğumuz zaman serisi modelimize eklenen dışsal faktör de tahmin etmeye çalıştığımız değer ile bir regresyon ilişkisi kurar.

Örnek bir SARIMA modelinde, 7 periyotluk mevsimsellik bileşeni içeren AR(1) ve MA(2) olan bir SARIMA modeline eklenen dışsal bir faktör aşağıdaki gibi temsil edilir.

SARIMAX(0,0,0)(1,0,2)₇ x₁ Modelinin Yapısı
  • Yt = Tahmin Edilen Değer
  • µ = Seri Ortalaması
  • ϕ1 = AR Model Katsayısı
  • θ1 = MA Model Katsayısı
  • Yt-7 = Serinin 7 Periyot Önceki Değerleri
  • εt-7 = Serideki 7 Periyot Önceki White-Noise (Hata Terimi)
  • a = Dışsal Faktör Katsayısı
  • x1 = Dışsal Faktör
  • c = Sabit Terim

NOT: Eğer zaman seriniz mevsimsel bir bileşen içermiyorsa ancak yapacağınız modellemeye dışsal bir faktör dahil etmek istiyorsanız, SARIMAX yerine dışsal faktörü modellemenize dahil etmenize olanak tanıyan ARIMAX (Autoregressive Integrated Moving Average Exogenous) model yapısını da kullanabilirsiniz.

ARIMAX(1,0,1) x₁ Modelinin Yapısı

6. Cointegration (Eş-Bütünleşme) Modelleri

Cointegration (Eş-Bütünleşme) modeli, iki veya daha fazla zaman serisi arasındaki uzun vadeli ilişkiyi analiz eden ve bu serilerin birlikte hareket etme eğilimini inceleyen istatistiksel modellerdir. Cointegration, seriler arasında bir uzun vadeli denge durumu olduğunu öne sürer.

Köpek ve Sahibinin Birlikte Hareket Etme Eğilimi

Daha basit bir örnekle anlatmak gerekirse, bir köpek sahibi olduğunuzu ve köpeğinizle gezintiye çıktığınızı düşünün. Köpeğiniz çevresine karşı meraklı ise yolda yürürken yapacağınız hareketlerin tahmin edebilmesi oldukça zor. Ancak birlikte yapmış olduğunuz hareketi düşünürseniz, eğer köpeğin tasmasını bırakmazsanız nasıl hareket ederseniz edin köpeğinizle aranızda hep belli bir mesafe olacaktır.

Bitcoin (BTC) ve Ethereum (ETH) Zaman İçerisindeki Fiyat Hareketleri

Yukarıdaki grafiklere bakıldığında BTC ve ETH’nin oldukça yakın hareketler eğilimlerinde olduklarını görüyoruz. Böyle bir durum bize, ETH’nin fiyatını kullanarak BTC’nin fiyatını tahmin edebileceğimiz anlamına gelir.

Tek Değişkenli Cointegration Modelinin Yapısı
  • Y = Tahmin Edilen Değer
  • a = Eş-Bütünleşme Faktörü Katsayısı
  • x1 = Eş-Bütünleşme Faktörü
  • b = Sabit Terim

7. Makine Öğrenmesi Tabanlı Modeller (XGBoost)

Makine Öğrenmesi modelleri özellikle zaman serisi verileri için üretilmemiştir. Çünkü, zaman serisi verilerinde genellikle bağımsız değişkenler yoktur. Ancak zaman serinize ilişkin özellikleri (ay, yıl, gün, mevsimsellik gibi) bağımsız değişkenlere dönüştürerek bunları zaman serilerine uyarlamak oldukça kolaydır.

Veri setini hazırladığınızda basit veya daha karmaşık makine öğrenmesi algoritmalarını kullanarak tahminler elde edilebilmektedir.

Örneğin günlük periyotlarla ölçülen ortalama hava sıcaklığı (meantemp) değerlerini ele alalım. Elimizdeki zaman verisi içerisinden kullanmak istediğimiz özellikleri seçerek ortalama hava sıcaklığını tahmin etmeye çalışabiliriz.

Zaman Verilerini Makine Öğrenmesi Model Girdisi Haline Getirme

Eğitim/test ayrımını yaptıktan sonra da XGBoost algoritmasını kullanarak test için ayırdığımız veri setindeki tahminlerimizi gerçek gözlem değerleriyle kıyaslayalım.

Model Tahmini vs Gözlem Değerleri

NOT: Makine öğrenmesi tabanlı yöntemler kullanılarak geliştirilen zaman serisi modellerinde kullanılan tek algoritma tabiki XGBoost değildir. Ancak veri seti içerisindeki karmaşık ilişkileri daha iyi ele alabildiği için yüksek performans gösteren algoritmalar daha çok tercih edilir!

8. Derin Öğrenme Tabanlı Modeller (LSTM)

İstatistiksel tabanlı zaman serisi modelleri geçmiş ve şimdiki zaman arasındaki ilişkilere odaklanır, makine öğrenmesi modelleri ise veri seti içerisindeki neden ve sonuç ilişkilerine odaklanır.

Derin öğrenme tabanlı modeller ise girdi verilerini bir sinir ağı üzerinden geçiren oldukça karmaşık makine öğrenmesi modelleridir. Sinir ağındaki her nöron çok basit bir işlemi öğrenir ve sinir ağı yapısı bu tür birçok nörondan oluşur. Modelin çok sayıda basit nöron kullanabilmesi, genel tahmini oldukça karmaşık hale getirir. Sinir ağları bu sebeple çok karmaşık ve doğrusal olmayan veri setleri üzerinde başarılı tahminler üretebilirler.

RNN (Recurrent Neural Network), derin öğrenme alanında kullanılan bir yapay zeka mimarisidir. Normal sinir ağlarından farklı olarak RNN’ler geçmiş bilgileri işleme yeteneğine sahiptir. Bu sayede özellikle zaman serileri gibi sıralı verilerden anlam çıkarmak için idealdir.

https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-recurrent-neural-networks

LSTM’ler RNN mimarisinin özel bir türüdür. LSTM’ler, hücre adı verilen özel birimlerden oluşur. Her hücre, üç kapı ve bir hücre durumu içerir.

  • Unutma Kapısı (Forget Gate): Geçmiş bilginin ne kadarının unutulacağını kontrol eder.
  • Giriş Kapısı (Input Gate): Yeni bilginin hücreye ne kadarının eklenebileceğini kontrol eder.
  • Çıkış Kapısı (Output Gate): Hücrenin hangi bilginin çıkış olarak üretileceğini kontrol eder.

Hücre durumu, geçmiş ve güncel bilgilerin bir kombinasyonunu saklar. Bu sayede LSTM’ler, veri setindeki uzun vadeli bağımlılıkları da öğrenebilir ve modelleyebilir.

https://www.simplilearn.com/tutorials/artificial-intelligence-tutorial/lstm

Bu örnekte de günlük periyotlarla ölçülen hane halkının küresel aktif gücünü (Global_active_power) ele alalım.

https://archive.ics.uci.edu/dataset/235/individual+household+electric+power+consumption

Bu sefer ise, regresyon tahminimizi yapabilmek için zaman serimizin geçmiş 3 günlük gözlemlerini modeldeki özellik girdileri olarak kullanalım.

Geçmiş 3 Günkü Gözlemlerin Özellik Olarak Kullanılması

Veri setiyle ilgili. gerekli diğer tüm işlem adımlarını yaptıktan sonra da LSTM algoritmasını kullanarak model performansımızı değerlendirebiliriz.

Eğitim ve Validasyon Verilerinde MAE Kayıp Fonksiyonu

Her hafta yayınlanan bültenlerimizi takip etmek için bizi Medium ve LinkedIn’den takip etmeyi unutmayın :)

--

--