Frage:
Berechnung des Durchschnittswerts ohne Berücksichtigung von Ausreißern
Max
2011-05-16 19:01:19 UTC
view on stackexchange narkive permalink

Dies ist eher eine allgemeine Statistikfrage. Wenn es jedoch darauf ankommt, schreibe ich PHP-Code.

Nehmen wir an, ich versuche, den Durchschnittswert eines Spielzeugs zu berechnen, das üblicherweise gekauft und verkauft wird auf dem Sekundärmarkt, und ich habe eine Reihe von Preiswerten, die sowohl aus Auktionen als auch aus vom Benutzer eingegebenen "Preis bezahlt" -Daten ermittelt wurden. Die Datenpunkte, die Auktionen darstellen, sind ziemlich zuverlässig, aber ich bekomme auch gelegentlich Datenpunkte vom Typ "Flohmarkt", bei denen jemand einen Dollar bezahlt hat, um bei einem Flohmarkt etwas von Tante Polly zu kaufen. Das Problem ist, dass die Datenpunkte vom Typ $ 1 für mich nicht wirklich wertvoll sind, da sie keinen wirklichen Wert anzeigen - Tante Polly wusste es nicht besser und kümmerte sich nicht darum. In ähnlicher Weise kann es vorkommen, dass ich gelegentlich einen Datenpunkt von einem Witzbold bekomme, der $ 9000 für ein Spielzeug eingibt, das wirklich nur $9 wert ist.

Also, beim Rechnen Wert, was ist der beste Weg, um diese Arten von Anomalien aus ansonsten nützlichen Daten herauszuarbeiten?

Ich habe über Ausreißer gelesen und etwas darüber, im Allgemeinen alles zu ignorieren, was mehr als 2,5 Standardabweichungen außerhalb des Restes der Daten beträgt Daten, aber ich suche hier nach dem vollständigen Rezept.

Vielen Dank!

Das vollständige Rezept ist, dass Sie die Eingabe steuern können. Das solltest du tun. Überprüfen Sie die Antworten oder fordern Sie numerische Antworten an. Das Hinzufügen eines Kommentarfelds kann eine wertvolle Qualifikation für Preise darstellen, die Sie anschließend überprüfen können.
Ich bin wirklich auf der Suche nach einer statistischen Lösung, aber trotzdem danke.
FYI, _outlier_ ist ein gültiger wissenschaftlicher Begriff.
Fünf antworten:
Nick Sabbe
2011-05-16 19:22:43 UTC
view on stackexchange narkive permalink

In Boxplots werden Werte, die mehr als das 1,5-fache des IQR (Interquartilbereich, Differenz zwischen Quartil 1 und 3) von den Quartilen entfernt sind (wie in: Richtung vom Median entfernt), normalerweise als Ausreißer betrachtet.

Ich kann jedoch nicht sagen, ob dies eine geeignete Maßnahme für Ihre Daten ist ...

Dies ist der richtige Ansatz. Das Kriterium ist normalerweise 1,5 IQRs von den * Quartilen * entfernt, nicht vom Median. Siehe zum Beispiel Tukeys * EDA * -Text. (Ich glaube, er hat diese Regel ins Leben gerufen, die er in einem Papier, das irgendwo in seinen gesammelten Werken vergraben ist, genau analysiert.) Es wird angemessen, wenn die Daten zum ersten Mal so ausgedrückt werden, dass die Verteilung ungefähr symmetrisch zu ihrem Median ist. Einfache Möglichkeiten zum Bestimmen eines erneuten Ausdrucks finden Sie unter * EDA * * op. cit. *
mark999
2011-05-17 00:10:28 UTC
view on stackexchange narkive permalink

Sie können einen getrimmten Mittelwert verwenden. Dies würde bedeuten, dass beispielsweise die höchsten 10% der Werte und die niedrigsten 10% der Werte verworfen werden, unabhängig davon, ob Sie sie für schlecht halten.

