R'de üstel hareketli ortalama nasıl hesaplanır


Zaman serisi analizinde hareketli ortalama , basitçe önceki birkaç periyodun ortalama değeridir.

Üstel hareketli ortalama, son gözlemlere daha fazla ağırlık veren bir hareketli ortalama türüdür; bu, son trendleri daha hızlı yakalayabildiği anlamına gelir.

Bu eğitimde R’de üstel hareketli ortalamanın nasıl hesaplanacağı açıklanmaktadır.

Örnek: R’de üstel hareketli ortalama

R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:

 #create data frame
df <- data.frame(period=1:10,
                 sales=c(25, 20, 14, 16, 27, 20, 12, 15, 14, 19))

#view data frame
df

   period sales
1 1 25
2 2 20
3 3 14
4 4 16
5 5 27
6 6 20
7 7 12
8 8 15
9 9 14
10 10 19

Önceki birkaç döneme ait üstel ağırlıklı hareketli ortalamayı hesaplamak için pracma paketindeki movavg() fonksiyonunu kullanabiliriz.

Bu işlev aşağıdaki sözdizimini kullanır:

movavg(x, n, type=c(“s”, “t”, “w”, “m”, “e”, “r”))

Altın:

  • x: dijital vektör biçimindeki zaman serisi
  • n: Ortalama için kullanılacak önceki dönemlerin sayısı
  • type: Hesaplanacak hareketli ortalama türü. Üstel ağırlıklı hareketli ortalama için “e” kullanacağız.

Örneğin, önceki dört dönemi kullanarak üstel ağırlıklı hareketli ortalamanın nasıl hesaplanacağı aşağıda açıklanmıştır:

 library (pracma)

#create new column to hold 4-day exponentially weighted moving average
df$EWM_4day <- movavg (df$sales, n=4, type=' e ')

#view DataFrame 
df

        period sales 4dayEWM
0 1 25 25.000000
1 2 20 23.000000
2 3 14 19.400000
3 4 16 18.040000
4 5 27 21.624000
5 6 20 20.974400
6 7 12 17.384640
7 8 15 16.430784
8 9 14 15.458470
9 10 19 16.875082

Satışları 4 günlük üstel ağırlıklı hareketli ortalamaya göre görselleştirmek için ggplot2 görselleştirme kütüphanesini de kullanabiliriz:

 library (ggplot2)
library (reshape2)

#melt data into format for easy plotting
df <- melt (df, id.vars = ' period ', variable.name = ' series ')

#plot sales vs. 4-day exponentially weighted moving average
ggplot(df, aes (period, value)) +
  geom_line( aes (color=series))

R cinsinden Üstel Ağırlıklı Hareketli Ortalama

Kırmızı çizgi her dönemdeki satışları, mavi çizgi ise üstel ağırlıklı hareketli ortalamayı gösteriyor.

Ek kaynaklar

R’de birden fazla sütun nasıl çizilir
R’deki sütunların ortalaması nasıl alınır?
R’de grup başına ortalama nasıl hesaplanır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir