2016-04-08 2 views
0

У меня есть массив из 1000 поплавков, все между 0 и 1. Я хочу показать их на гистограмме, где выделяются самые высокие 10 значений.Преобразование нормального распределения в линейный

Проблема заключается в том, что мои данные, как правило, распределены, то есть много значений 0.999943 и 0.99902. Так что, если я рисую все значения, вы не увидите четкие вершины 10.

Какую функцию я могу передать значениям массива, чтобы преувеличить дисперсию на более высоком конце диапазона?

ответ

1

С 0 < Your data < 1, а как насчет использования Math.log10 для расчета базы 10 логарифмов ваших данных?

Например, Math.log10(0.999943) = -0.000024755491006670377 в то время как Math.log10(0.99902) = -0.00042581727682710913, а затем, если вы хотите, вы можете множественный результат с 100000 и получить результат -2.4 и -42, дисперсия преувеличена и их отношения не изменились, потому что log10 является монотонно возрастающая функция.

0

Для любой непрерывной случайной вариации X с кумулятивной функцией распределения F (x) преобразование наблюдений F (x) делает их равномерно распределенными между нулем и единицей. Выражая ту же идею немного концептуально по-другому, представьте значения p, а не необработанные наблюдения, чтобы выделить экстремальные значения.

Это имеет преимущество, если, например, если преобразованное значение превышает 0,95, вы можете прямо заявить, что это наблюдение находится в верхних 5% распределения.

+0

Спасибо за ответ @pjs, но я боюсь, что это выше меня! – Seano

Смежные вопросы