PHP: Дисперсия и стандартное отклонение

Пример расчёта дисперсии и стандартного отклонения для набора данных из массива.



$lostNumbers = [ 4, 8, 15, 16, 23, 42 ];

$count = sizeof( $lostNumbers );
$average = array_sum( $lostNumbers ) / $count;

$dispersion = array_sum( 
	array_map(function( $value ) use ($average): int // Наследуем переменную $average с указанием типа
	{
		return pow( ( $value - $average ), 2 );
	}, $lostNumbers )
) / $count;
$standardDeviation = sqrt( $dispersion );

echo '<pre>', var_dump( 
	round( $dispersion, 3 ),
	round( $standardDeviation, 3 )
) ,'</pre>';
// float(151.667)
// float(12.315)



PHP просмотров: 84