Büyük Veri Analitiği - Zaman Serisi Analizi
Zaman serisi, bir tarihe veya zaman damgasına göre indekslenmiş kategorik veya sayısal değişkenlerin gözlemleri dizisidir. Zaman serisi verilerinin açık bir örneği, hisse senedi fiyatının zaman serisidir. Aşağıdaki tabloda zaman serisi verilerinin temel yapısını görebiliriz. Bu durumda gözlemler her saat kaydedilir.
Zaman damgası | Hisse senedi fiyatı |
---|---|
2015-10-11 09:00:00 | 100 |
2015-10-11 10:00:00 | 110 |
2015-10-11 11:00:00 | 105 |
2015-10-11 12:00:00 | 90 |
2015-10-11 13:00:00 | 120 |
Normalde, zaman serisi analizinin ilk adımı seriyi çizmektir, bu normalde bir çizgi grafikle yapılır.
Zaman serisi analizinin en yaygın uygulaması, verilerin zamansal yapısını kullanarak sayısal bir değerin gelecekteki değerlerini tahmin etmektir. Bu, mevcut gözlemlerin gelecekteki değerleri tahmin etmek için kullanıldığı anlamına gelir.
Verilerin zamansal sıralaması, geleneksel regresyon yöntemlerinin kullanışlı olmadığı anlamına gelir. Sağlam bir tahmin oluşturmak için, verilerin zamansal sırasını hesaba katan modellere ihtiyacımız var.
Zaman Serisi Analizi için en yaygın kullanılan modele Autoregressive Moving Average(ARMA). Model iki bölümden oluşmaktadır:autoregressive (AR) bölümü ve bir moving average(MA) bölümü. Model genellikle daha sonra ARMA (p, q) modeli olarak adlandırılır , burada p otoregresif bölümün sırası ve q hareketli ortalama bölümün sırasıdır.
Otoregresif Model
AR (p) sipariş p bir kendiliğinden gerileyen modeli olarak okunur. Matematiksel olarak şöyle yazılır -
$$ X_t = c + \ sum_ {i = 1} ^ {P} \ phi_i X_ {t - i} + \ varepsilon_ {t} $$
burada {φ 1 ,…, φ p } tahmin edilecek parametrelerdir, c sabittir ve rastgele değişken ε t beyaz gürültüyü temsil eder. Modelin sabit kalması için parametrelerin değerleri üzerinde bazı kısıtlamalar gereklidir.
Hareketli ortalama
Gösterimde MA (q) sipariş hareketli ortalama modeline değinmektedir q -
$$ X_t = \ mu + \ varepsilon_t + \ sum_ {i = 1} ^ {q} \ theta_i \ varepsilon_ {t - i} $$
θ 1 , ..., θ q modelin parametreleridir, μ X t'nin beklentisidir ve ε t , ε t - 1 , ... beyaz gürültü hatası terimleridir.
Otoregresif Hareketli Ortalama
ARMA (p, q) modeli birleştirir s kendiliğinden gerileyen koşulları ve q hareketli ortalama şartları. Matematiksel olarak model aşağıdaki formülle ifade edilir -
$$ X_t = c + \ varepsilon_t + \ sum_ {i = 1} ^ {P} \ phi_iX_ {t - 1} + \ sum_ {i = 1} ^ {q} \ theta_i \ varepsilon_ {ti} $$
Biz görebilirsiniz ARMA (p, q) modeli bir kombinasyonudur AR (p) ve MA (q) model.
Modelin bazı sezgi vermek denklemin AR parçası X için parametreleri tahmin etmeyi amaçlayan düşünün i - t X değişkenin değerini tahmin etmek amacıyla gözlemlerini t . Sonunda, geçmiş değerlerin ağırlıklı ortalamasıdır. MA bölümü aynı yaklaşımı kullanır, ancak önceki gözlemlerin hatasıyla, ε t - i . Sonuç olarak, modelin sonucu ağırlıklı ortalamadır.
Aşağıdaki kod parçacığı , R'de bir ARMA'nın (p, q) nasıl uygulanacağını gösterir .
# install.packages("forecast")
library("forecast")
# Read the data
data = scan('fancy.dat')
ts_data <- ts(data, frequency = 12, start = c(1987,1))
ts_data
plot.ts(ts_data)
Verilerin grafiğini çizmek, normalde verilerde zamansal bir yapı olup olmadığını bulmak için ilk adımdır. Her yılın sonunda güçlü ani artışların olduğunu arsadan görebiliyoruz.
Aşağıdaki kod bir ARMA modelini verilere uyar. Birkaç model kombinasyonunu çalıştırır ve daha az hatası olanı seçer.
# Fit the ARMA model
fit = auto.arima(ts_data)
summary(fit)
# Series: ts_data
# ARIMA(1,1,1)(0,1,1)[12]
# Coefficients:
# ar1 ma1 sma1
# 0.2401 -0.9013 0.7499
# s.e. 0.1427 0.0709 0.1790
#
# sigma^2 estimated as 15464184: log likelihood = -693.69
# AIC = 1395.38 AICc = 1395.98 BIC = 1404.43
# Training set error measures:
# ME RMSE MAE MPE MAPE MASE ACF1
# Training set 328.301 3615.374 2171.002 -2.481166 15.97302 0.4905797 -0.02521172