Exemplo n.º 1
0
 /**
  * KURT
  *
  * Returns the kurtosis of a data set. Kurtosis characterizes the relative peakedness
  * or flatness of a distribution compared with the normal distribution. Positive
  * kurtosis indicates a relatively peaked distribution. Negative kurtosis indicates a
  * relatively flat distribution.
  *
  * @param	array	Data Series
  * @return  float
  */
 public static function KURT()
 {
     $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
     $mean = PHPExcel_Calculation_Functions::AVERAGE($aArgs);
     $stdDev = PHPExcel_Calculation_Functions::STDEV($aArgs);
     if ($stdDev > 0) {
         $count = $summer = 0;
         // Loop through arguments
         foreach ($aArgs as $arg) {
             // Is it a numeric value?
             if (is_numeric($arg) && !is_string($arg)) {
                 $summer += pow(($arg - $mean) / $stdDev, 4);
                 ++$count;
             }
         }
         // Return
         if ($count > 3) {
             return $summer * ($count * ($count + 1) / (($count - 1) * ($count - 2) * ($count - 3))) - 3 * pow($count - 1, 2) / (($count - 2) * ($count - 3));
         }
     }
     return self::$_errorCodes['divisionbyzero'];
 }