So berechnen Sie einen exponentiellen gleitenden Durchschnitt in R

Von Fabian
Kategorie: R
Tags: Zeitreihen
Lesezeit: 2 Minuten

In der Zeitreihenanalyse ist ein gleitender Durchschnitt einfach der Durchschnittswert einer bestimmten Anzahl vorheriger Perioden.

Ein exponentieller gleitender Durchschnitt ist eine Art gleitender Durchschnitt, der jüngsten Beobachtungen mehr Gewicht verleiht, was bedeutet, dass er aktuelle Trends schneller erfassen kann.

In diesem Tutorial wird erklärt, wie ein exponentieller gleitender Durchschnitt in R berechnet wird

Beispiel: Exponentieller gleitender Durchschnitt in R

Angenommen, wir haben das folgende Dataframe in R:

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

#Dataframe anzeigen
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

Wir können die movavg()-Funktion aus dem pracma-Paket verwenden, um den exponentiell gewichteten gleitenden Durchschnitt für eine bestimmte Anzahl vorheriger Perioden zu berechnen.

Diese Funktion verwendet die folgende Syntax:

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

wo:

  • x: Zeitreihen als numerischer Vektor
  • n: Anzahl der vorherigen Perioden, die durchschnittlich verwendet werden sollen
  • type: Art des zu berechnenden gleitenden Durchschnitts. Wir werden "e" für den exponentiell gewichteten gleitenden Durchschnitt verwenden.

So berechnen Sie beispielsweise den exponentiell gewichteten gleitenden Durchschnitt anhand der vier vorherigen Perioden:

library(pracma)

#Erstellen Sie eine neue Spalte für den exponentiell gewichteten gleitenden 4-Tage-Durchschnitt
df$EWM_4day <- movavg(df$sales, n=4, type='e')

# Dataframe anzeigen 
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

Wir können auch die Visualisierungsbibliothek ggplot2 verwenden, um die Verkäufe im Vergleich zum exponentiell gewichteten gleitenden 4-Tage-Durchschnitt zu visualisieren:

library(ggplot2)
library(reshape2)

df <- melt(df ,  id.vars = 'period', variable.name = 'series')

# Grundstücksverkäufe im Vergleich zum exponentiell gewichteten gleitenden 4-Tage-Durchschnitt
ggplot(df, aes(period, value)) +
  geom_line(aes(colour = series))

Exponentiell gewichteter gleitender Durchschnitt in R

Die rote Linie zeigt die Verkäufe während jeder Periode und die blaue Linie zeigt den exponentiell gewichteten gleitenden Durchschnitt.

Zusätzliche Ressourcen

Spaltenübergreifender Durchschnitt in R
So berechnen Sie den Mittelwert nach Gruppe in R

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: