Zend - The PHP Company




Math

Add Code


Statistical Functions  

Type: code fragment
Added by: dhiranuntkhosnawit
Entered: 18/04/2001
Last modified: 04/12/2000
Rating: - (fewer than 3 votes)
Views: 5528
skewness , kurtosis and mean or average statistical function


<?php
/*
In this code fraction, there r 3 function that run on mean or average and skewness and kurtosis.
Program by : dhiranuntk@hotmail.com
Date : Feb.18,2001
*/

function mean(&$array) {
$average 0;
while (list(
$key$val)=each($array)) $average += $val;
reset($array);
$average /= count($array); 
return 
$average;
}
function 
skewnessandkurtosis($array, &$skew, &$kurt) {
$skew "N/A";
$kurt "N/A";
$amount count($array);
if (
$amount 2) {
for (
$i 0$m2 =0,$m3=0,$m4=0$i $amount$i++) {
$array [$i] -= mean($array);
$m2 += pow($array[$i], 2);
$m3 += pow($array[$i], 3);
$m4 += pow($array[$i], 4);
}
$m2 /= $amount;
$m3 /= $amount;
$m4 /= $amount;
$skew $m3 pow($m21.5);
$skew *= sqrt($amount*($amount-1))/ ($amount-2);
if (
$amount 3) {
$kurt = ($m4pow($m22))-3;
$kurt = (($amount+1)*$kurt)+6;
$kurt *= ($amount-1)/(($amount-2)*($amount-3));
}
}
}
?>


Usage Example


<?
$samplearray 
= array(1.8,1.9,1.2,1.5,1.7);
skewnessandkurtosis($samplearray$skew$kurt);
echo 
"<p>Data average = "mean($samplearray)."</p>";
echo 
"<p>skewness = $skew </p>";
echo 
"<p>kurtosis=$kurt</p>";
?>


Rate This Script





Search



This Category All Categories