Tuesday, October 25, 2016

Verschieben Des Durchschnittlichen R-Projekts

Ich habe eine Handlung von Zeitreihen in ggplot2 Paket und ich habe die Moving Average durchgeführt und ich möchte das Ergebnis der gleitenden Durchschnitt auf die Handlung der Zeitreihen hinzufügen. Beispiel des Datensatzes (p31): 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 Zeitreihen-Daten aus Datensatz ovbtained aus Datensatz, der Zeitstempel und Temperatur enthält, aber Moving durchschnittliche Daten enthalten nur die durchschnittliche Spalte und nicht die Zeitstempel und Anpassung dieser beiden können Inkonsistenz verursachen. R Verschieben Durchschnitt Auf Thu, 16 Jun 2005 08:04: 18 -0400 (EDT) Bernard L. Dillard schrieb: Guten Morgen alles, was ich versuche, einen gleitenden Durchschnitt glatter auf ein Diagramm der täglichen Plots zu überlagern. Diese Grundstücke (in Tabelle, 2 unten) erstrecken sich über 350 Tage und sehen sehr laut aus. I39d wie für diese glatter, den Durchschnitt jeder Gruppe von 7 aufeinander folgenden Tagen (wöchentlich) und zeigen eine Linie, die diese Serie von Durchschnitten verbindet. Angesichts der Definition von MA werden sich die ersten und letzten Punkte bei der Durchschnittsberechnung im allgemeinen überschneiden. Es ist wahrscheinlich ein Einzeiler, aber ich habe immer noch einige Probleme mit der Syntax. Das einzige Teil, das ich korrekt habe, ist die quotlinesquot Aussage, zum sicherzustellen, daß es mein ursprüngliches Diagramm überlagert. Hier ist der Code, den ich bisher habe: Mit dem Zoo-Paket können Sie folgende Funktionen ausführen: Bibliothek (Zoo) Erzeugen von Daten x lt-rnorm (365) Umwandlung in reguläre Zoo-Reihe mit quotDatequot-Index x lt - zooreg (x, start als. Date (Quot2004-01-01quot)) Diagramm (x) addieren Rolling / laufenden / gleitenden Durchschnitt mit Fenstergröße 7 Zeilen (rollmean (x, 7), col 2, lwd 2) wenn Sie don39t das rollende Mittel wünschen, aber eher eine wöchentliche Zeit Reihe von Mitteln, die Sie als nächstes tun können (x) 7 Decke (als. numerisch (x - 1) / 7) als. Dat (1) xw lt - Aggregat (x, nextfri, mean) nextfri ist eine Funktion, die berechnet Für einen bestimmten quotDatequot den nächsten Freitag. Xw ist dann die wöchentliche Serie. Zeilen (xw, col 4) Beachten Sie, dass der Unterschied zwischen dem Rollmittel und der aggregierten Reihe auf unterschiedliche Ausrichtungen zurückzuführen ist. Dies kann geändert werden, indem das align39-Argument in rollmean () oder die nextfri () - Funktion im aggregierten Aufruf geändert wird. Jeder Zeitreihe Gurus da draußen Seien Sie sanft. I39m ein R Anfänger. Wie Berechnung der gleitenden Durchschnitt ohne Filter () Es gibt eine zillion Antworten darauf, denn Ihre Frage ist wirklich: Wie glätte ich eine Zeitreihe So können Sie auf entsprechende Keywords zu suchen. Meine Antwort ist: Verwenden Sie keine gleitenden Durchschnitte - das ist pathetisch alt. Löss ist eine unter den zillions von Alternativen, die Sie betrachten konnten. Post auf CV (stats. stackexchange) für andere statistische Alternativen für die Zeitreihe Glättung. Darüber hinaus ist die quotunderstandingquot Sie oben ist fehlerhaft. Anwendungsähnliche Konstrukte sind (R-Level) - Schleifen. So haben Sie Ihre Hausaufgaben durch Lesen einer Intro zu R (cran. r-project. org/doc/manuals/R-intro. pdf) oder andere Web-Tutorials Wenn nicht, bitte tun Sie dies, bevor Sie hier weiter. Bert Gunter Genentech Nichtklinische Biostatistik (650) 467-7374 quotData ist keine Information. Information ist nicht Wissen. Und Wissen ist sicher nicht Weisheit. zum H. Gilbert Welch Am Mo, 17. Februar 2014 um 10:45 Uhr, C W lthidden E-Mail gt wrote: gt Hi-Liste, gt Wie berechne ich einen gleitenden Durchschnitt ohne Filter (). Filter () scheinen keine gewichteten Durchschnittswerte zu geben. Gt gt Ich schaue in apply (), tapply. Aber nichts quotmovesquot. Gt gt Beispiel: gt gt datlt-c (1:20) gt Mittel (dat1: 3) gt Mittel (dat4: 6) gt Mittel (dat7: 9) gt Mittel (dat10: 12) gt gt etc. gt gt I Verstehen, der Punkt der Anwendung ist es, Schleifen zu vermeiden, wie sollte ich gt diese Idee in eine Anwendung () gt gt Danke, gt Mike gt gt alternative HTML-Version gelöscht gt gt gt versteckte E-Mail-Mailing-Liste gt stat. ethz. ch/mailman / list / r Hilfe gt BITTE die Entsendung Führung www. R-project. org/posting-guide gt und bieten kommentierte, minimal, in sich geschlossene, reproduzierbare Code liest. In Antwort auf dieses Thema von tmrsg11 Am 17. Februar 2014, um 10:45 Uhr, schrieb C W: gt Hallo Liste gt Wie berechne ich einen gleitenden Durchschnitt ohne Filter () verwenden. Filter () scheinen keine gewichteten Durchschnittswerte zu geben. Gt gt Ich schaue in apply (), tapply. Aber nichts quotmovesquot. Gt gt Beispiel: gt gt datlt-c (1:20) gt Mittel (dat1: 3) gt Mittel (dat4: 6) gt Mittel (dat7: 9) gt Mittel (dat10: 12) gt gt etc. gt gt I verstehen der Punkt der Anwendung ist Schleifen zu vermeiden, wie soll ich gt diese Idee in die Verwendung eines apply () integrieren gt ein Vektorkonstrukt für die Gruppierung und verwenden tapply. Modulo-Abteilung ist eine gemeinsame Methode, um dies zu erreichen. Manchmal kann die seq-Funktion verwendet werden, wenn Sie die Länge richtig einstellen. Gt tapply (dat, (0, (Länge (dat) -1)) / 3, Mittelwert) 0 1 2 3 4 5 6 2,0 5,0 8,0 11,0 14,0 17,0 19,5 tapply (dat, round (seq ) / 3), lenlength (dat))), bedeuten) 1 2 3 4 5 6 7 1.5 4.5 8.0 11.0 14.5 18.0 20.0 Der Kommentar über die Gewichtung scheinen dos nicht in Ihrem Beispiel veranschaulicht werden. gt Danke gt Mike gt gt alternative HTML-Version gelöscht gt gt gt versteckte E-Mail-Verteilerliste gt stat. ethz. ch/mailman/listinfo/r-help gt BITTE tun, um die Entsendung Führer lesen www. R-project. org/posting-guide Gt und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. David Winsemius Alameda, CA, USA öffnen diesen Beitrag in Baumansicht Bericht Inhalt melden Re: Mittelwert zu berechnen Bewegen ohne Filter verwendet () Als Antwort auf diesen Beitrag von Rui Barradas Für 5-Punkt-Durchschnitt, Filter (x, side2, filterrep (1/5, 5)), im Vergleich zu, Filter (x, side2, filterrep (1, 5) haben sie die gleiche Wirkung haben, da die gesamten Bedürfnisse 1. Gabor amp Rui zu sein: ich bin mir bewusst, der Zoo-Paket, ... ich wollte nicht, ein Paket für eine Funktion Aus demselben Grund für sos-Paket zu installieren David, danke, das ist, was ich suche am Mo, 17. Februar 2014, um 2:07 Uhr, Rui Barradas lthidden E-Mail gt schrieb: Gt gt Hallo, gt gt Viele Pakete haben eine movind durchschnittliche Funktion, z. B. Paket gt Prognose oder gt gt Bibliothek (sos) gt findFn (mittlere quot) gt gt In Ihrem Beispiel, was Sie berechnen ist nicht gerade ein gleitender Durchschnitt, aber in gt kann mit so etwas wie die folgenden berechnet werden gt gt s LT - (seqalong (dat) - 1). / 3 gt sapply (split (dat, s), Mittelwert) gt gt gt Hoffe, dass dies hilft, gt gt Rui Barradas gt gt gt Em 17-02-2014 18.45, CW escreveu: gt gtgt Hallo Liste, gtgt Wie berechne ich einen gleitenden Durchschnitt ohne Filter () verwenden. filter () scheint gtgt nicht gewichteten Mittelwerte zu geben. gtgt gtgt Ich suche in apply (), tapply. Aber nichts quotmovesquot. gtgt gtgt Zum Beispiel gtgt gtgt datlt-c (1:20) gtgt Mittelwert (DAT1: 3) gtgt Mittelwert (DAT4: 6) gtgt Mittelwert (DAT7: 9) gtgt Mittelwert (dat10: 12) gtgt gtgt usw. gtgt gtgt I Verstehen, der Punkt der Anwendung ist es, Schleifen zu vermeiden, wie sollte ich gtgt diese gtgt-gtgt in diesem Fall in eine Anwendung () gtgt gtgt Danke, gtgt Mike gtgt gtgt alternative HTML-Version gelöscht gtgt gtgt gtgt versteckte E-Mail-Mailing-Liste gtgt stat. ethz. ch/ mailman / listinfo / r Hilfe gtgt BITTE tun die Entsendung Führung www. R-project. org/ gtgt Posting-Führer gtgt und bieten kommentierte, minimal, in sich geschlossene, reproduzierbare Code lesen. Gtgt gtgt alternative HTML-Version deletedZeitreihenanalyse und ihre Anwendungen: mit R-Beispielen R-Zeitreihen-Schnellbearbeitung Die Seite verwendet JavaScript für die Syntaxhervorhebung. Es ist nicht notwendig, um es einzuschalten, aber der Code wird schwerer zu lesen. Dies ist nur ein kurzer Spaziergang nach unten Zeit seRies Spur. Mein Rat ist, öffnen Sie R und spielen zusammen mit dem Tutorial. Hoffentlich haben Sie R installiert und gefunden das Symbol auf Ihrem Desktop, die wie ein R. gut aussieht, ist es ein R. Wenn youre mit Linux, dann aufhören, weil es nicht da. Öffnen Sie einfach ein Terminal und geben Sie R ein (oder installieren Sie R Studio.) Wenn Sie mehr auf Zeitreihengrafiken möchten, insbesondere mit ggplot2. Finden Sie in der Grafik Quick Fix. Die schnelle Lösung soll Sie aussetzen, um grundlegende R-Zeitreihen-Fähigkeiten, und bewertet Spaß für Menschen im Alter von 8 bis 80. Dies ist keine Lehre in Zeitreihe-Analyse, aber es ist tsaEZ. Eine freie und einfache Einführung in die Zeitreihenanalyse. Loz Babyschritte. Ihre erste R-Sitzung. Holen Sie sich bequem, dann starten Sie sie und versuchen Sie einige einfache Ergänzung: Ok, jetzt bist du ein Experte verwenden R. Wollte jetzt astsa: Nun, da du geladen bist, können wir anfangen. Lass uns gehen Erstens, gut spielen mit dem Johnson amp Johnson Datensatz. Sein eingeschlossen in astsa als jj. Dass dynOmite Zeichen von Good Times. Zuerst betrachten Sie es. Und Sie sehen, dass jj eine Ansammlung von 84 Zahlen ist, die ein Zeitreihenobjekt genannt werden. So sehen / entfernen Sie Ihre Objekte: Wenn Sie ein Matlab (oder ähnliches) Benutzer sind, können Sie denken, dass jj ein 84 mal 1 Vektor ist, aber sein nicht. Es hat Ordnung und Länge, aber keine Dimensionen (keine Zeilen, keine Spalten). R ruft diese Art von Objekten Vektoren, so dass Sie vorsichtig sein müssen. In R haben Matrizen Dimensionen, aber Vektoren nicht - sie nur Art von baumeln über im Cyberspace. Nun können wir ein monatliches Zeitreihenobjekt erstellen, das im Juni des Jahres 2293 beginnt. Wir betreten den Vortex. Beachten Sie, dass die Daten von Johnson und Johnson vierteljährliche Erträge sind. Die Zeitreihe zardoz ist monatlich, daher hat sie Frequenz12. Sie erhalten auch einige nützliche Dinge mit dem ts-Objekt, zum Beispiel: Jetzt versuchen Sie eine Handlung der Johnson Johnson Daten: Die Grafik gezeigt, ist ein wenig mehr Phantasie, als der Code geben wird. Weitere Informationen finden Sie auf der Seite Grafiken Quick Fix. Dies gilt für den Rest der Grundstücke, die Sie hier sehen werden. Versuchen Sie diese und sehen, was passiert: und während Sie hier, überprüfen Sie plot. ts und ts. plot. Beachten Sie, dass, wenn Ihre Daten ein Zeitreihenobjekt sind, plot () den Trick ausführen wird (für ein einfaches Zeitdiagramm). Andernfalls wird plot. ts () die Grafik in ein Zeitdiagramm zwingen. Wie über das Filtern / Glätten der Johnson-amp-Johnson-Serie mit einem zweiseitigen gleitenden Durchschnitt Lets versuchen dies: fjj (t) 8539 jj (t-2) frac14 jj (t-1) frac14 jj (t) frac14 jj (t1) 8539 Jj (t2) und gut fügen Sie eine lowess (lowess - Sie kennen die Routine) fit for fun. Lässt Unterschied die protokollierten Daten und nennen es dljj. Dann gut spielen mit dljj. Nun ein Histogramm und ein Q-Q-Diagramm, eine über die andere (aber auf eine schöne Art und Weise): Lets überprüfen Sie die Korrelationsstruktur von dljj mit verschiedenen Techniken. Zuerst betrachten wir ein Gitter von Streudiagrammen von dljj (t) versus verzögerten Werten. Die Linien sind eine Lowess-Passform und die Probe acf ist blau in der Box. Nun können wir einen Blick auf die ACF und PACF von dljj. Beachten Sie, dass die LAG-Achse in Häufigkeit ist. So dass 1,2,3,4,5 den Verzögerungen 4,8,12,16,20 entsprechen, da Frequenz4 hier vorliegt. Wenn Sie diese Art der Beschriftung nicht mögen, können Sie dljj in irgendeinem der oben durch ts (dljj, freq1) z. B. Acf (ts (dljj, freq1), 20) Bewegen Sie sich, versuchen wir eine strukturelle Zerlegung von log (jj) Trend Saison Fehler mit lowess. Wenn Sie die Residuen, z. B. theyre in dogtime. series, inspizieren wollen, 3. Die dritte Spalte der resultierenden Serie (die Saison - und Trendkomponenten sind in Spalten 1 und 2). Schauen Sie sich die ACF der Residuen, acf (dogtime. series, 3) die Residuen arent weiß-nicht einmal schließen. Sie können ein wenig (sehr wenig) besser mit einem lokalen saisonalen Fenster, im Gegensatz zu den globalen verwendet durch die Angabe von pro. Geben Sie stl für Details ein. Theres auch etwas, das StructTS genannt wird, das parametrische strukturelle Modelle passen wird. Wir verwenden diese Funktionen nicht im Text, wenn wir Strukturmodellierung in Kapitel 6 vorstellen, weil wir es vorziehen, unsere eigenen Programme zu verwenden. Loz Dies ist eine gute Zeit zu erklären. In der obigen ist Hund ein Objekt mit einer Menge von Dingen (Fachausdruck). Wenn Sie Hund eingeben. Youll sehen Sie die Komponenten, und wenn Sie schreiben Zusammenfassung (Hund) youll erhalten Sie eine kleine Zusammenfassung der Ergebnisse. Eine der Komponenten des Hundes ist time. series. Die die daraus resultierende Serie (Saison, Trend, Rest) enthält. Um diese Komponente des Objekthundes zu sehen. Sie Typ dogtime. series (und youll siehe 3-Serie, die letzte enthält die Residuen). Und das ist die Geschichte von. Youll sehen Sie mehr Beispiele, während wir entlang bewegen. Und nun gut tun ein Problem aus Kapitel 2. Wurden an die Regression log (jj) betatime alpha 1 Q1 alpha 2 Q2 alpha 3 Q3 alpha 4 Q4 epsilon, wo Qi ist ein Indikator für das Viertel i 1,2,3,4 passen . Dann die Residuen gut untersuchen. Sie können die Modellmatrix (mit den Dummy-Variablen) auf diese Weise anzeigen: Prüfen Sie nun, was passiert ist. Betrachten Sie ein Diagramm der Beobachtungen und ihrer angepassten Werte: was zeigt, dass ein Plot der Daten mit dem überlagerten Fit den Cyberspace nicht wert ist. Aber ein Plot der Residuen und der ACF der Residuen ist sein Gewicht in Joules wert: Werden diese Residuen weiß aussehen Ignorieren Sie die 0-Lag-Korrelation, die immer 1. Hinweis: Die Antwort ist NEIN. So dass die Regression oben ist nugatory. Also, was ist das Heilmittel Sorry, youll haben, um die Klasse zu nehmen, weil dies nicht eine Lehre in Zeitreihen ist. Ich habe dich an der Spitze gewarnt. Sie müssen vorsichtig sein, wenn Sie eine Zeitreihe auf verzögerte Komponenten eines anderen mit lm () regressieren. Es gibt ein Paket namens dynlm, das es einfach macht, verlagerte Regressionen, und Ill zu behandeln, dass direkt nach diesem Beispiel. Wenn Sie lm () verwenden. Dann, was Sie tun müssen, ist die Reihe zusammen mit ts. intersect binden. Wenn Sie nicht die Reihe zusammen binden, werden sie nicht richtig ausgerichtet. Heres ein Beispiel regressive wöchentliche Herz-Kreislauf-Mortalität (cmort) auf Partikel-Verschmutzung (Teil) zum derzeitigen Wert und lag vier Wochen (etwa einen Monat). Einzelheiten zum Datensatz finden Sie in Kapitel 2. Achten Sie darauf, dass astsa geladen ist. Hinweis: Es war nicht notwendig, die Verzögerung (Teil, -4) auf part4 umzubenennen. Es ist nur ein Beispiel für das, was Sie tun können. Eine Alternative dazu ist das Paket dynlm, das natürlich installiert werden muss (wie bei astsa dort oben). Nachdem das Paket installiert ist, können Sie das vorherige Beispiel wie folgt ausführen: Nun, seine Zeit zu simulieren. Das Arbeitspferd für ARIMA-Simulationen ist arima. sim (). Hier sind einige Beispiele keine Ausgabe wird hier gezeigt, so dass Sie auf eigene Faust. Mit astsa seine leicht zu einem ARIMA-Modell passen: Vielleicht fragen Sie sich über den Unterschied zwischen aic und AIC oben. Dafür müssen Sie den Text lesen oder einfach keine Sorgen darüber, weil es nicht wert ruiniert Ihren Tag darüber nachzudenken. Und ja, die Reste sehen weiß aus. Wenn Sie ARIMA Prognose machen wollen, ist sarima. for in astsa enthalten. Und nun für einige Regression mit autokorrelierten Fehlern. Wäre das Modell M t alpha betat gammaP t e t, wo M t und P t die Mortalität (cmort) und Partikel (Teil-) Serie sind, und e t autokorrelierter Fehler. Zuerst eine OLS passen und überprüfen Sie die Residuen: Jetzt passen das Modell Die Restanalyse (nicht gezeigt) sieht perfekt. Heres ein ARMAX-Modell, M t beta 0 phi 1 M t-1 phi 2 M t-2 beta 1 t beta 2 T t-1 beta 3 P t beta 4 P t-4 e t. Wobei e t möglicherweise autokorreliert wird. Zuerst versuchen wir und ARMAX (p2, q0), dann schauen Sie sich die Residuen und realisieren theres keine Korrelation links, so getan wurden. Schließlich eine Spektralanalyse schnell: Das ist alles für jetzt. Wenn Sie mehr auf Zeitreihen Grafiken wollen, siehe die Grafik Quick Fix page. Re: R Moving Durchschnitt Auf Thu, 16 Jun 2005 08:04:18 -0400 (EDT) Bernard L. Dillard schrieb: GT Guten Morgen alle gt gt I Ich versuche, einen gleitenden Durchschnitt glatter auf einen Graph gt der täglichen Diagramme zu überlagern. Diese Grundstücke (in Tabelle, 2 unten) erstrecken sich über 350 Tage gt und sieht sehr laut aus. Id wie für diese glatter, die durchschnittliche gt jeder Gruppe von 7 aufeinander folgenden Tagen (wöchentlich) und zeigen eine Linie, die gt verbindet diese Serie von Durchschnitten. Angesichts der Definition von MA, werden die ersten gt und letzten Punkte in der Regel in der durchschnittlichen Berechnung überlappen. Gt gt Sein vermutlich ein Einzeiler, aber ich habe noch einige Probleme mit gt die Syntax. Das einzige Teil, das ich korrekt habe, ist die quotlinesquot Aussage, zum gt zu sorgen, daß es mein ursprüngliches Diagramm überlagert. Gt gt Heres den Code, den ich bis jetzt habe: gt gt y lt-table, 2 gt gotten (y, typequotlquot, lty3) gt lines (.) Mit dem Zoo-Paket können Sie Folgendes tun: library (zoo) create data x lt - rnorm (365) transformieren sich in reguläre Zoo-Reihen mit einem Datequot-Index x lt-zooreg (x, start als. Date (quot2004-01-01quot)) Diagramm (x) addieren Rolling / running / moving average mit Fenstergröße 7 Zeilen (rollmean (X, 7), col 2, lwd 2), wenn Sie nicht wollen, dass das rollende Mittel, sondern eher eine wöchentliche Zeitreihe von Mitteln, die Sie als nächstes tun können (x) 7 Decke (als. Numerisch (x - 1) / 7 ) AlsDat (1) xw lt-Aggregat (x, nextfri, mean) nextfri ist eine Funktion, die für einen bestimmten quotDatequot den nächsten Freitag berechnet. Xw ist dann die wöchentliche Serie. Zeilen (xw, col 4) Beachten Sie, dass der Unterschied zwischen dem Rollmittel und der aggregierten Reihe auf unterschiedliche Ausrichtungen zurückzuführen ist. Dies kann durch Ändern des align - Arguments in rollmean () oder der nextfri () - Funktion im aggregierten Aufruf geändert werden. Dieses Archiv wurde von hypermail 2.1.8 generiert. Fr 03 Mär 2006 - 03:32:43 EST


No comments:

Post a Comment