概要
閲覧数:1723
投稿日:2014-05-05
更新日:2014-05-05
平均値、分散、標準偏差を求める
コード
class calc { /* * 平均値を求める */ public static function average(array $values) { return (float) (array_sum($values) / count($values)); } /* * 分散を求める * 分散 =((データ-平均値)の2乗)の総和 ÷ 個数 */ public static function variance(array $values) { // 平均値を求める $ave = self::average($values); $variance = 0.0; foreach ($values as $val) { $variance += pow($val - $ave, 2); } return (float) ($variance / count($values)); } /* * 標準偏差を求める */ public static function standard_deviation(array $values) { // 分散を求める $variance = self::variance($values); // 分散の平方根 return (float) sqrt($variance); } } // 計算対象のデータ $values = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // 平均値を求める var_dump(calc::average($values)); // float 5.5 // 分散を求める var_dump(calc::variance($values)); // float 8.25 // 標準偏差を求める var_dump(calc::standard_deviation($values)); // float 2.872281323269
結果
float(5.5) float(8.25) float(2.872281323269)