Sunday 5 November 2017

Wie Zu Bewegen Durchschnitt In R


Die Breite des sich bewegenden Fensters muss eine ganze Zahl zwischen 1 und n sein, um verschiedene Algorithmen zu wählen. C - eine Version ist in C geschrieben. Sie kann nicht-endliche Zahlen wie NaNs und Infs behandeln (wie Mittelwert (x, na. rm TRUE)) . Es funktioniert am schnellsten für endrulemean. Schnell - zweite, noch schnellere, C-Version. Dieser Algorithmus funktioniert nicht mit nicht-endlichen Zahlen. Es funktioniert auch die am schnellsten für endrule andere als Mittel. R - viel langsamer Code in R geschrieben. Nützlich für das Debuggen und als Dokumentation. Genau wie bei C. mit der Ausnahme, daß alle Additionen unter Verwendung eines Algorithmus durchgeführt werden, der die zusätzliche Zeichenfolge der Zusatzrundfehler verfolgt und korrigiert, die angibt, wie die Werte am Anfang und Ende der Daten behandelt werden sollen. Es werden nur erste und letzte k2-Werte an beiden Enden beeinflusst, wobei k2 die Halbbandbreite k2 k 2 ist. Mean - wendet die zugrundeliegende Funktion auf kleinere und kleinere Abschnitte des Arrays an. Entspricht: für (i in 1: k2) outi Mittel (x1: (ik2)). Diese Option ist in C implementiert, wenn algC. Andernfalls wird in R. trim - trim die Endausgabe - Array - Länge gleich der Länge (x) - 2k2 (out out (k21): (n - k2)) durchgeführt. Diese Option imitiert die Ausgabe von apply (embed (x, k), 1, mean) und andere verwandte Funktionen. (En1: k2 x1: k2) Konstante - füllen Sie die Enden mit dem ersten und dem letzten berechneten Wert im Ausgabefeld aus (out1: k2 outk21) NA - füllen Sie die Enden mit NAs (out1: k2 NA ) Func - gleichbedeutend mit Mittelwert, aber impliziert in R. Diese Option kann sehr langsam sein und wird zumeist zum Testen mit einbezogen. Ähnlich wie Endrule in runmed-Funktion, die die folgenden Optionen hat: ldquo c (median, keep, constant) rdquo. specifies ob result Sollte zentriert (Standard), linksbündig oder rechtsbündig sein. Wenn endrule mean dann die Einstellung align nach links oder rechts wird auf die langsamere Umsetzung gleichbedeutend mit endrule func fallen. Abgesehen von den Endwerten ist das Ergebnis von y runmean (x, k) dasselbe wie ldquo für (j (1k2): (n - k2)) yjmean (x (j - k2): (jk2)) rdquo. Der Hauptanreiz, diesen Satz von Funktionen zu schreiben, war relative Langsamkeit der Mehrheit der beweglichen Fensterfunktionen, die in R und seinen Paketen verfügbar sind. Mit Ausnahme von Runmed. Eine laufende Fenster-Median-Funktion, sind alle Funktionen in siehe auch Abschnitt sind langsamer als sehr ineffizient ldquo gelten (embed (x, k), 1, FUN) rdquo Ansatz. Die Relativgeschwindigkeit der Runmean-Funktion ist O (n). Funktion EndRule wendet eine der fünf Methoden an (siehe Endrule-Argument), um Endpunkte des Eingangsarrays x zu verarbeiten. In der aktuellen Version des Codes wird die Default-Endruhe-Option im C-Code berechnet. Das geschieht, um die Geschwindigkeit bei großen bewegten Fenstern zu verbessern. Bei runmean (. Algexact) wird ein spezieller Algorithmus verwendet (siehe Referenzen), um sicherzustellen, dass keine Rundungsfehler auftreten. Als Ergebnis ist runmean genauer als Filter (x, rep (1k, k)) und runmean (.algC) - Funktionen. Gibt einen numerischen Vektor oder eine Matrix mit der gleichen Größe wie x zurück. Nur im Fall von Endruxtrim werden die Ausgangsvektoren kürzer und die Ausgangsmatrizen haben weniger Zeilen. Die Funktion runmean (.algexact) basiert auf dem Code von Vadim Ogranovich, der auf dem Python-Code basiert (siehe letzte Referenz), auf den Gabor Grothendieck hingewiesen hat. Referenzen Über Round-Off-Fehlerkorrektur in runmean verwendet. Shewchuk, Jonathan Adaptive Präzisions-Gleitkomma-Arithmetik und schnelle, robuste geometrische Prädikate. Www-2.cs. cmu. eduafscsprojectquakepublicpapersrobust-arithmetic. ps Mehr über die Rundungsfehlerkorrektur finden Sie unter: aspn. activestateASPNCookbookPythonRecipe393090 Links zu: moving mean - mean. Kernapply. Filter. zersetzen. Stl. Rollmean aus Zoo-Bibliothek, subsums aus Magic-Bibliothek, Andere bewegliche Fenster-Funktionen aus diesem Paket: runmin. Runmax. Runquantile Runmad und rund runzed generische laufende Fenster-Funktionen: anwenden (embed (x, k), 1, FUN) (am schnellsten), läuft aus gtools Paket (extrem langsam für diesen Zweck), subsums aus Magic Library können laufende Fenster Operationen auf Daten mit Beliebige Abmessungen. Paket caTools Version 1.12 IndexI haben ein Diagramm von Zeitreihen in ggplot2 Paket und ich habe die Moving-Durchschnitt durchgeführt und ich möchte das Ergebnis der gleitenden Durchschnitt auf die Handlung der Zeitreihen hinzuzufügen. Beispiel des Datensatzes (Seite 31): ambtemp dt -1.14 2007-09-29 00:01:57 -1.12 2007-09-29 00:03:57 -1.33 2007-09-29 00:05:57 -1.44 2007 -09-29 00:07:57 -1.54 2007-09-29 00:09:57 -1.29 2007-09-29 00:11:57 Angewandter Code für die Zeitreihen-Darstellung: Beispiel für Moving-Average-Plot Beispiel für erwartete Ergebnisse Herausforderung ist, dass die Zeitreihendaten aus dem Datensatz erhalten werden, die Zeitstempel und Temperatur enthalten, aber Moving Average Daten beinhalten nur die durchschnittliche Spalte und nicht die Zeitstempel und Anpassen dieser beiden können Inkonsistenz verursachen.

No comments:

Post a Comment