Voting

: one plus five?
(Example: nine)

The Note You're Voting On

tripollite at gmail dot com
13 years ago
Function to calculate square of value - mean

<?php
function sd_square($x, $mean) { return pow($x - $mean,2); }
?>

Function to calculate standard deviation (uses sd_square)
<?php
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)) );
}
?>

works better if you don't add +1 to the count

standard deviation of a constant must be 0 ( http://en.wikipedia.org/wiki/Standard_deviation )

different way :
<?php
class Tmath{
public static function
variance($data, $round = 2)
{
if(
count($data) == 0 )
return
NULL;
$total_ecart = 0;
$moyenne = self::moyenne($data, 10*$round);
if(
$moyenne == 0)
return
0;
foreach(
$data as $element)
{
$total_ecart += pow($element, 2);
}
return
round($total_ecart/count($data) - pow($moyenne,2),$round);
}
public static function
ecartType($data, $round = 2)
{
return
round(sqrt(self::variance($data,10*$round)),2);
}
public static function
moyenne($data, $round = 2)
{
if(
count($data) == 0 )
return
NULL;
return
round(array_sum($data)/count($data),$round) ;
}
}
?>

<< Back to user notes page

To Top