概要
閲覧数:1825
投稿日:2014-05-03
更新日:2014-05-05
PECLライブラリに入っている関数
コード
$data = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$result = stats_standard_deviation($data);
var_dump($result); //float(31.84399472428)
/******************************************************************
* 標準偏差取得
*****************************************************************/
function stats_standard_deviation($ary) {
// 平均取得
$avg = array_sum($ary)/count($ary);
// 各値の平均値との差の二乗【(値-平均値)^2】を算出
$diff_ary = array();
foreach ($ary as $val) {
$diff = $val-$avg;
$diff_ary[] = pow($diff,2);
}
// 上記差の二乗の合計を算出
$diff_total = array_sum($diff_ary);
// 平均を算出
$diff_avg = $diff_total/count($diff_ary);
// 平方根を取る(標準偏差)
$stdev = sqrt($diff_avg);
// 標準偏差を返す
return $stdev;
}結果
float(2.872281323269)