Solución:
para calcular la media que puedes hacer:
$mean = array_sum($array)/count($array)
la desviación estándar es así:
// Function to calculate square of value - mean
function sd_square($x, $mean) { return pow($x - $mean,2); }
// Function to calculate standard deviation (uses sd_square)
function sd($array) {
// square root of sum of squares devided by N-1
return sqrt(array_sum(array_map("sd_square", $array, array_fill(0,count($array), (array_sum($array) / count($array)) ) ) ) / (count($array)-1) );
}
directamente de esta página
¿Qué tal usar el paquete de estadísticas integrado como stats_standard_deviation y stats_harmonic_mean? No puedo encontrar una función para los medios estándar, pero si sabe algo sobre estadísticas, estoy seguro de que puede averiguar algo usando las funciones integradas.
function standard_deviation($aValues)
{
$fMean = array_sum($aValues) / count($aValues);
//print_r($fMean);
$fVariance = 0.0;
foreach ($aValues as $i)
{
$fVariance += pow($i - $fMean, 2);
}
$size = count($aValues) - 1;
return (float) sqrt($fVariance)/sqrt($size);
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)