2016-04-08 5 views
0

Ich habe ein Array von etwa 1000 Gleitkommazahlen, alle zwischen 0 und 1. Ich möchte sie in einem Balkendiagramm zeigen, wo die höchsten 10 Werte deutlich hervorstechen.Umwandlung einer Normalverteilung nach Linear

Das Problem ist, dass meine Daten normal verteilt erscheinen, d. H., Es gibt eine Menge von 0.999943 und 0.99902 Werten. Also, wenn ich alle Werte grafisch darstelle, werden Sie nicht klar die Top 10 sehen.

Welche Art von Funktion kann ich übergeben die Array-Werte durch, um die Varianz am oberen Ende des Bereichs zu übertreiben?

Antwort

1

Seit 0 < Your data < 1, was ist mit der Verwendung von Math.log10 zur Berechnung der Basis 10 Logarithmus Ihrer Daten?

Zum Beispiel Math.log10(0.999943) = -0.000024755491006670377 während Math.log10(0.99902) = -0.00042581727682710913, dann, wenn Sie möchten, können Sie mehr das Ergebnis mit 100000 und erhält das Ergebnis -2.4 und -42, die Varianz ist übertrieben und ihre Beziehung nicht verändert, weil log10 eine monoton wachsende Funktion ist.

0

Für jede kontinuierliche Zufallsvariable X mit kumulativer Verteilungsfunktion F (x) werden die Beobachtungen durch F (x) gleichmäßig zwischen Null und Eins verteilt. Die gleiche Idee auf eine etwas konzeptionell andere Weise ausdrücken, präsentieren die p-Werte eher als die rohen Beobachtungen, um die extremen Werte hervorzuheben.

Dies hat den Vorteil, dass, wenn der transformierte Wert beispielsweise über 0,95 liegt, Sie direkt angeben können, dass diese Beobachtung in den oberen 5% der Verteilung liegt.

+0

Danke für die Antwort @pjs, aber ich fürchte, das ist über mir! – Seano