stats_standard_deviation

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Jeff Gardner

    stats_standard_deviation

    Does anyone have more details on stats_standard_ deviation than the
    manual provides?
    --

    Regards,

    Jeff Gardner
    _______________ ____________

    "Contrary to popular belief, Unix is user friendly. It just happens
    to be very selective about who its friends are." --Kyle Hearn
  • Erwin Moller

    #2
    Re: stats_standard_ deviation

    Jeff Gardner wrote:
    Does anyone have more details on stats_standard_ deviation than the
    manual provides?
    Hi Jeff,

    The describtion is very bad indeed.

    Why use an undocumented (bad documented) function for such a simple thing?
    I would write my own implementation in such case.
    Calculation the SD is very straightforward .

    On the same page on www.php.net you can also find a contribution with a
    working example.

    [Source]


    function average($array) {
    $sum = array_sum($arra y);
    $count = count($array);
    return $sum/$count;
    }

    //The average function can be use independantly but the deviation function
    uses the average function.

    function deviation ($array){

    $avg = average($array) ;
    foreach ($array as $value) {
    $variance[] = pow($value-$avg, 2);
    }
    $deviation = sqrt(average($v ariance));
    return $deviation;
    }

    Regards,
    Erwin Moller



    Comment

    • NC

      #3
      Re: stats_standard_ deviation

      Jeff Gardner wrote:
      >
      Does anyone have more details on stats_standard_ deviation
      than the manual provides?
      Why bother? Standard deviation is a really simple thing to
      compute:

      function stat_mean ($data) {
      return (array_sum($dat a) / count($data));
      }

      function stat_var ($data) {
      $n = count ($data);
      $mean = stat_mean ($data);
      $sum = 0;
      foreach ($data as $element) {
      $sum += pow (($element - $mean), 2);
      }
      return ($sum / ($n - 1));
      }

      function stat_stdev ($data) {
      return sqrt (stat_var($data ));
      }

      Cheers,
      NC

      Comment

      Working...