Jak obliczyć wykładniczą średnią ruchomą w r


W analizie szeregów czasowych średnia ruchoma jest po prostu średnią wartością kilku poprzednich okresów.

Wykładnicza średnia krocząca to rodzaj średniej ruchomej, która przywiązuje większą wagę do ostatnich obserwacji, co oznacza, że jest w stanie szybciej uchwycić najnowsze trendy.

W tym samouczku wyjaśniono, jak obliczyć wykładniczą średnią kroczącą w R.

Przykład: wykładnicza średnia krocząca w R

Załóżmy, że mamy następującą ramkę danych w R:

 #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

Możemy użyć funkcji movavg() z pakietu Pracma , aby obliczyć wykładniczo ważoną średnią ruchomą dla pewnej liczby poprzednich okresów.

Ta funkcja wykorzystuje następującą składnię:

movavg(x, n, typ=c(„s”, „t”, „w”, „m”, „e”, „r”))

Złoto:

  • x: szereg czasowy w postaci wektora cyfrowego
  • n: Liczba poprzednich okresów, które mają zostać użyte do obliczenia średniej
  • type: Typ średniej ruchomej do obliczenia. Będziemy używać „e” dla wykładniczej ważonej średniej kroczącej.

Na przykład, oto jak obliczyć wykładniczą ważoną średnią ruchomą na podstawie poprzednich czterech okresów:

 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

Możemy również użyć biblioteki wizualizacji ggplot2 do wizualizacji sprzedaży w stosunku do 4-dniowej wykładniczej średniej kroczącej:

 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))

Wykładniczo ważona średnia ruchoma w R

Czerwona linia pokazuje sprzedaż w każdym okresie, a niebieska linia pokazuje wykładniczą ważoną średnią ruchomą.

Dodatkowe zasoby

Jak wykreślić wiele kolumn w R
Jak uśredniać kolumny w R
Jak obliczyć średnią na grupę w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *