Saturday 11 November 2017

Moving Average R Code


Moving Averages in R Nach meinem besten Wissen hat R keine integrierte Funktion zur Berechnung der gleitenden Mittelwerte. Mit der Filterfunktion können wir jedoch eine kurze Funktion für gleitende Mittelwerte schreiben: Wir können die Funktion auf beliebigen Daten verwenden: mav (data) oder mav (data, 11), wenn wir eine andere Anzahl von Datenpunkten angeben wollen Als die Standard-5-Plotterarbeiten wie erwartet: plot (mav (data)). Zusätzlich zu der Anzahl der Datenpunkte, über die gemittelt wird, können wir auch das Seitenargument der Filterfunktionen ändern: sides2 verwendet beide Seiten, Seiten1 verwendet nur vergangene Werte. Share this: Post navigation Kommentar Navigation Kommentar navigationHow to Compute Moving Average in R Sprache und Python Ein gleitender Durchschnitt wird verwendet, um eine Zeitreihe glätten. Das Berechnen des gleitenden Durchschnitts ist ein typischer Fall der geordneten Datenberechnung. Seine grundlegende Berechnungsmethode besteht darin, eine Teilmenge zu erstellen, die aus N aufeinanderfolgenden Elementen einer Zeitreihe besteht, den Mittelwert der Menge berechnen und die Teilmenge eine nach der anderen nach vorne verschieben. Das folgende Beispiel zeigt, wie Sie den gleitenden Durchschnitt in der R-Sprache berechnen können. Datenrahmen Verkauf hat zwei Felder: salesDate und Betrag dieses Datums. Anforderung: Berechnen Sie den gleitenden Durchschnitt in drei Tagen. Berechnungsschritte umfassen das Durchsuchen des Verkaufsbetragsdurchschnitts des Vortags, des aktuellen Tages und des nächsten Tages und die Verschiebung entlang der Daten. Ein Teil der Quelldaten ist wie folgt: filter (salesAmount 3, rep (1, 3)) Filterfunktion kann in der R-Sprache verwendet werden, um den gleitenden Durchschnitt zu berechnen, der einen prägnanten Code erzeugt. Diese Methode ist sehr bequem. Trotz der Bequemlichkeit der Filterfunktion. Es ist schwer für Anfänger zu verstehen. Beispielsweise teilt salesAmount 3 den aktuellen Wert des Felds Betrag um drei auf, aber wenn es in der Filterfunktion verwendet wird, kann es bedeuten, die drei aufeinander folgenden Werte zusammen zu addieren und dann die Summe um drei zu dividieren. 1,1,1 ist der Wert des Ausdrucks rep (1,3), der hier verwendet wird, um den Bereich des Datenabrufs zu spezifizieren. Darüber hinaus, da weder der Name noch die Parameter der Filterfunktion enthalten die Worte durchschnittlich und bewegend, auch viele Entwickler von R-Sprache nicht wissen, ihre Verwendung für die Berechnung der gleitenden Durchschnitt. Tatsächlich ist die Filterfunktion ein universelles lineares Filter. Seine Verwendung ist mehr als die Berechnung der gleitenden Durchschnitt. Seine vollständige Funktionsreferenz ist Filter (x, Filter, Methode c (Faltung, rekursiv), Seiten 2, kreisförmig FALSE, init). Jede Änderung der Anforderung macht den Code schwieriger zu verstehen. Beispielsweise kann der Code für die Berechnung des gleitenden Mittelwerts des aktuellen Tages und der vorangegangenen zwei Tage nicht als Filter (salesAmount 3, rep (0,2)) geschrieben werden, sondern es muss filter (salesAmount 3, rep (1,3), Seiten 1). R-Sprache kann gleitenden Durchschnitt berechnen, aber sein Code ist ziemlich schwer fassbar. Wir können auch Python, esProc und Perl, um diesen Fall zu behandeln. Als R-Sprache können alle diese Sprachen Datenstatistik und Analyse durchführen und den gleitenden Durchschnitt berechnen. Im Folgenden werden kurz die Lösungen von Python und esProc vorgestellt. Pandas ist Python-Drittanbieter-Bibliothek. Es ist mächtig in der Verarbeitung von strukturierten Daten mit grundlegenden Datentyp imitieren Rs Dataframe. Derzeit ist die neueste Version 0.14. Sein Code für den Umgang mit diesem Fall ist wie folgt: Der Name der rollende Funktion ist klar, auch ein Entwickler ohne Erfahrung mit Pandas kann es leicht zu verstehen. Die Funktionsverwendung ist auch einfach. Der erste Parameter ist die Sequenz, die berechnet wird, und der zweite Parameter ist N, dh die Anzahl der Tage, in denen der gleitende Durchschnitt gesucht wird. EsProc ist gut, Geschäftslogik frei mit agiler Syntax auszudrücken. Seine Ausdrücke für die relative Position können rechnerische Probleme der Bestellung von Daten leicht lösen. Der Code ist wie folgt: Im Code steht ein relatives Intervall, dh die drei Tage des Vortags, der aktuelle Tag und der nächste Tag. Es ist ersichtlich, dass ein gleitender Durchschnitt mit Hilfe eines relativen Intervalls klar und flexibel ausgearbeitet werden kann. Wenn es zum Beispiel erforderlich ist, den gleitenden Durchschnitt des aktuellen Tages und der letzten beiden Tage zu berechnen, müssen wir nur das Intervall in esProc ändern. Ein relatives Intervall ist ein Satz. EsProc kann auch ein Element der relativen Position ausdrücken. Zum Beispiel kann er die Umsatzwachstumsrate mit (Betrag - Amount-1) bequem berechnen. Im Gegensatz dazu ist der Code in R-Sprache und Python schwer zu verstehen.

No comments:

Post a Comment