Frage

Wir haben eine Anwendung, in der Nutzer die Preise den ganzen Tag ein. Diese Preise in einer Tabelle festgehalten werden mit einem Zeitstempel und dann verwendet zur Herstellung von Diagrammen, wie der Preis bewegt hat ... Hin und wieder gibt der Benutzer einen Preis zu Unrecht (z. B. bringt eine Null zu viele oder zu wenige), die etwas verdirbt das Diagramm (Sie große Spitzen bekommen). Wir haben sogar in einem zusätzlichen Bestätigungsdialog, wenn der Preis bewegt sich um mehr als 20% setzen, aber dies nicht stoppen sie falsche Werte eingeben ...

Welche statistische Methode kann ich die Werte zu analysieren, bevor ich sie Diagramm alle Werte auszuschließen, die Art und Weise anders als der Rest sind?

EDIT: , um etwas Fleisch auf die Knochen hinzuzufügen. Sagen Sie die Preise Aktienkurse sind (sie sind nicht, aber sie in der gleichen Art und Weise verhalten). Man konnte sehen, die Preise deutlich nach oben oder unten im Laufe des Tages zu bewegen. An einem durchschnittlichen Tag erfassen wir über 150 Preise und manchmal ein oder zwei sind Art und Weise falsch. Andere Zeiten, sie sind alle gut ...

War es hilfreich?

Lösung

Berechnen und verfolgen die Standardabweichung für eine Weile. Nachdem Sie einen anständigen Rückstand haben, können Sie die Ausreißer außer Acht lassen, indem sehen, wie viele Standardabweichungen entfernt sie vom Mittelwert sind. Noch besser, wenn Sie die Zeit haben, können Sie die Informationen verwenden, um einige naive Bayes-Klassifizierung zu tun .

Andere Tipps

Das ist eine große Frage, aber kann ziemlich viel Diskussion führen, wie die Antworten sehr unterschiedlich sein können. Es hängt davon ab

  • , wie viel Mühe Sie bereit sind, in diese zu setzen?

  • könnten einige Antworten wirklich um +/- 20% abweichen oder was auch immer testen Sie erfinden? so wird es immer einige menschliche Eingriffe benötigen werden?

  • und einen entsprechenden Test zu erfinden ich brauchen würde, weit mehr über das Thema wissen.

Dass gesagt wird die folgenden sind mögliche Alternativen.

  • Ein einfacher Test gegen den vorherigen Wert (oder mittleren / Modus vorhergehender 10 oder 20 Werte) gerade nach vorne zu implementieren

  • Die nächste Stufe der Komplexität einige statistische Messung aller Werte (oder vorherigen x-Werte oder Werte der letzten 3 Monate), eine normale oder Gauß-Verteilung würde ermöglichen es Ihnen bedeuten würde jeder Wert ein gewisses Maß an Sicherheit geben wie es ein Fehler vs. genau zu sein. Dieser Grad an Sicherheit würde in der Regel als Prozentsatz ausgedrückt werden.

Siehe http://en.wikipedia.org/wiki/Normal_distribution und http://en.wikipedia.org/wiki/Gaussian_function gibt es ausreichend Links von diesen Seiten zu helfen, in dieser Programmierung, auch in Abhängigkeit von der Sprache sind Sie verwenden es wahrscheinlich, Funktionen und / oder Plugins zur Verfügung stehen dabei helfen

  • Eine erweiterte Methode eine Art könnte den Lernalgorithmus zu haben, die anderen Parameter berücksichtigt wird (auf den letzten x-Werte) ein Lernalgorithmus, den Produkttyp oder Hersteller zu berücksichtigen, könnte sie nehmen, zum Beispiel. Oder sogar die Tageszeit überwachen oder den Benutzer, dass die Zahl eingegeben hat. Diese Option scheint sehr übertrieben für das, was Sie jedoch benötigen, wäre es viel Arbeit erfordern es zu codieren und auch den Lernalgorithmus zu trainieren.

Ich denke, die zweite Option die richtige für Sie ist. Unter Verwendung von Standardabweichung (viele Sprachen eine Funktion für diese enthält) kann eine einfachere Alternative sein, das ist einfach ein Maß dafür, wie weit der Wert aus dem Mittelwert von x früheren Werten abgewichen ist, würde ich die Standardabweichung Option setze irgendwo zwischen Option 1 und 2

Sie können die Standardabweichung in der vorhandenen Population messen und diejenigen, die größer als 1 oder 2 Standardabweichungen vom Mittelwert aus?

Es wird auf abhängen, was Ihre Daten sieht aus wie eine genauere Antwort geben ...

oder einen gleitenden Durchschnitt der Preise grafisch darstellt anstelle der tatsächlichen Preise.

Zitiert von hier :

Statistiker haben zur Erkennung von Ausreißern mehrere Methoden entwickelt. Alle Methoden zunächst quantifizieren, wie weit die Ausreißer von den anderen Werten ist. Dies kann die Differenz zwischen dem Ausreißer und dem Mittelwert aller Punkte sein, die Differenz zwischen dem Ausreißer und dem Mittelwert der restlichen Werte, oder der Differenz zwischen dem Ausreißer und dem nächstliegenden Wert. Als nächstes standardisieren, indem ein gewisses Maß an Streuung, wie die SD aller Werte, die SD der übrigen Werte, oder der Bereich der Daten dieser Wert durch Division. Schließlich berechnen einen P-Wert der Beantwortung dieser Frage: Wenn alle Werte wirklich von einer Gaußschen Bevölkerung abgetastet wurden, was ist die Chance, zufällig einen Ausreißer so weit von den anderen Werten zu erhalten? Wenn der P-Wert klein ist, schließen Sie, dass die Abweichung des Ausreißer von den anderen Werten statistisch signifikant ist.

Google ist dein Freund, wissen Sie. ;)

Für Ihre spezielle Frage von Plotten , und Ihr spezielles Szenario von durchschnittlich 1-2 Fehlern pro Tag von 150, die einfachste Sache könnte sein, plotten Mittel getrimmt oder der Bereich des mittleren 95% der Werte, oder so ähnlich. Es hängt wirklich davon ab, welchen Wert Sie wollen aus dem Grundstück.

Wenn Sie wirklich besorgt mit dem wahren max und gilt für einen Tag die Preise sind, dann müssen Sie mit den Ausreißern als Ausreißer umgehen, und sie richtig ausschließen, wahrscheinlich einer der Ausreißer-Tests unter Verwendung von zuvor vorgeschlagen (Datenpunkt x% mehr als nächster Punkt oder die letzten n Punkte oder mehr als 5 Standardabweichungen vom Tagesmittel entfernt). Ein weiterer Ansatz ist zu sehen, was nach dem Ausreißer passiert. Wenn es ein Ausreißer ist, dann wird es einen starken Aufschwung durch einen starken Einbruch gefolgt hat.

Wenn Sie jedoch kümmern sich um allgemeinen Trend, Plotten getrimmten täglichen Mittelwert, Median, 5% und 95% Perzentile wird die Geschichte gut darzustellen.

Wählen Sie Ihre Anzeigemethoden und wie viel Ausreißererkennung müssen Sie tun basiert auf der Analyse Frage . Wenn Sie sich über Mediane oder Perzentile kümmern, sind sie wahrscheinlich nicht relevant.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top