R - Zeitreihenanalyse

Zeitreihen sind eine Reihe von Datenpunkten, in denen jeder Datenpunkt einem Zeitstempel zugeordnet ist. Ein einfaches Beispiel ist der Kurs einer Aktie an der Börse zu verschiedenen Zeitpunkten an einem bestimmten Tag. Ein weiteres Beispiel ist die Niederschlagsmenge in einer Region zu verschiedenen Jahreszeiten. Die Sprache R verwendet viele Funktionen zum Erstellen, Bearbeiten und Plotten der Zeitreihendaten. Die Daten für die Zeitreihe werden in einem aufgerufenen R-Objekt gespeicherttime-series object. Es ist auch ein R-Datenobjekt wie ein Vektor oder ein Datenrahmen.

Das Zeitreihenobjekt wird mit dem erstellt ts() Funktion.

Syntax

Die grundlegende Syntax für ts() Funktion in der Zeitreihenanalyse ist -

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

Es folgt die Beschreibung der verwendeten Parameter -

  • data ist ein Vektor oder eine Matrix, die die in der Zeitreihe verwendeten Werte enthält.

  • start Gibt die Startzeit für die erste Beobachtung in Zeitreihen an.

  • end Gibt die Endzeit für die letzte Beobachtung in Zeitreihen an.

  • frequency Gibt die Anzahl der Beobachtungen pro Zeiteinheit an.

Mit Ausnahme des Parameters "Daten" sind alle anderen Parameter optional.

Beispiel

Berücksichtigen Sie die jährlichen Niederschlagsdetails an einem Ort ab Januar 2012. Wir erstellen ein R-Zeitreihenobjekt für einen Zeitraum von 12 Monaten und zeichnen es auf.

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

Wenn wir den obigen Code ausführen, wird das folgende Ergebnis und Diagramm erzeugt:

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

Das Zeitreihendiagramm -

Unterschiedliche Zeitintervalle

Der Wert des frequencyDer Parameter in der Funktion ts () bestimmt die Zeitintervalle, in denen die Datenpunkte gemessen werden. Ein Wert von 12 gibt an, dass die Zeitreihe 12 Monate lang ist. Andere Werte und ihre Bedeutung sind wie folgt -

  • frequency = 12 fixiert die Datenpunkte für jeden Monat eines Jahres.

  • frequency = 4 fixiert die Datenpunkte für jedes Vierteljahr.

  • frequency = 6 fixiert die Datenpunkte alle 10 Minuten einer Stunde.

  • frequency = 24*6 fixiert die Datenpunkte alle 10 Minuten eines Tages.

Mehrere Zeitreihen

Wir können mehrere Zeitreihen in einem Diagramm darstellen, indem wir beide Reihen zu einer Matrix kombinieren.

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

Wenn wir den obigen Code ausführen, wird das folgende Ergebnis und Diagramm erzeugt:

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

Das Diagramm für mehrere Zeitreihen -