probabilidad normal exponencial ejemplos distribuciones distribucion binomial perl statistics

perl - exponencial - distribucion normal



Módulo de distribución estadística de memoria eficiente (1)

Como mi búsqueda no ha tenido éxito hasta ahora, he comenzado un nuevo módulo Estadísticas :: Descriptivo :: LogScale . Espero que sea de ayuda.

Por lo general, sigue la API de Statistics :: Descriptive :: Full , con varias adiciones menores (como momentos agregados centrales y estandarizados de poderes arbitrarios). También planeo echar un vistazo más de cerca a Statistics :: Descriptive :: Weighted .

#!/usr/bin/perl -w use strict; use Statistics::Descriptive::LogScale; my $stat = Statistics::Descriptive::LogScale->new (); while(<>) { $stat->add_data(m/(-?/d+(?:/./d*))/g); }; # This can also be done in O(1) memory, precisely printf "Average: %f +- %f/n", $stat->mean, $stat->standard_deviation; # This requires storing actual data, or approximating foreach (0.5, 1, 5, 10, 25, 50, 75, 90, 95, 99, 99.5) { printf "Percentile($_): %f/n", $stat->percentile($_); };

Me gustaría analizar algunos datos (por ejemplo, tiempos de respuesta del servicio web) y obtener diversa información estadística, principalmente percentiles / cuantiles y presencia de valores sobresalientes.

Sé sobre Estadísticas :: Descriptivo , sin embargo, no quiero almacenar todos los datos en la memoria. Por otro lado, tener mis resultados en pocos% estaría bien, solo me importan las grandes diferencias.

Así que se me ocurrió la siguiente idea: crear una serie de cubos logarítmicos y contar los puntos de datos que caen en cada cubeta. Tener los datos repartidos en 6 órdenes de magnitud y una precisión garantizada del 1% me deja con 6 * log 10 / log 1.01 =~ 1400 cubos, lo que es perfectamente correcto (36 kb de memoria, dado el tamaño escalar actual de Perl).

El conteo de percentiles es simple: simplemente sume los contadores del cubo hasta que $sum exceda $percentage * $total_count .

Sin embargo, antes de comenzar a escribir el código real, me gustaría preguntar qué módulos estadísticos eficientes en la memoria (para Perl) y algoritmos ya existen.

He encontrado esta pregunta , y hay un método similar propuesto en una de las respuestas. Sin embargo, no hemos encontrado una implementación de Perl ya hecha.

Esta es una versión ligeramente editada de esta pregunta de Perlmonks .