Sunday, 12 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 Funktion Filters können wir jedoch eine kurze Funktion für Moving Averages schreiben: Wir haben dann die Funktion auf einem beliebigen Daten verwenden können: mav (Daten) oder mav (Daten, 11), wenn wir eine unterschiedliche Anzahl von Datenpunkten angeben möchten 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. Sein grundlegendes Berechnungsverfahren besteht darin, eine Teilmenge zu erstellen, die aus N aufeinanderfolgenden Elementen einer Zeitreihe besteht, den Mittelwert der Menge berechnen und die Teilmenge nacheinander nach vorn 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 einen 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. Zum Beispiel, salesAmount / 3Mittel den aktuellen Wert des Feldes Betrag von drei, aber wenn es in Filterfunktion verwendet wird, kann es bedeuten, die drei aufeinander folgenden Werte zusammen, dann teilen die Summe von drei. 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 vorherigen 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