
Merhaba R severler,
Bu dersimizde zaman serilerinin R programlama üzerinde işleyişini ve ilgili komutları inceleyeceğiz. Fakat öncesinde her zaman yaptığımız gibi zaman serileri üzerinde biraz durmamız gerekecek.
Zaman Serisi
Analizi zaman içerisinde düzenli olarak gözlemlenen, gözlemler sırasında istatistiksel yöntemler kullanılan ve gelecek zaman dilimleri için tahminlerin güvenilir bir şekilde yapılmasını sağlayan istatistiksel tekniktir.
Sürekli olarak kaydedilebilen (voltaj, ses, elektrik sinyalleri…vb.) veriler için kullanılan yöntem sürekli zaman serileri iken; belirli aralıklarla elde edilen (faiz oranı, satış hacmi…vb.)seriler kesikli zaman serisinin konusudur.
Zaman Serisinin R Programlamada Uygulanması
Zaman serileri R programı içerisinde ts() komutu ile kurgulanmaktadır. Bu komut dört adet argümandan oluşmaktadır. Bunlar;
· Data : zaman serisi için kullanılacak vektör yada matrisi temsil etmektedir.
· Start: zaman serisinde ilk gözlemlenen değer için başlangıç değerini temsil eder.
· End : zaman serisinde son gözlemlenen değer için bitiş değerini temsil eder.
· Frequency : uygulanacak zaman serisinin hangi aralıklarla analizinin yapılacağını temsil eder.
Kullanımı aşağıdaki gibidir;
Atanacak_değer = ts (data, start, end, frequency)
Örnek;
Ocak 2012 yılından itibaren bir sene içerisinde alınan yağış miktarını inceleyelim. Öncelikle elde ettiğimiz gözlemleri bir vektör içerisinde tanımlayalım
rainfall <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)
tanımlama işleminden sonra elimizdeki veriyi bir zaman serisine çevirelim;
rainfall.timeseries <- ts(rainfall,start = c(2012,1),frequency = 12)
yukarıda görüldüğü gibi rainfall.timeseries isimli değişkenin içerisine rainfall vektöründen veri çekerek, başlangıcı 2012 yılının birinci ayından itibaren bütün bir seneyi kapsayacak bir şekilde tanımlamamız yapılmıştır. Bize dönecek olan sonuç aşağıdaki gibidir.
rainfall.timeseries
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2012 799.0 1174.8 865.1 1334.6 635.4 918.5 685.5 998.6 784.2 985.0 882.8 1071.0
Grafikte bu seriyi görmek istersek aşağıdaki komutu uygulamamız yeterli olacaktır.
plot(rainfall.timeseries)
Farklı Zaman Aralıkları
Zaman aralıklarını frequency argümanı üzerinden tanımladığımızı daha önceden söylemiştik. Fakat bu argüman içerisine 12 değil de 4 yazdığımız zaman ilk dört ayı alacak şeklinde düşünmemiz yanlış olur. Aşağıdaki tabloda bu argümana verilecek değerler ile ilgili bilgiler verilmiştir.
· Frequency = 12 yılın her ayına göre zaman serisi oluşturur.
· Frequency = 4 yılın her çeyrek zamanına göre zaman serisi oluşturur.
· Frequency = 6 bir saatin her on dakikasına göre zaman serisi oluşturur.
· Frequency = 24 * 6 günün her on dakikasına göre zaman serisi oluşturur.
Çoklu zaman serisi oluşturma
Öncelikle iki adet vektör oluşturalım
rainfall1 <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)
rainfall2 <- c(655,1306.9,1323.4,1172.2,562.2,824,822.4,1265.5,799.6,1105.6,1106.7,1337.8)
oluşturulan vektörleri bir matris içerisinde tanımlayalım;
combined.rainfall <- matrix(c(rainfall1,rainfall2),nrow = 12)
meydana gelen matrisi bir zaman serisine dönüştürelim;
rainfall.timeseries <- ts(combined.rainfall,start = c(2012,1),frequency = 12)
bize aşağıdaki gibi bir sonuç verecektir.
Series 1 Series 2
Jan 2012 799.0 655.0
Feb 2012 1174.8 1306.9
Mar 2012 865.1 1323.4
Apr 2012 1334.6 1172.2
May 2012 635.4 562.2
Jun 2012 918.5 824.0
Jul 2012 685.5 822.4
Aug 2012 998.6 1265.5
Sep 2012 784.2 799.6
Oct 2012 985.0 1105.6
Nov 2012 882.8 1106.7
Dec 2012 1071.0 1337.8
Aynı zamanda bunu bir grafik üzerinde göstermek istersek yine plot komutu ile bu işlemi gerçekleştirebiliriz.
Konu ile ilgili soru ve önerileriniz için facebook sayfamızı ziyaret edebilirsiniz.