Saturday 1 July 2017

Umzugs Durchschnitt Iir Filter


Die Wissenschaftler und Ingenieure Leitfaden zur digitalen Signalverarbeitung Von Steven W. Smith, Ph. D. Kapitel 19: Rekursive Filter Die rekursive Methode Um die Diskussion über rekursive Filter zu starten, stellen Sie sich vor, dass Sie Informationen aus irgendeinem Signal extrahieren müssen, x. Ihr Bedarf ist so toll, dass Sie einen alten Mathematikprofessor anstellen, um die Daten für Sie zu verarbeiten. Die Professoren Aufgabe ist es, x zu filtern y, die hoffentlich enthält die Informationen, die Sie interessiert sind. Der Professor beginnt seine Arbeit der Berechnung jeder Punkt in y nach einem Algorithmus, der eng in seinem überentwickelten Gehirn gesperrt ist. Ein Teil durch die Aufgabe, ein unglückliches Ereignis tritt auf. Der Professor beginnt, über analytische Singularitäten und fraktionale Transformationen und andere Dämonen aus einem Mathematiker-Alptraum zu kämpfen. Es ist klar, dass der Professor seinen Verstand verloren hat. Sie sehen mit Angst, wie der Professor, und Ihr Algorithmus, werden von mehreren Männern in weißen Mänteln weggenommen. Sie verzweifeln die Professoren Notizen, um den Algorithmus zu finden, den er benutzt hat. Sie finden, dass er die Berechnung der Punkte y 0 bis y 27 abgeschlossen hatte und im Begriff war, auf Punkt y 28 zu beginnen. Wie in Abb. 19-1 werden wir die Variable, n. Stellen Sie den Punkt dar, der gerade berechnet wird. Dies bedeutet, dass yn die Abtastung 28 im Ausgangssignal ist, yn - 1 die Probe 27 ist, yn - 2 die Probe 26 usw. ist. Ebenso ist xn Punkt 28 im Eingangssignal, xn - 1 ist Punkt 27 usw. Zu verstehen Der Algorithmus verwendet wird, fragen wir uns: Welche Informationen wurden dem Professor zur Verfügung gestellt, um yn zu berechnen, die Probe, die derzeit bearbeitet wird. Die offensichtlichste Informationsquelle ist das Eingangssignal. Das heißt, die Werte: xn, xn - 1, xn - 2, 8230. Der Professor hätte jeden Punkt im Eingangssignal mit einem Koeffizienten multiplizieren und die Produkte zusammen addieren können: Man sollte erkennen, dass dies nichts mehr als einfach ist Faltung, mit den Koeffizienten: a 0. Ein 1. A 2 8230, bilden den Faltungskern. Wenn das alles war, was der Professor tat, würde es nicht viel Bedarf für diese Geschichte oder dieses Kapitel geben. Es gibt jedoch eine weitere Informationsquelle, auf die der Professor zugreifen konnte: die zuvor berechneten Werte des Ausgangssignals, die in: yn - 1, yn - 2, yn - 3, 8230 gehalten wurden. Mit diesen zusätzlichen Informationen wäre der Algorithmus In der Form: In Worten wird jeder Punkt im Ausgangssignal durch Multiplizieren der Werte aus dem Eingangssignal mit den a-Koeffizienten, Multiplizieren der vorher berechneten Werte aus dem Ausgangssignal mit den b Koeffizienten und Addition der Produkte zusammen. Beachten Sie, dass es keinen Wert für b 0 gibt. Da dies der zu berechnenden Probe entspricht. Gleichung 19-1 heißt die Rekursionsgleichung. Und Filter, die es verwenden, heißen rekursive Filter. Die a - und b-Werte, die den Filter definieren, werden die Rekursionskoeffizienten genannt. In der Praxis können nicht mehr als etwa ein Dutzend Rekursionskoeffizienten verwendet werden oder der Filter wird instabil (d. h. der Ausgang nimmt kontinuierlich zu oder oszilliert). Tabelle 19-1 zeigt ein Beispiel rekursives Filterprogramm. Rekursive Filter sind nützlich, weil sie eine längere Faltung umgehen. Zum Beispiel, was passiert, wenn eine Delta-Funktion durch einen rekursiven Filter geleitet wird. Der Ausgang ist die Filterimpulsantwort. Und wird typischerweise eine sinusförmige Oszillation sein, die exponentiell zerfällt. Da diese Impulsantwort in unendlich lange, rekursive Filter oft als unendliche Impulsantwort (IIR) - Filter bezeichnet werden. In der Tat, rekursive Filter falten das Eingangssignal mit einem sehr langen Filterkernel, obwohl nur wenige Koeffizienten beteiligt sind. Die Beziehung zwischen den Rekursionskoeffizienten und der Filterantwort wird durch eine mathematische Technik gegeben, die z-Transformation genannt wird. Das Thema von Kapitel 31. Beispielsweise kann die z-Transformation für solche Aufgaben wie: Umwandlung zwischen den Rekursionskoeffizienten und dem Frequenzgang verwendet werden, wobei kaskadierte und parallele Stufen in einem einzigen Filter kombiniert werden, wobei rekursive Systeme entworfen werden, die analoge Filter usw Leider ist die Z-Transformation sehr mathematisch und komplizierter als die meisten DSP-Benutzer bereit sind, damit umzugehen. Dies ist das Reich derer, die sich auf DSP spezialisieren. Es gibt drei Möglichkeiten, die Rekursionskoeffizienten zu finden, ohne die z-Transformation verstehen zu müssen. Zuerst liefert dieses Kapitel Designgleichungen für verschiedene Arten von einfachen rekursiven Filtern. Zweitens, Kapitel 20 bietet ein Kochbuch Computer-Programm für die Gestaltung der anspruchsvolleren Chebyshev Tiefpass-und Hochpass-Filter. Drittens beschreibt Kapitel 26 eine iterative Methode zum Entwerfen von rekursiven Filtern mit einem beliebigen Frequenzgang. Dieses Java-Applet ist eine Demonstration von digitalen Filtern. Sie sollten eine Rauschwellenform hören, wenn das Applet startet. Wenn du eine Nachricht bekommst, musst du Java 2 für Sound, dann solltest du das Java Plug-In bekommen. Das Applet startet mit einem Tiefpassfilter. Es zeigt den Frequenzgang des Filters, das Spektrum der gefilterten Wellenform, die gespielt wird, die Wellenform selbst und die Impulsantwort des Filters. Klicken Sie auf die Antwortkurve, um die Cutoff-Frequenz zu ändern. Die Frequenzantwort-Grafik zeigt die Filterantwort (vertikal, in dB, mit Zeilen in 10 dB Intervallen) gegenüber der Frequenz (horizontal dargestellt, mit vertikalen Linien, die Oktaven markieren). Das Spektrum zeigt das Spektrum der Tonausgabe an. Im Input-Popup-Menü können Sie eine Eingangswellenform auswählen. Die Auswahlmöglichkeiten sind: Noise Sine Wave - wählen Sie die Frequenz, indem Sie auf das Spektrum klicken. Sawtooth Wave Triangle Wave Square Wave Periodic Noise - Wählen Sie die Frequenz, indem Sie auf das Spektrum klicken. Sweep - eine Sinuswelle, die über das Frequenzspektrum mit einer einstellbaren Geschwindigkeit übertrifft. Impulse Verschiedene mp3-Dateien (Sie können Ihre eigene hinzufügen, indem Sie das Applet herunterladen und dann die Datei index. html bearbeiten) Im Popup-Menü Filter können Sie einen Filter auswählen. Siehe diese Seite für technische Details zu den Filtertypen. Die Auswahlmöglichkeiten sind: FIR Low-Pass - filtert hohe Frequenzen aus (alles unterhalb der Cutoff-Frequenz, die durch Anklicken des Antwortgraphen mit der Maus einstellbar ist). FIR High-Pass - filtert niedrige Frequenzen aus. FIR Bandpass - filtert alles außer einer Reihe von Frequenzen aus. Verwenden Sie die Schieberegler Mittenfrequenz und Passbandbreite, um den Bereich anzupassen. FIR Band-Stop - filtert eine Reihe von Frequenzen aus. Hier sind einige einstellbare Parameter, die die Qualität der FIR-Filter beeinflussen: die Anzahl der Punkte, die Sie mit dem Order-Regler einstellen können (mehr Punkte ist besser) und das Fenster, das Sie mit dem Fenster-Popup auswählen. Ein FIR-Filter wird durch seine Impulsantwort definiert, die Sie am unteren Rand des Fensters ansehen können. Um die Fensterfunktion anzuzeigen, wählen Sie FIR Tiefpass. Setzen Sie die Cutoff-Frequenz in der Nähe von Null und schauen Sie sich die Impulsantwort an. Custom FIR - zeichnen Sie auf dem Frequenzgang-Diagramm, um Ihren eigenen Filter anzugeben. Die tatsächliche Antwort, die in rot dargestellt wird, wird durch das Order-Schieberegler und das Fenster-Popup beeinflusst. Keiner - keine Filterung Butterworth Tiefpass - ein Flachfilter, der hohe Frequenzen herausfiltert Butterworth Hochpass - ein flacher Filter, der niedrige Frequenzen herausfiltert Butterworth Bandpass - ein flacher Filter, der Frequenzen außerhalb einer bestimmten Band filtert Butterworth Band - Stopp - ein flacher Filter, der Frequenzen innerhalb eines bestimmten Bandes herausfiltert Chebyshev Low-Pass - ein Tiefpassfilter mit einer einstellbaren Menge an Welligkeit im Passband Chebyshev High-Pass, Bandpass, Band-Stop Inv Cheby Low-Pass - inverse Chebyshev (auch bekannt als Chebyshev Typ II), ein Tiefpassfilter mit flachem Passband, aber eine einstellbare Menge an Welligkeit im Stopband Inv Cheby High-Pass, Bandpass, Band-Stop Elliptic Low-Pass - ( Auch bekannt als Cauer) ein Tiefpassfilter mit einstellbarer Wellenlänge im Durchlaufband und Stoppband. Wenn Sie die Übergangsbandbreite einstellen, ändert sich die Stoppbanddämpfung. Elliptischer Hochpass, Bandpass, Band-Stop-Kamm () - dieser Filter (auf Lärm verwendet) klingt wie jemand, der in eine Tube bläst. Kamm (-) - das ist ein Schlauch mit einem Ende bedeckt. Verzögerung - ein Echo-Filter (das gleiche wie ein Kammfilter, aber mit längeren Verzögerungen) Zupfinstring-Filter - Wenn das Input-Popup auf Impulse gesetzt ist, klingt das wie ein String, der gezupft wird. Inverse Comb Reson - Resonanz bei einer Frequenz Reson W Zeros - ein Reson-Filter mit Nullen bei 0 und die Hälfte der Abtastrate hinzugefügt Notch - filtert einen engen Frequenzbereich aus Moving Average - ein einfacher FIR-Versuch eines Tiefpassfilters. Dieser Filter (wenn er auf Rauschen verwendet wird) erinnert mich an einen Atari 2600. Dreieck Allpass - passiert alle Frequenzen gleichermaßen, aber mit unterschiedlicher Phasenverzögerung. Verwenden Sie das Menü "Phase Response" im Menü "Ansicht", um die Phasenreaktion anzuzeigen. Bei niedrigen Frequenzen wirkt dieser Filter als Bruchverzögerung (eine Verzögerung von weniger als einer Probe). Gaussian - die Impulsantwort und der Frequenzgang sind beide Gauß-förmige Random Custom IIR - ziehen Sie die Pole und Nullen um, um den Filter zu wechseln. Mit dem Sampling Rate Popup können Sie die Abtastrate anzeigen oder ändern. Sie können nicht ändern, die Rate, wenn die Eingabe ein MP3 ist. Im Menü "Ansicht" können Sie die verschiedenen Ansichten ein - oder ausschalten. Die Log-Frequency Scale-Position, die den Frequenzgang mit einem logarithmischen Plot statt linear zeigt. Das Gesamte Waveform-Element wird die Wellenformsegmente horizontal komprimieren, so dass jeder in das Fenster passt, so dass alle Wellenformen angezeigt werden, aber das Fenster wird in der Regel nicht breit genug sein, um jede Probe separat zu zeigen. Das Ferris Plot Item zeigt ein Ferris Plot der Transferfunktion an. Bei der Anzeige des Frequenzganges zeigt das Applet nur den Teil des Spektrums von 0 bis zur Nyquistfrequenz (pi) an. Der Rest der Antwort bis zu 2pi ist nur ein Spiegelbild von diesem, und dann die Antwort wiederholt alle 2pi. Zum Beispiel ist hier ein Frequenzgang, wie im Applet angezeigt (bis zu pi): Hier ist die Antwort bis zu 4pi: Gute Bücher über digitale Filter: Steiglitz (große Intro zu DSP hat Info über Kammfilter, Resons, Zupfinstring ) Smith (herunterladbar) Winder Mitra Ich arbeite mit einer großen Menge an Zeitreihen. Diese Zeitreihen sind grundsätzlich Netzwerkmessungen, die alle 10 Minuten kommen, und einige von ihnen sind periodisch (d. h. die Bandbreite), während einige andere Arent (d. h. die Menge des Routing-Verkehrs). Ich möchte einen einfachen Algorithmus für eine Online-Ausreißer-Erkennung. Grundsätzlich möchte ich die ganze historische Daten für jede Zeitreihe im Speicher (oder auf Festplatte) behalten und ich möchte jeden Ausreißer in einem Live-Szenario erkennen (jedes Mal, wenn ein neues Sample erfasst wird). Was ist der beste Weg, um diese Ergebnisse zu erreichen Im derzeit mit einem gleitenden Durchschnitt, um etwas Lärm zu entfernen, aber dann was als nächstes Einfache Dinge wie Standardabweichung, verrückt. Gegen den ganzen Datensatz funktioniert nicht gut (ich kann nicht annehmen, dass die Zeitreihen stationär sind), und ich möchte etwas genaueres, idealerweise eine Black Box wie: double outlierdetection (double vector, double value) wobei vector das Array von doppelten enthält Die historischen Daten und der Rückgabewert ist die Anomalie für den neuen Stichprobenwert. Fragte am 2. August um 20:37 Ja, ich habe angenommen, dass die Frequenz bekannt und spezifiziert ist. Es gibt Methoden, um die Frequenz automatisch abzuschätzen, aber das würde die Funktion erheblich erschweren. Wenn du die Häufigkeit abschätzen musst, versuchst du, eine eigene Frage darüber zu stellen - und ich werde wahrscheinlich eine Antwort geben. Aber es braucht mehr Platz, als ich in einem Kommentar zur Verfügung habe. Ndash Rob Hyndman Eine gute Lösung wird mehrere Zutaten haben, einschließlich: Verwenden Sie eine resistente, bewegte Fenster glatt, um Nichtstationarität zu entfernen. Die ursprünglichen Daten so ausdrücken, dass die Reste in Bezug auf die Glattheit etwa symmetrisch verteilt sind. Angesichts der Natur Ihrer Daten, ist es wahrscheinlich, dass ihre Quadratwurzeln oder Logarithmen symmetrische Residuen geben würde. Tragen Sie Kontroll-Chart-Methoden, oder zumindest Kontrolle Diagramm Denken, um die Residuen. Soweit das letzte Mal geht, zeigt das Kontroll-Diagramm-Denken, dass herkömmliche Schwellen wie 2 SD oder das 1,5-fache des IQR jenseits der Quartile schlecht funktionieren, weil sie zu viele falsche Out-of-Control-Signale auslösen. Die Leute benutzen gewöhnlich 3 SD in der Kontrollkarte Arbeit, wo 2,5 (oder sogar 3) mal die IQR jenseits der Quartile wäre ein guter Ausgangspunkt. Ich habe mehr oder weniger die Art der Rob-Hyndmans-Lösung umrissen und dabei zwei Hauptpunkte hinzugefügt: das Potenzial, die Daten wiederzugeben und die Weisheit, bei der Signalisierung eines Ausreißers konservativer zu sein. Im nicht sicher, dass Loess ist gut für einen Online-Detektor, obwohl, weil es nicht gut funktioniert an den Endpunkten. Sie könnten stattdessen etwas so einfaches wie ein bewegliches Medianfilter verwenden (wie bei Tukeys resistenten Glättung). Wenn Ausreißer nicht in Bursts kommen, können Sie ein schmales Fenster benutzen (5 Datenpunkte, vielleicht, die nur mit einem Burst von 3 oder mehr Ausreißern innerhalb einer Gruppe von 5 brechen). Sobald Sie die Analyse durchgeführt haben, um eine gute Re-Expression der Daten zu bestimmen, ist es unwahrscheinlich, dass Sie den Re-Ausdruck ändern müssen. Daher muss Ihr Online-Detektor wirklich nur die aktuellsten Werte (das neueste Fenster) verweisen, weil es nicht die früheren Daten überhaupt verwenden wird. Wenn Sie wirklich lange Zeitreihen haben, können Sie weiter gehen, um Autokorrelation und Saisonalität zu analysieren (wie wiederkehrende tägliche oder wöchentliche Schwankungen), um das Verfahren zu verbessern. Antwortete Aug 26 10 at 18:02 John, 1.5 IQR ist Tukey39s ursprüngliche Empfehlung für die längsten Whiskers auf einem Boxplot und 3 IQR ist seine Empfehlung für die Markierung von Punkten als Quoten outliersquot (ein Riff auf einer beliebten 6039s Phrase). Dies ist in viele Boxplot-Algorithmen eingebaut. Die Empfehlung wird theoretisch in Hoaglin, Mosteller, amp Tukey, Understanding Robust und Exploratory Data Analysis analysiert. Ndash w huber 9830 Oct 9 12 at 21:38 Dies bestätigt Zeitreihendaten, die ich versucht habe zu analysieren. Fensterdurchschnitt und auch Fensterfensterabweichungen. ((X - avg) sd) gt 3 scheinen die Punkte zu sein, die ich als Ausreißer markieren möchte. Nun zumindest warnen als Ausreißer, ich fasse etwas höher als 10 sd als extreme Fehler Ausreißer. Das Problem, in das ich hineingehe, ist, was eine ideale Fensterlänge ist, die mit etwas zwischen 4-8 Datenpunkten spielt. Ndash NeoZenith Jun 29 16 um 8:00 Neo Ihre beste Wette kann sein, mit einer Teilmenge Ihrer Daten zu experimentieren und bestätigen Sie Ihre Schlussfolgerungen mit Tests auf dem Rest. Sie könnten auch eine formellere Cross-Validierung durchführen (aber aufgrund der Interdependenz aller Werte ist besondere Aufmerksamkeit mit Zeitreihendaten erforderlich). Ndash w huber 9830 Jun 29 16 at 12:10 (Diese Antwort antwortete auf eine doppelte (jetzt geschlossene) Frage bei Erkennung von herausragenden Ereignissen, die einige Daten in grafischer Form vorstellten.) Die Ausreißererkennung hängt von der Art der Daten und von dem ab, was du bist Sind bereit, über sie zu übernehmen. Allzweck-Methoden beruhen auf robusten Statistiken. Der Geist dieses Ansatzes besteht darin, den Großteil der Daten in einer Weise zu charakterisieren, die nicht von Ausreißern beeinflusst wird und dann auf irgendwelche individuellen Werte hinweist, die nicht in diese Charakterisierung passen. Weil dies eine Zeitreihe ist, fügt es die Komplikation hinzu, um die Ausreißer laufend zu ermitteln. Wenn dies geschehen soll, wenn die Serie entfaltet ist, dann dürfen wir nur ältere Daten für die Erkennung verwenden, nicht zukünftige Daten. Darüber hinaus möchten wir als Schutz gegen die vielen wiederholten Tests eine Methode verwenden, die eine sehr niedrige falsche hat Positive Rate. Diese Überlegungen schlagen vor, einen einfachen, robusten bewegten Fensterausreißertest über die Daten zu führen. Es gibt viele Möglichkeiten, aber eine einfache, leicht verständliche und leicht umsetzbare basiert auf einer laufenden MAD: median absolute Abweichung vom Median. Dies ist ein stark robustes Maß an Variation innerhalb der Daten, verglichen mit einer Standardabweichung. Eine ausgedehnte Spitze wäre mehrere MADs oder mehr größer als der Median. Es gibt noch etwas Tuning. Wie viel von einer Abweichung von der Masse der Daten sollte als outlying und wie weit zurück in der Zeit sollte man aussehen Lets verlassen diese als Parameter für Experimente. Heres a R-Implementierung auf Daten x (1,2, ldots, n) angewendet (mit n1150, um die Daten zu emulieren) mit entsprechenden Werten y: Angewendet auf einen Datensatz wie die in der Frage dargestellte rote Kurve ergibt sich das Ergebnis: Die Daten Sind rot dargestellt, das 30-Tage-Fenster von median5MAD-Schwellen in grau und die Ausreißer - die sind einfach die Datenwerte über der grauen Kurve - in schwarz. (Die Schwelle kann nur am Ende des Anfangsfensters berechnet werden. Für alle Daten innerhalb dieses Anfangsfensters wird die erste Schwelle verwendet: Das ist der Grund, warum die graue Kurve zwischen x0 und x30 flach ist.) Die Auswirkungen der Änderung der Parameter sind (A) Erhöhung des Wertes des Fensters neigt dazu, die graue Kurve zu glätten und (b) die Erhöhung der Schwelle erhöht die graue Kurve. Wenn man das kennt, kann man ein erstes Segment der Daten nehmen und schnell die Werte der Parameter identifizieren, die die auslaufenden Peaks am besten aus dem Rest der Daten teilen. Wenden Sie diese Parameterwerte an, um den Rest der Daten zu überprüfen. Wenn ein Diagramm zeigt, dass sich die Methode im Laufe der Zeit verschlechtert, bedeutet dies, dass sich die Daten der Daten ändern und die Parameter möglicherweise neu eingestellt werden müssen. Beachten Sie, wie wenig diese Methode von den Daten übernimmt: Sie müssen nicht normal verteilt sein, sie müssen keine Periodizität ausstellen, die sie nicht einmal nicht negativ sein müssen. Alles, was davon ausgeht, ist, dass sich die Daten in angemessener Weise über die Zeit verhalten und dass die äußeren Peaks sichtbar höher sind als der Rest der Daten. Wenn jemand experimentieren möchte (oder eine andere Lösung mit dem hier angebotenen vergleichen), hier ist der Code, den ich verwendet habe, um Daten wie die in der Frage gezeigten zu produzieren. Ich vermute, anspruchsvolle Zeitreihe Modell wird nicht für Sie arbeiten, weil der Zeit, die es braucht, um Ausreißer mit dieser Methode zu erkennen. Daher ist hier ein Workaround: Erstens eine Basislinie normalen Verkehrsmuster für ein Jahr auf der Grundlage der manuellen Analyse der historischen Daten, die für die Zeit des Tages, Wochentag vs Wochenende, Monat des Jahres etc. verwenden. Verwenden Sie diese Grundlinie zusammen mit einigen einfachen Mechanismus (ZB gleitender Durchschnitt von Carlos vorgeschlagen), um Ausreißer zu erkennen. Sie können auch die statistische Prozesskontrollliteratur für einige Ideen überprüfen. Ja, das ist genau das, was ich tue: bis jetzt habe ich das Signal manuell in Perioden aufgeteilt, so dass für jeden von ihnen kann ich ein Konfidenzintervall definieren, in dem das Signal stationär sein soll, und deshalb kann ich Standardmethoden verwenden Als Standardabweichung. Das eigentliche Problem ist, dass ich das erwartete Muster für alle Signale, die ich zu analysieren habe, nicht entscheiden kann, und warum suchst du etwas Intelligenteres. Ndash gianluca Aug 2 10 at 21:37 Hier ist eine Idee: Schritt 1: Implementieren und Schätzen eines generischen Zeitreihenmodells auf einer einmaligen Basis basierend auf historischen Daten. Dies kann offline erfolgen. Schritt 2: Verwenden Sie das resultierende Modell, um Ausreißer zu erkennen. Schritt 3: Bei einer gewissen Frequenz (vielleicht jeden Monat) das Zeitreihenmodell neu kalibrieren (dies kann offline geschehen), so dass Ihr Schritt 2 Erkennung von Ausreißern nicht zu viel aus dem Schritt mit aktuellen Verkehrsmustern geht. Würde das für deinen Kontext arbeiten ndash user28 Aug 2 10 um 22:24 Ja, das könnte funktionieren. Ich dachte an einen ähnlichen Ansatz (Replizierung der Grundlinie jede Woche, die CPU-intensiv sein kann, wenn Sie Hunderte von univariate Zeitreihen zu analysieren haben). BTW die echte schwierige Frage ist quotwhat ist der beste Blackbox-Stil Algorithmus für die Modellierung eines völlig generischen Signal, unter Berücksichtigung von Lärm, Trend Schätzung und Saisonalität. AFAIK, jeder Ansatz in der Literatur erfordert eine wirklich harte quotparameter tuningquot Phase, und die einzige automatische Methode, die ich gefunden habe, ist ein ARIMA Modell von Hyndman (robjhyndmansoftwareforecast). Bin ich vermisse etwas ndash gianluca Auch hier geht es gut gut, wenn das Signal soll eine Saisonalität wie das haben, aber wenn ich eine ganz andere Zeitreihe (dh die durchschnittliche TCP Rundreise Zeit im Laufe der Zeit verwenden ), Wird diese Methode nicht funktionieren (da es besser wäre, diese mit einem einfachen globalen Mittelwert und Standardabweichung mit einem Schiebefenster mit historischen Daten zu behandeln). Wenn Sie bereit sind, ein allgemeines Zeitreihenmodell (das in seine Nachteile in Bezug auf Latenz usw. bringt) zu implementieren, bin ich pessimistisch, dass Sie eine allgemeine Implementierung finden, die zur gleichen Zeit einfach genug ist. Deutsch:. Englisch: v3.espacenet. com/textdoc? DB = EPODOC & ... PN = Für alle möglichen Zeitreihen arbeiten. Ndash user28 Aug 2 10 at 22:06 Ein weiterer Kommentar: Ich kenne eine gute Antwort könnte auch sein, du könntest die Periodizität des Signals abschätzen und den Algorithmus nach itquot entscheiden, aber ich habe keine echte gute Lösung für dieses andere gefunden Problem (ich spielte ein bisschen mit Spektralanalyse mit DFT und Zeitanalyse mit der Autokorrelationsfunktion, aber meine Zeitreihe enthält viel Lärm und solche Methoden geben einige verrückte Ergebnisse die meisten der Zeit) ndash gianluca Aug 2 10 um 22:06 A Kommentieren Sie zu Ihrem letzten Kommentar: that39s warum I39m auf der Suche nach einem generischeren Ansatz, aber ich brauche eine Art von quadratischen boxquot, weil ich canuldt irgendeine Annahme über das analysierte Signal machen kann, und deshalb kann ich den Questsatz für den Lernalgorithmus erstellen. Ndash gianluca Aug 2 10 at 22:09 Da es sich um eine Zeitreihe handelt, wird ein einfacher Exponentialfilter en. wikipedia. orgwikiExponentialsmoothing die Daten glätten. Es ist ein sehr guter Filter, da Sie nicht brauchen, um alte Datenpunkte zu akkumulieren. Vergleichen Sie jeden neu geglätteten Datenwert mit seinem ungehinderten Wert. Sobald die Abweichung eine bestimmte vordefinierte Schwelle überschreitet (je nachdem, was Sie glauben, dass ein Ausreißer in Ihren Daten ist), dann kann Ihr Ausreißer leicht erkannt werden. Beantwortet Apr 30 15 at 8:50 Du könntest die Standardabweichung der letzten N Messungen verwenden (du musst eine passende N auswählen). Eine gute Anomalie Ergebnis wäre, wie viele Standardabweichungen eine Messung aus dem gleitenden Durchschnitt ist. Beantwortet am 2. August 10 um 20:48 Vielen Dank für Ihre Antwort, aber was ist, wenn das Signal eine hohe Saisonalität aufweist (dh viele Netzwerkmessungen zeichnen sich durch ein tägliches und wöchentliches Muster zur gleichen Zeit aus, zB Nacht vs Tag oder Wochenende Vs Arbeitstage) Ein Ansatz, der auf Standardabweichung basiert, funktioniert in diesem Fall nicht. Ndash gianluca Zum Beispiel, wenn ich eine neue Probe alle 10 Minuten zu bekommen, und I39m eine Ausreißer Erkennung der Netzwerk-Bandbreite Nutzung eines Unternehmens, im Grunde um 18 Uhr diese Maßnahme wird fallen (dies ist ein erwartet Ein total normales Muster), und eine Standardabweichung, die über ein Schiebefenster berechnet wird, wird fehlschlagen (weil es eine Warnung sicher auslöst). Zur gleichen Zeit, wenn die Maßnahme um 4pm abfällt (abweichend von der üblichen Grundlinie), ist dies ein echter Ausreißer. Ndash gianluca Was ich tue, gruppiere die Messungen um Stunde und Wochentag und vergleiche Standardabweichungen davon. Immer noch nicht korrigieren Dinge wie Feiertage und Sommerwinter Saisonalität aber seine korrekte die meiste Zeit. Der Nachteil ist, dass Sie wirklich brauchen, um ein Jahr oder so von Daten zu sammeln, um genug zu sammeln, damit stddev beginnt Sinn zu machen. Spektralanalyse erkennt Periodizität in stationären Zeitreihen. Der Frequenzbereich Ansatz auf der Grundlage der spektralen Dichte Schätzung ist ein Ansatz, den ich als Ihren ersten Schritt empfehlen würde. Wenn für bestimmte Perioden Unregelmäßigkeit eine viel höhere Spitze als für diese Zeit typisch ist, dann wäre die Reihe mit solchen Unregelmäßigkeiten nicht stationär und die spektrale Anlsyse wäre nicht angemessen. Aber vorausgesetzt, Sie haben die Periode identifiziert, die die Unregelmäßigkeiten aufweist, die Sie in der Lage sein sollten, ungefähr zu bestimmen, was die normale Höhepunkthöhe sein würde, und kann dann eine Schwelle auf irgendeinem Niveau über diesem Durchschnitt setzen, um die unregelmäßigen Fälle zu bezeichnen. Antwortete am 3. September um 14:59 Ich schlage vor, das Schema unten, die sollte implementiert werden in einem Tag oder so: Sammeln Sie so viele Samples, wie Sie im Speicher halten können Entfernen Sie offensichtliche Ausreißer mit der Standardabweichung für jedes Attribut Berechnen und speichern Sie die Korrelationsmatrix Und auch der Mittelwert jedes Attributes Berechnen und speichern Sie die Mahalanobis Entfernungen aller Ihrer Proben Berechnen Ausreißer: Für die einzelne Probe, von der Sie wissen wollen, ihre Ausreißer: Abrufen der Mittel, Kovarianz Matrix und Mahalanobis Abstand s aus der Ausbildung Berechnen Sie die Mahalanobis Abstand d Für deine Probe Rückgabe des Perzentils, in dem d fällt (unter Verwendung der Mahalanobis-Distanzen vom Training) Das wird dein Outlier-Score sein: 100 ist ein extremer Ausreißer. PS Bei der Berechnung der Mahalanobis Entfernung. Verwenden Sie die Korrelationsmatrix, nicht die Kovarianzmatrix. Dies ist robuster, wenn die Probenmessungen in Einheit und Anzahl variieren.

No comments:

Post a Comment