The 7th Annual China PHP Conference

stats_skew

(PECL stats >= 1.0.0)

stats_skew配列内のデータの歪度を計算する

説明

stats_skew ( array $a ) : float

a に含まれる値の歪度を返します。

パラメータ

a

入力配列

返り値

a に含まれる値の歪度。 a が空の場合、または、配列ではない場合は FALSE を返します。

add a note add a note

User Contributed Notes 1 note

up
0
Angel J. Salinas
3 years ago
If you don't have the php_stats library, you can use this implementation:

  public static function getSkewness( $values )
  {
    $numValues = count( $values );
    if ( $numValues == 0 ) {
      return 0.0;
    }
   
    // Use function from php_stats library if available
    if ( function_exists( 'stats_skew' ) ) {
      return stats_skew( $values );
    }
   
    $mean = array_sum( $values ) / floatval( $numValues );
   
    $add2 = 0.0;
    $add3 = 0.0;
    foreach ( $values as $value ) {
      if ( ! is_numeric( $value ) ) {
        return false;
      }
   
      $dif = $value - $mean;
      $add2 += ( $dif * $dif );
      $add3 += ( $dif * $dif * $dif );
     
    } // foreach values
   
    $variance = $add2 / floatval( $numValues );
   
    return ( $add3 / floatval( $numValues ) ) / pow( $variance, 3 / 2.0  );
  }
To Top