Monday 20 February 2017

Moving Average Matlab 2013a

Ich brauche Hilfe bei der Aufnahme der folgenden Daten, die in einer großen Matrix organisiert ist und die Mittelung aller Werte, die eine übereinstimmende ID (Index) haben und die Ausgabe einer anderen Matrix mit nur der ID und dem gemittelten Wert, dass es zu verfolgen. Lassen Sie sich nicht von den Beispielen irreführen, die ich gepostet habe, dass die erste Zahl für etwa 15 Zeilen wiederholt wird, dann ändert sich die ID und das geht für eine ganze Reihe von verschiedenen IDs, dann werden sie als ganze Gruppe wiederholt, denke ersten Block von Code 1 2 3 1 5 9 2 5 7 2 4 6 dann wiederholt sich der Code mit unterschiedlichen Werten für die Spalten außer dem Index. Der Hauptunterschied besteht darin, die Werte, die die ID, die ich brauchen, um durchschnittlich in Matlab und die Ausgabe einer sauberen Matrix mit nur einer von jeder ID vollständig gemittelt für alle Vorkommen dieser ID. Vielen Dank für jede Hilfe gegeben. Ich muss einen gleitenden Durchschnitt über eine Datenreihe innerhalb einer for-Schleife berechnen. Ich muss den gleitenden Durchschnitt über N9 Tage erhalten. Das Array Im-Berechnen ist 4 Reihe von 365 Werten (M), die selbst Mittelwerte eines anderen Satzes von Daten sind. Ich möchte die Mittelwerte meiner Daten mit dem gleitenden Durchschnitt in einem Diagramm darstellen. Ich googeln ein wenig über gleitende Durchschnitte und den conv Befehl und fand etwas, das ich versuchte, in meinem Code umzusetzen: So grundsätzlich berechne ich meinen Durchschnitt und plot ihn mit einem (falschen) gleitenden Durchschnitt. Ich wählte die wts Wert direkt an der Mathworks-Website, so dass ist falsch. (Quelle: mathworks. nlhelpeconmoving-average-trend-estimation. html) Mein Problem aber ist, dass ich nicht verstehe, was dieses wts ist. Könnte jemand erklären, wenn es etwas mit den Gewichten der Werte zu tun hat: das ist in diesem Fall ungültig. Alle Werte werden gleich gewichtet. Und wenn ich das völlig falsch mache, könnte ich etwas Hilfe dabei haben Mein aufrichtigster Dank. Die Verwendung von conv ist eine hervorragende Möglichkeit, einen gleitenden Durchschnitt zu implementieren. In dem Code, den Sie verwenden, ist wts, wie viel Sie jeden Wert wiegen (wie Sie ahnen). Die Summe dieses Vektors sollte immer gleich Eins sein. Wenn Sie jeden Wert gleichmäßig gewichten und eine Größe N bewegten Filter dann tun möchten, würden Sie tun möchten Mit dem gültigen Argument in conv wird mit weniger Werten in Ms, als Sie in M ​​haben. Verwenden Sie diese, wenn Sie dont die Auswirkungen von Nullpolsterung. Wenn Sie die Signalverarbeitung Toolbox haben, können Sie cconv verwenden, wenn Sie einen kreisförmigen gleitenden Durchschnitt ausprobieren möchten. Etwas wie Sie sollten die conv und cconv Dokumentation für weitere Informationen lesen, wenn Sie havent bereits. Sie können Filter verwenden, um einen laufenden Durchschnitt zu finden, ohne eine for-Schleife zu verwenden. Dieses Beispiel findet den laufenden Durchschnitt eines 16-Element-Vektors unter Verwendung einer Fenstergröße von 5. 2) glatt als Teil der Curve Fitting Toolbox (die in den meisten Fällen verfügbar ist) yy glatt (y) glättet die Daten in dem Spaltenvektor Y unter Verwendung eines gleitenden Durchschnittsfilters. Die Ergebnisse werden im Spaltenvektor yy zurückgegeben. Die Standardspanne für den gleitenden Durchschnitt ist 5. Die MVGC Multivariate Granger Kausalität Matlabreg Toolbox Die MVGC Matlabreg Toolbox wurde entwickelt, um die Granger-Kausalanalyse mit multivariaten und möglicherweise mehrstufigen Zeitreihendaten zu vereinfachen. Es ist nicht Black-Box-Software. Es gibt keine GUI, sondern eine Reihe von Funktionen entwickelt, um in Ihrem eigenen Matlabreg Programme verwendet werden. Es gibt kommentierte Demonstrations-Skripte, die als Vorlagen zur Unterstützung dieser Aufgabe verwendet werden können. Die Toolbox verwendet einen neuartigen, genauen und hocheffizienten Ansatz für die numerische Berechnung und die statistische Schlußfolgerung der Granger-Kausalität, bedingte und unbedingte, sowohl im Zeit - als auch im Frequenzbereich, wie in dem begleitenden Referenzdokument 1 beschrieben. Die Toolbox soll den beliebten Granger ersetzen Causal Connectivity Analysis (GCCA) Toolbox, und weitgehend subsumes, erweitert und erweitert GCCA-Funktionalität. Die Software wird entwickelt und gepflegt von Lionel Barnett am Sackler Zentrum für Bewusstseinswissenschaften (SCCS), Universität von Sussex. Unterstützt von der Dr. Mortimer und Theresa Sackler Stiftung. Urheberrecht und Lizenzbestimmungen finden Sie am Ende dieser Seite. Systemvoraussetzungen Die MVGC Toolbox wurde größtenteils auf einem Linux x8664 (glnxa64) System mit Matlabreg Version R2011a mit der möglichen Ausnahme von einigen C Code (siehe unten) entwickelt und getestet und sollte weitgehend plattformunabhängig sein. Wir können jedoch nicht garantieren, dass die Toolbox ohne Probleme auf früheren oder späteren Versionen von Matlabreg läuft. Matlabreg Toolboxes: Die MVGC Toolbox benötigt die Statistics Toolbox8482 für einige wesentliche Funktionen. Das Steuersystem Toolbox8482 wird empfohlen, die Kern-MVGC-Funktion vartoautocov erfordert eine diskrete Zeit Lyapunov Gleichungslöser und, wenn installiert, wird die Control Syetem Toolbox Dlyap-Funktion verwenden (wenn dieser Link gearbeitet Sie haben es). Wenn nicht, ist die Standardeinstellung derzeit ein langsamer Matlabreg-scripted Solver. Ein schnellerer experimenteller Löser ist auch verfügbar vartoautocov für weitere Einzelheiten. Die spektrale Schätzroutine tsdatatocpsd benötigt die Signal Processing Toolbox8482. Aber nicht als wesentliche Funktionalität. Hilfe und Dokumentation Formatierte Referenzseiten für alle MVGC-Funktionen finden Sie im Funktionsreferenz-Abschnitt der MVGC-Hilfe im Matlab-Hilfsbrowser (beachten Sie in Matlabreg Version 2013a und später über den Link Ergänzende Software am unteren Rand der Hilfe Browser-Startseite). Es gibt auch eine Hilfsprogrammfunktion helpon, die diese Seiten im Hilfsbrowser anzeigt, um Hilfe zu einer MVGC-Funktion oder einem Skript namens. m zu erhalten. Geben Sie einfach gtgt helpon name an der Matlabreg-Eingabeaufforderung ein. (Leider unterstützt Matlab zurzeit keine kontextsensitive Hilfe für benutzerdefinierte Seiten.) Weitere Details und Theorie siehe Referenzdokument 1. und siehe auch die Dokumente. Docshtml und demo-Unterverzeichnisse des MVGC-Stammverzeichnisses. Die Release Notes sollten auch auf weitere relevante Informationen und aktuelle Änderungen an dieser Software überprüft werden. Erste Schritte Die MVGC Toolbox wird einfach durch Entpacken der Distributionsdatei in einem bequemen übergeordneten Verzeichnis installiert. Dadurch wird ein Unterverzeichnis namens mvgcversion erstellt. Das MVGC-Stammverzeichnis. Im übergeordneten Verzeichnis. In Matlabreg navigieren Sie zum MVGC-Stammverzeichnis und starten das Startskript, um die Toolbox zu intialisieren und die Toolbox-Hilfe und Dokumentation in das Matlabreg-Hilfesystem zu integrieren. Beachten Sie, dass nach der Installation das Startskript automatisch ausgeführt wird, wenn Matlabreg im MVGC-Stammverzeichnis gestartet wird. Der einfachste Weg, um mit der MVGC Toolbox zu beginnen, ist über die annotierten Demos im Demo-Unterverzeichnis des MVGC-Stammverzeichnisses, insbesondere das mvgcdemo-Skript. Diese können als Vorlagen für Ihren eigenen Code verwendet werden. Allerdings ist die MVGC-Toolbox nicht als Black-Box-Software zu betrachten. Für eine erfolgreiche Anwendung ist ein grundlegendes Verständnis der Prinzipien der Granger-Kausal-Inferenz und des Berechnungsansatzes der MVGC-Toolbox erforderlich. Es wird daher dringend empfohlen, dass der Benutzer einige Zeit in Anspruch nimmt, um das Referenzdokument 1 zu überprüfen. Dabei ist insbesondere auf Abschnitt 3 der Entwurfsprinzipien der MVGC Toolbox zu achten. Das Schema der MVGC-Rechenwege bietet einen nützlichen Überblick. Gemeinsame Variablennamen und Datenstrukturen Im Folgenden werden übliche Namen für Variablen und Datenstrukturen in der MVGC-Toolbox aufgeführt. Funktionsargumente Standardzeilenargumente, sofern vorhanden (die in der entsprechenden Funktionsreferenzseite angezeigt werden), können immer als leere Matrix eingegeben werden oder, für Zeichenfolgen, die leere Zeichenfolge. So könnte z. B. die Funktion vartoautocov aufgerufen werden, da String-Argumente immer zwischen Groß - und Kleinschreibung unterschieden werden. Die Toolbox unterstützt die Verwendung von Standard-Matlabreg-Syntax für fehlende Ausgabe-Argumente, die zu einer effizienteren Ausführung führen können. Zum Beispiel könnte die Funktion tsdatatovar aufgerufen werden, als ob nur die Ausgabe SIG erforderlich wäre, was zu einem schnelleren Code führt. Sonstiges Granger-Kausal-Analyse auf der Basis der VAR-Modellierung setzt voraus, dass die betreffenden Zeitreihendaten einen stationären (multivariaten) Prozess darstellen. Natürlich in der Praxis kann dies nicht eine haltbare Annahme sein. Eine Möglichkeit, dieses Problem, leicht implementierbar in der MVGC-Toolbox, zu bewältigen, besteht darin, dass die Zeitreihendaten, die Kausalanalyse auf (eventuell gleitenden) Kurzzeitsegmenten (Fenstern) der Daten, die hoffentlich nahe genug sind, ausgeführt werden stationär. Dieser Ansatz ist umso besser, wenn mehrfach synchronisierte Testdaten verfügbar sind. Es wird jedoch zwangsläufig ein Kompromiss zwischen der Zeitfenstergröße und der Qualität der statistischen Schlußfolgerung gegeben sein, wenn die resultierenden kleineren Datenproben erhalten werden. Das Demoskript mvgcdemononstationary zeigt, wie diese Technik in die Praxis umgesetzt werden. Wir bemerken, dass wir es nicht als die Rolle der MVGC Toolbox sehen, um Funktionalität für die Vorverarbeitung von Zeitreihendaten (z. B. zur Verbesserung der Stationarität) zur Verfügung zu stellen. In Bezug auf die Vorverarbeitung ist es jedoch eine Warnung wert, dass einige gemeinsame Vorverarbeitungsprozeduren, wie z. B. Filter, das Potential haben, die Granger-Kausal-Inferenz ernsthaft zu stören (siehe die Ausführungen im mvgcdemo-Skript) und darüber hinaus Zweifel an der Interpretation der Ergebnisse haben können . Unserer Ansicht nach sollte die Vorverarbeitung mit Trepidation gehandhabt und vorzugsweise auf einem Minimum gehalten werden, zum Beispiel um eine akzeptable Stationarität zu erreichen. Es sollte beachtet werden, dass trotz der Tatsache, dass (fast) jedes weitverbreitete stationäre multivariate stochastische Verfahren als VAR modelliert werden kann, dies nicht bedeutet, dass ein VAR notwendigerweise ein gutes (sparsames) Modell für Ihre Daten sein wird. (Z. B. tsdatatoinfocrit) kann ein Anzeichen dafür sein, dass ein VAR-Modell einfach ungeeignet ist (oder es kann auf Nicht-Stationarität hindeuten). Zum Beispiel erklärt die Theorie, dass ein VAR-Prozess eine exponentiell abklingende Autokovarianz auf lange Sicht hat. Wenn Ihre Daten ein Langzeitgedächtnis aufweisen (d. h. Leistungs-Autokovarianz-Zerfall), dann z. B. Ein gebrochenes ARIMA-Modell kann besser für Ihre Daten geeignet sein und VAR-basierte Granger-Kausal-Analyse ist wahrscheinlich nicht der Weg zu gehen. In ähnlicher Weise kann ein VARMA-Verfahren mit einer nicht-trivialen gleitenden durchschnittlichen Komponente eine übermäßig hohe Modellreihenfolge ergeben, wenn sie als VAR modelliert wird. Es wäre sicher angenehm, Granger-Kausalität direkt für solche Alternativmodelle berechnen zu können. Es gab einige Fortschritte in diesem Bereich, tatsächlich arbeiteten wir an uns selbst (siehe zB L. Barnett und T. Bossomaier, Transferentropie als log-likelihood ratio preprint, Phys. Rev. Lett. 109 (13), 2012) - aber das ist für eine zukünftige Version der Toolbox. GCCA Kompatibilitätsmodus Obwohl der MVGC nativen Ansatz zu Granger-Kausalitäts Berechnung wird offenbar empfohlen, ehemalige Nutzer des Granger-verursachende Connectivity Analysis (GCCA) Toolbox kann auf die mvgcdemoGCCA Skript zu verweisen wollen, die und erklärt Kompatibilitätsmodus Verwendung der MVGC Toolbox in GCCA demonstriert . Die MVGC Toolbox ist fast vollständig in Matlabreg Code geschrieben aus Effizienzgründen jedoch, einige Routinen in C codiert werden können (derzeit nur die genvar Funktion verwendet Test VAR-Daten zu erzeugen). Wenn entsprechende mex-Dateien für Ihre Plattform sind nicht in Ihrer Verteilung dieser Software enthalten (das Startskript wird eine Warnung ausgeben), sollten Sie versuchen, sie zu bauen, die mvgcmakemex Funktion. Im Allgemeinen ist eine fehlende MVGC mex Datei kein Show-Stopper ist jedoch (langsamer) Matlabreg-Skript-Code mit gleichwertigen Funktionen sollten immer verfügbar sein und automatisch aufgerufen. Anmerkung 1: Die Toolbox wird derzeit mit vorinstallierten und getesteten Mex-Dateien für 64-Bit-Unix (einschließlich Linux), Windows und Mac verteilt, da diese für uns die einzigen Testplattformen waren. Wenn Matlabreg auf dich stürzt, gibt es eine sehr gute Chance, dass eine vorgefertigte mex ist schuld. In diesem Fall (vorausgesetzt, Sie haben einen Matlabreg-kompatiblen C-Compiler zur Verfügung) sollten Sie versuchen, mvgcmakemex mit dem Forcerecompile-Flag gesetzt. Hinweis 2: Die vorgefertigten Windows-64-Bit-mex-Dateien wurden mit Microsoftreg Visual Studio 2010 kompiliert. Offensichtlich Code kompiliert mit diesem Compiler erfordert die Microsoftreg Visual Studio 2010-Laufzeitkomponenten. Es gibt nicht viel, was wir tun können, wenn Sie nicht Microsoftreg Visual Studio 2010 auf Ihrem 64-Bit-Windows-System installiert haben, können Sie die erforderlichen Komponenten von hier installieren. Oder erneut kompilieren die mex-Dateien mit einem anderen Compiler, wieder durch Ausführen von mvgcmakemex mit dem forcerecompile-Flag. Referenzen Hinweis: Wir in den Prozess mit offenem Zugang zur Herstellung dieser Publikation sind in der Zwischenzeit ist ein Andruck (in der Distribution enthalten) finden Sie hier (PDF-Format - Set Matlab Standard-Viewer in Datei - gt Einstellungen - gt - gt PDF Reader Hilfe ). Kontaktieren Sie die Autoren Für allgemeine Unterstützung Fragen, Kommentare, Fragen, Fehlerberichte und schlug vor, Verbesserungen, bitte m v g c t o o l b o x AT s u s s e x E-Mail. A c. U k. Wir würden gerne wissen, ob Sie die Toolbox in Ihrer Recherche nützlich gefunden haben. MVGC Toolbox v1.0. Kopie Lionel Barnett und Anil K. Seth, 2012. Siehe Lizenz license. txt für Lizenzbedingungen.


No comments:

Post a Comment