/** * Calculate standard deviation of array, by definition it is square root of variance * @param (array) $aValues * @return float */ function standard_deviation($aValues, $bSample = false) { $fVariance = variance($aValues, $bSample); return (float) sqrt($fVariance); }/** * Calculate Skewness and Kurtosis, two parameters are sent by reference, so be carefull * @param (array) $array, (reference float) &$skew, (reference float) &$kurt */ function skewnessandkurtosis($array, &$skew, &$kurt) { $skew = "N/A"; $kurt = "N/A"; $amount = count($array); if ($amount > 2) { for ($i = 0, $m2 =0,$m3=0,$m4=0; $i < $amount; $i++) { $array [$i] -= average($array); $m2 += pow($array[$i], 2); $m3 += pow($array[$i], 3); $m4 += pow($array[$i], 4); } $m2 /= $amount; $m3 /= $amount; $m4 /= $amount; $skew = $m3 / pow($m2, 1.5); $skew *= sqrt($amount*($amount-1))/ ($amount-2); if ($amount > 3) { $kurt = ($m4/ pow($m2, 2))-3; $kurt = (($amount+1)*$kurt)+6; $kurt *= ($amount-1)/(($amount-2)*($amount-3)); } } } ?>Happy PHP-ing 🙂