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 -