R - Zaman Serisi Analizi

Zaman serisi, her veri noktasının bir zaman damgasıyla ilişkilendirildiği bir dizi veri noktasıdır. Basit bir örnek, borsadaki bir hisse senedinin belirli bir günde farklı zaman noktalarında fiyatıdır. Diğer bir örnek, bir bölgedeki yılın farklı aylarında yağış miktarıdır. R dili, zaman serisi verilerini oluşturmak, işlemek ve çizmek için birçok işlev kullanır. Zaman serileri için veriler, adı verilen bir R nesnesinde saklanırtime-series object. Aynı zamanda bir vektör veya veri çerçevesi gibi bir R veri nesnesidir.

Zaman serisi nesnesi, ts() işlevi.

Sözdizimi

İçin temel sözdizimi ts() zaman serisi analizinde fonksiyon -

timeseries.object.name <-  ts(data, start, end, frequency)

Kullanılan parametrelerin açıklaması aşağıdadır -

  • data zaman serilerinde kullanılan değerleri içeren bir vektör veya matristir.

  • start zaman serisindeki ilk gözlem için başlangıç ​​zamanını belirtir.

  • end zaman serisindeki son gözlemin bitiş zamanını belirtir.

  • frequency birim zamandaki gözlem sayısını belirtir.

"Veri" parametresi dışında diğer tüm parametreler isteğe bağlıdır.

Misal

Ocak 2012'den itibaren bir yerde yıllık yağış ayrıntılarını düşünün. 12 aylık bir süre için bir R zaman serisi nesnesi oluşturup grafiğini çiziyoruz.

# Get the data points in form of a R vector.
rainfall <- c(799,1174.8,865.1,1334.6,635.4,918.5,685.5,998.6,784.2,985,882.8,1071)

# Convert it to a time series object.
rainfall.timeseries <- ts(rainfall,start = c(2012,1),frequency = 12)

# Print the timeseries data.
print(rainfall.timeseries)

# Give the chart file a name.
png(file = "rainfall.png")

# Plot a graph of the time series.
plot(rainfall.timeseries)

# Save the file.
dev.off()

Yukarıdaki kodu çalıştırdığımızda, aşağıdaki sonucu ve grafiği üretir -

Jan    Feb    Mar    Apr    May     Jun    Jul    Aug    Sep
2012  799.0  1174.8  865.1  1334.6  635.4  918.5  685.5  998.6  784.2
        Oct    Nov    Dec
2012  985.0  882.8 1071.0

Zaman serisi grafiği -

Farklı Zaman Aralıkları

Değeri frequencyts () fonksiyonundaki parametre, veri noktalarının ölçüldüğü zaman aralıklarına karar verir. 12 değeri, zaman serisinin 12 aylık olduğunu gösterir. Diğer değerler ve anlamları aşağıdaki gibidir -

  • frequency = 12 Veri noktalarını yılın her ayı için sabitler.

  • frequency = 4 Veri noktalarını yılın her çeyreği için sabitler.

  • frequency = 6 Veri noktalarını bir saatin her 10 dakikası için sabitler.

  • frequency = 24*6 veri noktalarını günün her 10 dakikası için sabitler.

Çoklu Zaman Serileri

Her iki seriyi bir matris halinde birleştirerek birden fazla zaman serisini tek bir grafikte çizebiliriz.

# Get the data points in form of a R vector.
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)

# Convert them to a matrix.
combined.rainfall <-  matrix(c(rainfall1,rainfall2),nrow = 12)

# Convert it to a time series object.
rainfall.timeseries <- ts(combined.rainfall,start = c(2012,1),frequency = 12)

# Print the timeseries data.
print(rainfall.timeseries)

# Give the chart file a name.
png(file = "rainfall_combined.png")

# Plot a graph of the time series.
plot(rainfall.timeseries, main = "Multiple Time Series")

# Save the file.
dev.off()

Yukarıdaki kodu çalıştırdığımızda, aşağıdaki sonucu ve grafiği üretir -

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

Çoklu Zaman serisi grafiği -