Gekürzte Mittel sind eine gute Idee, um der Notwendigkeit einer robusten Statistik gerecht zu werden. Aber sollte das OP mit nur 10% Trimmen zufrieden sein? Vielleicht wäre 20% Trimmen besser? Dieses Denken bringt uns ziemlich schnell zu einem Extrem, wenn wir nur den Median angeben (ein um 50% reduzierter Mittelwert). Das andere Extrem ist die Analyse von Ausreißern, die Ablehnung von Ausreißern und die Neubewertung der gewünschten Statistiken.
Ich bin nicht gerade ein Experte, aber nur die höchsten und niedrigsten 10% herauszuwerfen, klingt ganz anders als das Herauswerfen von Werten, die eindeutig anomal sind. Wenn ich hundert Werte habe, die ungefähr dort liegen, wo ich sie erwarten würde, warum sollte ich dann einen von ihnen kürzen wollen? Es sind nur die ein oder zwei im linken Feld, die ich fangen und wegwerfen möchte ...
@whuber Ich habe gerade 10% als Beispiel verwendet. Ich weiß nicht, was die beste Wahl wäre oder wie "am besten" definiert würde. @Max Ich weiß nicht, dass gekürzte Mittel definitiv gut für Ihre Situation sind, aber zumindest wären Sie konsequent und vermeiden subjektive Entscheidungen darüber, was verworfen werden soll.
@Max Die Idee ist, dass das Entfernen einiger Werte an beiden Enden der Daten Ihre Einschätzung, wo die meisten Werte liegen, wahrscheinlich nicht beeinflusst, unabhängig davon, ob das, was Sie wegwerfen, ein Ausreißer ist oder nicht. Ich drücke diesen Punkt nur ein wenig aus, weiß, wie schlecht Webdaten sein können, und schlage einen noch einfacheren Ansatz vor, den mittleren Wert zur Schätzung Ihres typischen Preises zu verwenden: Das ist dasselbe, als alle bis auf einen einzigen Wert "wegzuwerfen"! Sie können sich auch eine eng verwandte Statistik ansehen, den [Winsorized Mean] (http://en.wikipedia.org/wiki/Winsorized_mean).
Tom Gullen
2011-05-16 19:13:38 UTC
view on stackexchange narkive permalink

Ich habe dies ursprünglich auf SO gepostet, bevor es gelöscht wurde:

https://stats.stackexchange.com/ wird Ihnen wahrscheinlich dabei helfen und mehr geben umfassende Antwort. Ich bin kein Mathematiker, aber ich vermute, dass es mehrere Möglichkeiten gibt, dieses Problem zu lösen.

Als Programmierer würde ich das Problem auf diese Weise angehen. Ich bin nicht geschickt genug, um Ihnen zu sagen, ob dies richtig ist, aber für einfache Daten sollte es akzeptabel sein.

Abhängig von der Art der Daten kann es akzeptabel sein, abgeschnittene Mengen zu haben. Sie werden wahrscheinlich einen gleitenden Durchschnitt (häufig an den Aktienmärkten verwendet) wünschen, der den Durchschnittspreis der letzten n Monate ermittelt. Dies hilft, die Auswirkungen der Inflation zu negieren, und dann einen $ n Cuttoff oder einen Prozentsatz Basierend auf dem Cutoff, dh jeder Wert, der + -20% oder + - $ n vom gleitenden Durchschnitt abweicht, wird ignoriert.

Dies würde für relativ stabile Märkte recht gut funktionieren Wenn Ihr Unternehmen in einem volatilen Markt existiert, der stark schwankt, möchten Sie wahrscheinlich einen anderen Ansatz finden.

Sie müssen auch ernsthaft darüber nachdenken, Daten abzuschneiden. Sie erwähnen Omas Hofverkauf, der wohl eine legitime Kürzung darstellt aus, aber Sie müssen akzeptieren, dass Sie wahrscheinlich auch legitime Datenpunkte verlieren, die sich erheblich auf Ihre Ergebnisse auswirken können.

Aber auch hier gibt es mehrere Möglichkeiten, dies zu erreichen.

Der Datensatz, mit dem ich arbeite, repräsentiert die Daten der letzten 6 Monate, sodass bereits viel vorhanden ist. Und danke für die Hilfe, aber ich suche wirklich nach einer statistischen Lösung.
Thies Heidecke
2011-05-16 23:31:09 UTC
view on stackexchange narkive permalink

Vielleicht könnte hier ein robuster Schätzer wie RANSAC verwendet werden.

IrishStat
2011-05-16 23:58:16 UTC
view on stackexchange narkive permalink

hoffe, dies hilft

Einfache Ansätze, wie hier vorgeschlagen, scheitern oft an ihrer mangelnden Allgemeinheit. Im Allgemeinen haben Sie möglicherweise eine Serie mit mehreren Trends und / oder mehreren Ebenen. Um Anomalien zu erkennen, müssen Sie diese Effekte "kontrollieren". Zusätzlich kann es einen saisonalen Effekt geben, der möglicherweise in den letzten k Perioden begonnen hat und in den ersten n-k Werten nicht vorhanden ist. Kommen wir nun zum Kern des Problems. Angenommen, die Daten enthalten keine mittleren Verschiebungen / keine Trendänderungen / keine saisonale Pulsstruktur. Die Daten können autokorreliert sein, wodurch die einfache Standardabweichung abhängig von der Art der Autokorrelation über- oder unterschätzt wird. Das mögliche Vorhandensein von Impulsen, saisonalen Impulsen, Pegelverschiebungen und / oder lokalen Zeittrends verschleiert die Identifizierung der "Ausnahmen". Die Verwendung einer "schlechten Standardabweichung" zum Versuch, Anomalien zu identifizieren, ist fehlerhaft, da es sich um einen Test außerhalb des Modells im Vergleich zu einem "In-Modell-Test" handelt, der letztendlich verwendet wird, um auf die statistische Signifikanz der Anomilien zu schließen. Sie können Google "Wie man statistische Interventionserkennung durchführt", um Quellen / Software zu finden, die dies tun.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...